/
Текст
КОМПЬЮТЕРНЫЕ СЕТИ
МОДЕРНИЗАЦИЯ И ПОИСК НЕИСПРАВНОСТЕЙ
О 2000 by Osborne/McGraw-Hill
© Перевод на русский язык "БХВ-Петербург", 2001
БЛАГОДАРНОСТИ
Крейгу Закеру
группе подготовки издания:
Главный редактор Екатерина Кондукова
Зав. редакцией Наталья Таркова
Перевод с английского Дмитрия Харламова
Редакторы: Анна Кузьмина, Евгений Васильев
Компьютерная верстка Натальи Смирновой
Корректор Наталия Першакова
Дизайн обложки Ангелины Лужиной
Зав. производством Николай Тверских
ОБЗОР КНИГИ
Книга известного эксперта по сетевым технологиям, автора и редактора многих
публикаций, К. Закера представляет собой полное руководство по созданию, конфигурированию и
обслуживанию локальных сетей. Подробно рассматриваются особенности применения
аппаратного и программного обеспечения, возможности различных версий сетевых
операционных систем Windows, Novell NetWare, UNIX и их компонентов, проводится детальный
разбор практически всех используемых ныне технологий и коммуникационных протоколов,
таких как Ethernet и Token Ring, от стандартов ранних версий до современных. Книга содер -
жит обзор популярных технических и программных решений для WWW, затрагивает взаимо -
действие локальных и глобальных сетей на всех уровнях. Также освещаются вопросы функ -
ционирования различных сетевых служб и сервисов (DNS, WINS, DHCP). Дается множество
полезных рекомендаций, которые будут интересны как профессионалам, так и новичкам.
ОБ АВТОРЕ
Крейг Закер, писатель, редактор и специалист в области сетевых технологий, чей опыт
работы с вычислительной техникой начинался в безмятежные дни телетайпов и бумажной
ленты. После перехода с мини-компьютеров на ПК, он работал администратором сетей
Novell NetWare и специалистом службы поддержки ПК, и в то же время был занят в
издательском бизнесе на этапе подготовки публикаций с помощью настольных издательских систем.
После получения ученой степени Магистра Английской и Американской литературы в NYU
Крейг принимал активное участие в интеграции Windows NT в существующие сетевые
комплексы NetWare и работал техническим редактором, автором и Web-мастером в онлайновой
службе крупной компании, занимающейся созданием и внедрением программного
обеспечения. После того как он полностью посвятил себя написанию и редактированию, Крейг стал
автором и внес определенный вклад в подготовку множества книг об операционных систе -
мах и справочников по сетевым технологиям, а также опубликовал свои статьи в передовых
компьютерных изданиях, включая Windows NT Magazine, где он является одним из
редакторов.
Сканирование и перевод книги в формат DJVu осуществил MESKO.
Электронный вариант данной книги предназначен исключительно для образовательных целей!
Введение
Организация работы сети вычислительных машин является очень
обширным предметом обсуждения, чем больше ты знаешь, тем яснее понимаешь,
что этих знаний недостаточно. Чтобы охватить все, что необходимо знать,
понадобится заполнить литературой целую библиотеку или, по крайней
мере, книжный шкаф хороших размеров. Отдельная книга не может вместить
всю требуемую информацию, но в этой книге предпринята попытка сделать
обзор сетевых технологий и дать основу, достаточную для того, чтобы
помочь вам начать понимать то, что происходит "внутри" вашей сети. Нужно
осознавать, какие процессы происходят в сети, чтобы иметь возможность
эффективно улучшать ее и восстанавливать.
□ Часть I описывает сетевые основы. Глава 1 разъясняет основные сетевые
термины и вводит некоторые фундаментальные понятия, сведения о
которых понадобятся при изучении следующих глав. Вы узнаете о
некоторых основных компонентах для построения сети и о том, как вообще
развивалась технология. Глава 2 знакомит с эталонной моделью OSI,
теоретическим инструментом, который делит сетевые функции,
выполняемые компьютером, на семь отдельных уровней. Эти уровни работают
вместе, чтобы позволить компьютеру эффективно взаимодействовать с
другими компьютерами в сети. В данной главе также состоится первое
беглое знакомство с технологиями, которые в дальнейшем будут
рассмотрены в книге более подробно.
□ Часть II описывает аппаратное обеспечение, используемое для
построения сети. В главе 3 рассмотрены платы сетевых адаптеров, которые
позволяют подключать компьютеры к сети. В это описание включены
различные типы плат, знание этих типов позволит приобрести плату,
удовлетворяющую аппаратной конфигурации компьютера, типу сети и роли
системы в сети. В главе 4 вы узнаете о типах кабеля, используемого при
формировании сети, для соединения компьютеров. Выбор типа кабеля
обуславливает то, насколько легким или сложным будет создание и
обслуживание сети, на какое расстояние может быть проложен кабель, и
какая производительность будет у сети. Глава 4 также рассматривает
стандарты, которыми следует руководствоваться при прокладке кабеля, и
некоторые из инструментов, необходимые для этого. Глава 5 описывает
другие аппаратные компоненты, которые могут понадобиться для
построения сети, например, повторители, концентраторы и мосты. Эти
устройства можно использовать для расширения сети и поддержки большего
количества рабочих станций и пользователей. В главе 6 рассматриваются
маршрутизаторы и коммутаторы, устройства высокого класса, которые
применяются для соединения сетей различного типа и повышения эф-
4
Введение
фективности работы сети. Из главы 7 вы узнаете о различных
технологиях, используемых для создания соединения глобальной сети, таких как
выделенные линии, ISDN и коммутация кадров.
□ Часть III рассказывает о протоколах, работающих на различных уровнях
эталонной модели OSI. В главе 8 рассматривается Ehternet, наиболее
популярный протокол канального уровня, используемый сегодня в мире.
Глава 9 посвящена другим протоколам-конкурентам, таким как Token
Ring и lOOVG-AnyLAN. В главе 10 обсуждаются высокоскоростные
технологии, служащие для создания сетевых магистралей, например, Fiber
Distributed Data Interface (FDDI), Gigabit Ethernet и Asynchronous Transfer
Mode (ATM). Глава 11 начинает обзор Сетевого и Транспортного
уровней, касаясь протоколов TCP/IP, используемых в Интернете и
подавляющем большинстве современных локальных сетей. В главе 12
рассматриваются запатентованные протоколы IPX, созданные фирмой Novell для
работы с операционной системой NetWare. В главе 13 вы узнаете о
протоколах NetBIOS, NetBEUI и Server Message Blocks (SMB), которые
являются неотъемлемыми компонентами сетей Windows.
□ В части IV рассматриваются сетевые аспекты наиболее популярных
операционных систем, используемых в сетях сегодня, таких как Windows NT
и Windows 2000 (глава 14), Novell NetWare (глава 15) и UNIX (глава 16).
Глава 17 описывает возможности клиентов, которые необходимы
рабочим станциям для доступа к ресурсам, принадлежащим компьютерам с
различными операционными системами. Например, в ней
рассказывается о том, как присоединить системы Macintosh и UNIX к сетям Windows
и NetWare.
□ В части V обсуждаются некоторые из наиболее важных
административных сервисов, используемых в современных сетях. Глава 18 охватывает
вопросы, касающиеся протокола DHCP, который служит для
автоматического конфигурирования клиентов TCP/IP в сети, а глава 19 описывает
службу имен WINS. Сети Windows NT используют WINS для разрешения
имен NetBIOS, которые известны системам Windows, в IP-адреса,
необходимые для взаимодействия в TCP/IP-сети. В главе 20 рассматривается
система доменных имен (DNS), применяемая в Интернете и частных
(private) TCP/IP-сетях для разрешения имен узлов в IP-адреса.
□ В части VI обсуждаются различные службы каталогов, используемые для
хранения информации о сетях, их пользователях и приложениях. Эти
службы включают Novell Directory Services (NDS), первую коммерчески
успешную корпоративную службу каталогов (глава 21), домены,
предназначенные для организации сетей Windows NT (глава 22), и Active Directory,
давно ожидаемую корпоративную службу каталогов от Microsoft, которая
включена в Windows 2000 (глава 23).
Введение
5
D Часть VII рассказывает, как улучшить сеть, добавив в нее некоторые из
наиболее широко используемых услуг, таких как World Wide Web и
серверы FTP (глава 24), сетевая печать (глава 25) и доступ в Интернет
(глава 26).
□ Часть VIII описывает средства и методы, которые можно использовать
для администрирования сети. Глава 27 касается методов
администрирования, специфичных для сетей Windows, а в главе 28 обсуждаются
сетевые средства управления и выявления неисправностей.
Эта книга представляет собой полный обзор сетевых основ и технологий,
включающий оборудование, протоколы, административные сервисы и
службы каталогов, а также методы администрирования. По этой причине данную
книгу можно воспринимать в разных качествах. Как справочник она
содержит информацию о широком диапазоне сетевых технологий. Ее
структурированная форма позволяет легко найти необходимый материал. В качестве
учебного пособия эта книга сначала рассматривает сетевые процессы
поверхностно, а затем углубляется в специфические детали наиболее важных
элементов сети. Как помощник администратора книга предоставляет
информацию, необходимую для освоения методов улучшения эффективности
работы сети и самостоятельного решения проблем, что позволяет избежать
затрат на услуги высокооплачиваемого эксперта.
Эта книга предназначена как для новичков, так и для опытных сетевых
профессионалов. Надеемся, что помимо применений, упомянутых выше,
она позволит вам узнать больше о компьютерных системах, которые вы
используете каждый день.
ЧАСТЬ I.
ВВЕДЕНИЕ В СЕТЕВЫЕ
ТЕХНОЛОГИИ
Глава 1
Что такое сеть?
Говоря просто, сеть (network) — это группа компьютеров, соединенных
между собой кабелем или какой-то другой средой передачи данных. Но
процессы, происходящие в сети, ни за что не назовешь простыми. Если
компьютеры имеют возможность обмениваться информацией, то они могут работать
сообща. Характер такой работы может быть различным: предоставление
ресурсов для совместного использования, распределение нагрузки при
выполнении определенной задачи или обмен сообщениями. В этой книге
подробно описывается, каким образом компьютеры в сети взаимодействуют друг с
другом, какие функции они при этом выполняют, а также рассматриваются
аспекты, связанные с созданием и обслуживанием компьютерных сетей.
Отправной точкой для осуществления возможности совместных вычислений
послужило распространение больших ЭВМ — мэйнфреймов, подключаемых к
нескольким терминалам, каждый из которых обслуживал отдельного
пользователя. На данном положении основывается обработка информации с
использованием мэйнфрейма. В свете этого утверждения, терминалы — просто
коммуникационные устройства, которые осуществляют передачу данных,
введенных с клавиатуры или полученных с другого устройства ввода, от
пользователя к ЭВМ. Принятые таким образом данные в дальнейшем
отображаются на экране терминала или печатаются на бумаге. Такой тип
терминальных устройств иногда называют "неинтеллектуальными" терминалами
(dumb terminal), так как вычисления на них не выполняются. В подобной
сети взаимодействие между терминалами и ЭВМ сравнительно несложное,
поскольку каждый терминал может контактировать только с одним
устройством — мэйнфреймом, а сами терминалы никогда не обмениваются
информацией друг с другом.
Локальные вычислительные сети
Время шло и технологии развивались. Инженеры начали соединять ЭВМ
уже друг с другом, так что они теперь могли взаимодействовать и между
собой. В то же время вычислительная техника становилась все меньше по
размерам и дешевела. Тем самым было положено начало развитию мини- и
микроЭВМ (микрокомпьютеров). Первые компьютерные сети использовали
одиночные линии связи, такие как телефонные провода, для соединения
8
Часть I. Введение в сетевые технологии
только двух отдельных компьютеров. В начале 80-х в магазинах появились
первые модели IBM PC, стремительно завоевавшие товарный рынок
микрокомпьютеров. Соответственно, преимущества совместной работы этих
небольших по размерам компьютеров, объединенных вместе, стали
очевидными. Компьютеры, связанные сетью, могли использовать всего один принтер,
что, по экономическим соображениям, гораздо предпочтительнее
оснащения каждого компьютера отдельным принтером. Когда же возникала
необходимость передачи файла от одного пользователя к другому, сеть позволяла
обходиться без привычных дискет. Проблема, тем не менее, оставалась.
И заключалась она в том, что соединить дюжину офисных компьютеров
одиночными двухточечными каналами связями было практически
невозможно. Окончательным решением этой проблемы стало появление
локальных вычислительных сетей (LAN, local area network).
Локальная вычислительная сеть, или, сокращенно, ЛВС — это группа
компьютеров, объединенных совместно используемой средой передачи данных,
как правило, кабелем. Используя единый кабель, каждый компьютер
требует только одной точки подключения к сети, при этом он может полноценно
взаимодействовать с любым другим компьютером в группе. Геометрически
ЛВС всегда ограничена по размерам небольшой площадью в силу
электрических свойств кабеля, используемого для построения сети, и относительно
небольшим количеством компьютеров, которые могут разделять одну
сетевую среду передачи данных. ЛВС обычно располагается в пределах одного
здания или, самое большее, нескольких близко расположенных зданий.
Некоторые технологии, такие как волоконная оптика, позволяют увеличить
длину линий ЛВС до одного или двух километров, но применение ЛВС для
соединения компьютеров, находящихся, например, в удаленных городах,
невозможно. Такое ограничение снимается применением глобальных
(территориально распределенных) сетей (WAN, wide area network), обсуждаемых в
этой главе далее.
В большинстве случаев ЛВС — это компьютерная сеть с узкополосной
передачей и коммутацией пакетов. Понимание терминов узкополосная передача
(baseband) и коммутация пакетов (packet switching), рассматриваемых в
следующих разделах, необходимо для получения представления об обработке
данных в сети, поскольку в понятиях этих терминов заключены базовые
принципы передачи информации через сетевую среду.
Сравнение узкополосных
и широкополосных сетей
Узкополосной локальной сетью называется такая сеть, в которой сетевой
кабель (или другая сетевая среда) может передавать только один сигнал в
любой момент времени. Широкополосная сеть, соответственно, способна
передавать несколько сигналов одновременно, используя для каждого из них
Глава 1. Что такое сеть?
9
свою частоту передачи. В качестве распространенного примера
широкополосной сети можно привести кабельное телевидение. Несмотря на то, что к
телевизору подключен только один кабель, для просмотра можно выбирать
любой из множества транслируемых каналов. Понятно, что если к системе
кабельного телевидения подключены два или более телевизора, это значит,
что сервисная служба установила устройство для разветвления одного
кабеля, подведенного к дому, на несколько комнат. А тот факт, что в одно и то
же время телевизоры, подключенные к одному кабелю, могут быть
настроены на разные программы, свидетельствует о том, что по кабелю
одновременно проходят сигналы различной частоты, своей для каждого канала.
Узкополосная сеть использует импульсы, передаваемые непосредственно в
сетевую среду, для создания простого сигнала, в котором в закодированной
форме представлены двоичные (бинарные) данные. В сравнении с
широкополосными сетями узкополосные могут быть протянуты на меньшие
расстояния ввиду потерь мощности сигнала, связанных с электрическими
помехами и другими факторами. Предельно допустимая длина отрезка кабеля
узкополосной сети уменьшается пропорционально падению - пропускной
способности. Вот почему протоколы локальных вычислительных сетей,
такие как Ethernet, требуют строгого соблюдения правил монтажа этих сетей.
Сравнение коммутации пакетов
и коммутации каналов
Локальные сети называются сетями с коммутацией пакетов (packet-switching
network) по той причине, что компьютеры, входящие в сеть, распределяют
данные на отдельные небольшие порции, называемые пакетами (packets),
непосредственно перед их передачей. Существует сходная технология,
называемая коммутацией ячеек (cell switching), которая отличается от коммутации
пакетов только стабильным, постоянным размером ячеек (сот), тогда как
размер пакетов варьируется. Большинство технологий ЛВС, таких как
Ethernet, Token Ring, и FDDI (Fiber Distributed Data Interface, распределенный
интерфейс передачи данных по волоконно-оптическим каналам),
используют именно коммутацию пакетов. ATM (Asynchronous Transmission Mode,
режим асинхронной передачи) — единственный широко используемый
протокол ЛВС с коммутацией ячеек.
Разделение данных указанным образом необходимо, поскольку компьютеры
в составе ЛВС используют один общий кабель, и передача по сети
неразделенного потока данных одним компьютером займет очень много времени и
заблокирует на это время сеть для остальных компьютеров. Если
проанализировать данные, передаваемые по сети с коммутацией пакетов, можно
увидеть, что здесь поток сигналов состоит из пакетов, сгенерированных
разными системами (компьютерами) и перемешанных "внутри" кабеля. Для
данного типа сетей характерно, что пакеты, являющиеся частью одного и
10
Часть I. Введение в сетевые технологии
того же сообщения, передаются по разным маршрутам и порой даже
доходят до места назначения в другом порядке, нежели были посланы.
Принимающая система, в свою очередь, должна иметь механизм для перестановки
пакетов в нужном порядке и отслеживания потерявшихся пакетов, либо
поврежденных при пересылке.
Наряду с коммутацией пакетов существует "обратная" технология,
называемая коммутацией каналов (circuit switching), при которой одна сторона
устанавливает прямой канал связи с другой стороной непосредственно перед
передачей данных. В сфере передачи данных по сетям коммутация каналов
используется для ограниченного числа типов сетевых технологий, таких как
ISDN (Integrated Service Digital Network, цифровая сеть связи с интеграцией
услуг). Классический пример использования сети с коммутацией каналов —
телефонная сеть. Когда вы дозваниваетесь до определенного абонента,
между вашими телефонами устанавливается прямой канал связи. Этот канал
остается открытым до окончания звонка, и больше никто другой не может
его использовать, даже в случае, когда сигналы не передаются (то есть когда
вы не разговариваете). Раньше в телефонных сетях каждый телефон был
подсоединен к центральной станции отдельным проводом, и операторы
задействовали огромное количество переключателей для соединения двух
телефонов при каждом звонке. В наши дни этот процесс автоматизирован, но
принцип соединения остался тем же.
Сети и сетевые комплексы
Изначально локальные сети предназначались для объединения сравнительно
небольшого количества компьютеров в систему, названную позже рабочей
группой. Владельцы сетей пришли к выводу о более существенной выгоде
приобретения нескольких компьютеров и соединения их между собой для
выполнения большинства необходимых вычислительных операций, нежели
вложения средств в мэйнфрейм и систему его функциональной поддержки.
Вместе с ростом возможностей персональных компьютеров и исполняемых
приложений совершенствовались и вычислительные сети, построенные на
их основе, а также методы проектирования таких сетей.
Кабели и топологии
Большинство ЛВС созданы с использованием медных кабелей,
применяющих обычный электрический ток для передачи сигналов. Изначально
большинство ЛВС состояли из компьютеров, соединенных коаксиальным
кабелем, но в итоге прокладка кабеля типа "витая пара" (ТР, twisted pair),
используемого в телефонных системах, стала наиболее популярной и здесь.
Еще один альтернативный тип кабеля — оптоволоконный кабель, не
использующий электрические сигналы, при прохождении по нему двоичная
Глава 1. Что такое сеть?
11
информация кодируется импульсами света. Также существуют виды сетевых
решений, в принципе не использующие кабеля, и, соответственно,
передающие сигналы по так называемым неограниченным средам, таким как
радиоволны, инфракрасные волны и излучение микроволнового диапазона.
^ Примечание J]
Для получения более подробной информации о различных видах кабелей,
применяемых для построения сетей, см. главу 4.
Различные способы конфигурации соединения кабелей для объединения
компьютеров в ЛВС называются топологиями (рис. 1.1). Они зависят от типа
употребляемого кабеля и поддерживаемого протокола. Наиболее
распространены следующие топологии.
□ Шина. Шинная топология реализуется кабелем, прокладываемым от
одного компьютера к другому в виде последовательной цепочки,
напоминающей гирлянду на новогодней елке. Все сигналы, передаваемые
любым компьютером в сеть, идут по шине в обоих направлениях ко всем
остальным компьютерам. Два конца шины должны быть "закрыты" при
помощи электрических сопротивлений, обнуляющих напряжения,
приходящие на эти концы, для того, чтобы сигналы не отражались и не
уходили в обратном направлении. Основной недостаток шинной топологии
состоит в том, что, подобно елочной гирлянде, дефект кабеля в любом
месте его протяженности делит сеть на две части, не способные общаться
между собой. Большая часть сетей, построенных на коаксиальных
кабелях, таких как сети Ethernet, используют шинную архитектуру.
□ Звезда. Топология "звезда" использует отдельный кабель для каждого
компьютера, проложенный от центрального устройства, называемого ха-
бом (hub) или концентратором. Концентратор транслирует сигналы,
поступающие на любой из его портов, на все остальные порты; в результате
чего сигналы, посылаемые одним узлом, достигают остальных
компьютеров. Сеть на основе "звезды" более устойчива к повреждениям, нежели
сеть на базе шинной архитектуры, так как повреждение кабеля
затрагивает непосредственно только тот компьютер, к которому он подсоединен, а
не всю сеть. Большинство сетей, использующих кабель типа "витая пара",
монтируются по топологии "звезда", например, lOBaseT Ethernet.
□ Кольцо. Топология кольца функционально эквивалентна шине, у которой
концы соединены друг с другом; таким образом, сигналы передаются от
одного компьютера к другому, двигаясь по кругу. Однако
коммуникационное кольцо — это только логическая абстракция, а не физическая
конструкция. Фактически сеть представляет собой звезду, но при этом
специальный концентратор реализует логическое кольцо путем пересылки
входящего сигнала только через следующий нисходящий порт (вместо
передачи через все порты, как это делает концентратор при применении
12
Часть I. Введение в сетевые технологии
топологии "звезда"). Каждый компьютер, получив входящий сигнал,
обрабатывает его (если это необходимо) и посылает обратно концентратору
для передачи следующей рабочей станции в сети. В соответствии с
данным принципом работы, система, передающая сигнал в сеть, должна
также удалить его после того, как он обошел все кольцо полностью.
Сети, сконструированные на основе топологии "кольцо", могут
использовать различные типы кабеля. Например, сети Token Ring используют
витую пару, в то время как FDDI-сети реализуют топологию "кольцо" с
помощью оптоволоконных кабелей.
Шина-звезда. Данная топология — один из способов расширения
одиночной "звезды". Эта схема формируется из множества "звезд",
концентраторы которых соединяются отдельными сегментами общей шины.
Каждый компьютер по-прежнему может связываться с любым другим в
сети, поскольку связанный с ним концентратор передает входящий
трафик через порты "звезды". Разработанная для расширения сетей Ethernet
lOBaseT, архитектура "шина-звезда" сейчас мало распространена в связи с
ограничениями информационной емкости шин на коаксиальном кабеле.
Коаксиальный кабель становится "узким местом" подобной сетевой
организации, снижая скорость передачи данных в быстрых сетях, собранных
на основе топологии "звезда", таких как Fast Ethernet.
|
Концентратор
Шина Звезда
Концен- | Шина
(Сигнал) |
Концентратор
/П\ r/7T\ /7"!^
мммм мнннмные
Кольцо Шина-звезда
Рис. 1.1. Основные виды топологий
Управление доступом к среде
передачи данных
Когда множество компьютеров подключены к одной и той же среде с
узкополосной передачей, то должен быть реализован механизм управления
доступом к среде (MAC, Media Access Control) для осуществления арбитража
доступа и предотвращения одновременной передачи данных системами. Меха-
Глава 1. Что такое сеть?
13
низм управления доступом к среде является основой всех протоколов для
любых ЛВС. Два наиболее распространенных механизма: множественный
доступ с контролем несущей и обнаружением коллизий (CSMS/CD, Carrier
Sense Multiple Access with Collision Detection), применяемый в сетях Ethernet, и
передача маркера, которая используется сетями Token Ring, FDDI и другими
типами ЛВС. Эти два механизма принципиально различны, но выполняют
одну и ту же задачу, обеспечивая каждую систему в сети равными
возможностями для приема/передачи данных. Более подробную информацию о
механизмах управления доступом к среде см. в разд. "CSMD/CD" главы 8 и разд.
"Передача маркера"главы 9.
Адресация
Для эффективного взаимодействия компьютеров через сетевую среду с
общим доступом они должны правильно идентифицировать друг друга,
обычно это осуществляется с помощью цифрового адреса. В большинстве
случаев сетевая плата каждого компьютера имеет жестко "прошитый" при ее
изготовлении опознавательный код — так называемый аппаратный адрес
(МАС-адрес), уникальный для каждой платы. Любой пакет данных,
передаваемый компьютером, содержит адрес этого компьютера и адрес целевого
компьютера. Кроме МАС-адресов компьютеры могут иметь адреса для
операций, выполняемых на уровнях, отличных от аппаратного. Например,
протокол TCP/IP требует, чтобы каждому компьютеру в сети был присвоен
уникальный IP-адрес в дополнение к уже имеющемуся встроенному адресу.
Сетевые узлы используют различные типы адресации для различных типов
взаимодействия. Более подробную информацию об аппаратных адресах см. в
главе 3, а об IP-адресах — в главе 11.
Повторители, мосты, коммутаторы
и маршрутизаторы
Первоначально ЛВС были созданы для сравнительно небольшого
количества компьютеров —■ около 30 для малых и 100 для больших Ethernet-сетей. Но
потребности бизнеса очень скоро переросли эти ограничения. Для
поддержки вычислительных систем большего размера были разработаны
специальные устройства, которые позволили объединять две и более ЛВС и
образовывать сетевые комплексы (интерсети), по сути являющиеся "сетями сетей",
то есть позволяющие компьютерам одной сети взаимодействовать с
компьютерами другой.
|^ Примечание ^Д
Не путайте общий термин "интерсеть" (Internetwork) с термином "Интернет"
(Internet), поскольку Интернет является лишь частным случаем очень большого
14
Часть I. Введение в сетевые технологии
сетевого комплекса. Однако любая структура, состоящая из двух и более ЛВС,
представляет собой интерсеть.
В обиходе эти понятия нередко путаются, так как многие пользователи,
упоминая понятие "сеть", имеют в виду интерсеть, в то время как
употребление понятия "сетевой комплекс" может подразумевать простую ЛВС.
Строго говоря, ЛВС или сегмент сети — это группа компьютеров,
соединенных между собой кабелем таким образом, что сообщение, посланное
одной рабочей станцией, достигает всех остальных даже в том случае, если
среда этой сети или сегмента состоит из нескольких участков. Например, в
типичной ЛВС Ethernet lOBaseT все компьютеры связаны с концентратором
при помощи кабелей разной длины. Независимо от этого конструкция в
целом остается сегментом сети или ЛВС. Отдельные ЛВС могут быть связаны
друг с другом посредством использования различных типов устройств, одни
из которых просто расширяют ЛВС, а другие непосредственно связаны с
формированием интерсети. Ниже приведен список таких устройств.
П Повторитель. Представляет собой полностью электрическое устройство,
которое увеличивает максимальную протяженность кабеля ЛВС путем
усиления сигнала, проходящего через такое устройство. Концентраторы,
используемые в сетях, основанных на топологии "звезда", иногда
называются многопортовыми повторителями, поскольку сами по себе имеют
способность к усилению сигнала. Автономные повторители могут
применяться в сетях, созданных с использованием коаксиального кабеля, для
увеличения протяженности этих сетей. Употребление повторителя с
целью расширения сегмента сети не разделяет последний физически на две
ЛВС и не образует сетевого комплекса.
П Мост. Выполняет функцию усиления сигнала, как и повторитель, но
вместе с тем имеет способность избирательно отфильтровывать пакеты
по их адресам. Пакеты, приходящие на вход моста, пропускаются на
выход только в том случае, если они адресованы компьютеру, находящемуся
по другую сторону моста. Поскольку мосты не препятствуют
прохождению широковещательных сообщений, они также не делят ЛВС на
сегменты и не создают интерсети.
П Коммутатор. Коммутаторы — это, как можно выразиться,
революционные устройства, которые во многих случаях абсолютно устраняют
необходимость наличия среды передачи данных. Коммутатор является
многопортовым повторителем, как и концентратор, однако, вместо работы на
чисто электрическом уровне он считывает адрес назначения каждого
входящего пакета и передает его только через тот порт, с которым соединен
компьютер-адресат. Коммутаторы могут функционировать на разных
уровнях, объединяя сети с другими сетями или сетевыми комплексами.
О Маршрутизатор. По определению — это устройство, соединяющее
различные ЛВС и формирующее интерсеть. Равно как и мост, маршрутиза-
Глава 1. Что такое сеть?
15
тор пропускает только информацию, предназначенную для сегмента, с
которым он соединен. Однако, в отличие от повторителей и мостов,
маршрутизаторы препятствуют прохождению широковещательных
сообщений. Они могут объединять и сети различных типов (например,
Ethernet и Token Ring), в то время как мосты и повторители могут
интегрировать только однотипные сети или сетевые сегменты.
[^ Примечание ^
Для получения более подробной информации о повторителях, концентраторах
и мостах см. главу 5. Маршрутизаторы и коммутаторы детально
рассматриваются в главе 6.
Глобальные сети
Описанные средства создания сетевых комплексов позволяют организации
конструировать сетевую структуру практически неограниченных размеров.
Но, в дополнение к возможности комплексирования множества ЛВС в
пределах здания (или группы зданий) интерсеть может также объединять в себе
ЛВС из отдаленных районов, используя каналы связи глобальной сети.
Глобальная сеть — это множество ЛВС, разделенных относительно большими
расстояниями, и соединенных в различных точках. Типичная глобальная
сеть включает в себя два маршрутизатора, по одному со стороны каждой
локальной сети, связанных между собой средствами удаленной связи,
например, телефонной линией. Каждый компьютер одной ЛВС может
взаимодействовать с любым компьютером другой ЛВС, направляя информацию
своему маршрутизатору, который передает ее по назначению через линию
связи глобальной сети. Каналы связи в глобальных сетях отличаются от
соединений в локальных вычислительных системах тем, что они не
используют общую среду передачи данных и могут быть вытянуты на значительно
большие расстояния. Поскольку в этом случае связываются только две
системы, то нет необходимости контроля доступа к среде передачи данных и
наличия строго определенной топологии сети. Организация с офисами в
разных странах мира может построить интерсеть, способную обеспечить
пользователям постоянный доступ к сетевым ресурсам из любого места.
Сами каналы связи глобальных сетей могут различаться технологически — от
телефонных линий до спутниковых систем. В целом, скорость передачи
данных по каналам глобальных сетей медленнее, а иногда и значительно
медленнее, чем в локальных сетях, и использование глобальных сетей
дороже, а иногда и значительно дороже. Таким образом, задача разработчиков
сети сводится к получению максимальной эффективности передачи
информации по глобальной сети путем удаления ненужной информации и выбора
наилучшего типа соединения для коммуникационных программ.
16
Часть I. Введение в сетевые технологии
^ Примечание ^Д
Для получения более подробной информации о глобальных сетевых
технологиях см. главу 7.
Протоколы и стандарты
Взаимодействие компьютеров в сети регламентируется протоколами, то есть
формальными наборами правил и соглашений, определяющими, каким
образом в сети устройства обмениваются данными. Эти протоколы описывают
любой момент взаимодействия — от характеристик сигналов, передаваемых
по кабелям, до языков запросов, позволяющих обмениваться сообщениями
приложениям, исполняемым на разных компьютерах. Компьютеры сети
используют множество протоколов, которое называется "стек"и простирается от
пользовательского интерфейса программы, расположенной на "вершине", до
физического интерфейса сети на "дне". Традиционно стек делится на семь
уровней, функции Которых определяются эталонной моделью взаимодействия
открытых систем (OSI, Open System Interconnection) — документом,
описывающим как отдельные функции каждого уровня, так и их совместное
применение для обеспечения взаимодействия компьютеров сети.
^ Примечание ^Д
Для получения более подробной информации о модели взаимодействия
открытых систем см. главу 2.
Ранние сетевые технологии были частными решениями отдельных
производителей, однако, с течением времени, на первый план выступила
совместимость, и разработчики вынуждены были разработать и принять соглашения
о стандартах сетевых протоколов. Большинство из этих соглашений
опираются на большое количество технических и технологических стандартов.
В настоящее время стандартные протоколы для широкого использования
разрабатываются специальными международными организациями или
группами, некоторые из которых перечислены ниже.
□ Институт инженеров по электротехнике и электронике (IEEE, Institute of
Electrical and Electronic Engineers). Североамериканская организация,
опубликовавшая рекомендации рабочей группы 802 (IEEE 802 working group),
содержавшие стандарты, определившие протоколы, известные в
настоящее время как Ethernet и Token Ring, а также многие другие.
□ Международная организация по стандартизации (ISO, International
Organization for Standardization). Всемирное объединение организаций по
выработке стандартов, включающее более 100 государств. Разработала
эталонную модель OSI.
Глава 1. Что такое сеть?
17
П Проблемная группа проектирования сети Интернет (IETF, Internet
Engineering Task Force). Группа разработчиков и консультантов, созданная
специально для выработки стандартов Интернет-технологий, включая
протокол TCP/IP.
□ Ассоциация производителей средств связи/Ассоциация электронной про*
мышленности (TIA/EIA, Telecommunications Industry Association/Electronic
Industry Association). Две организации, объединившиеся для разработки и
публикации стандартов электронных устройств и передачи данных, таких
как электрические характеристики среды передачи данных (EIA/TIA-232)
и правила телекоммуникационной проводки в коммерческих зданиях
(Commercial Building Telecommunications Wiring Standards),
определяющие, как должны прокладываться кабели для информационных сетей.
Клиенты и серверы
Компьютерные сети основаны на принципе клиент-сервер\ в соответствии с
которым действия по обработке информации, необходимые для выполнения
конкретной задачи, разделены между компьютерами, выполняющими
функции клиентов или серверов. Это — прямая противоположность модели
большой ЭВМ (mainframe), в которой центральный компьютер выполняет всю
обработку информации и просто пересылает результаты пользователю на
удаленный терминал. Сервер — это компьютер, обеспечивающий доступ к
информации другим компьютерам в тот момент, когда им это потребуется.
Клиент — компьютер, запрашивающий информацию у сервера. Оба термина
могут быть применены как к физическим устройстрам, так и к
программному обеспечению.
Например, сетевые базы данных, как правило, целиком хранятся на сервере,
находящемся в режиме ожидания запросов от клиентов. Пользователь на
рабочей станции запускает программу-клиент, с помощью которой
формулирует запросы на выборку из базы данных и отправляет их серверу. Сервер
отвечает на запросы и посылает требуемую информацию рабочей станции,
которая обрабатывает ее и предоставляет пользователю. В этом случае
рабочие станции должны обеспечить пользовательский интерфейс и перевод
требования пользователя на язык запросов, "понятный" серверу, а также
прием возвращенной сервером информации и предъявление ее
пользователю в понятной для него форме. Сервер может обслуживать десятки или
сотни клиентов, то есть он должен быть мощным компьютером, однако, в
результате перекладывания некоторых функций на рабочие станции, нагрузка
на него по обработке информации даже близко не сравнима с таковой при
использовании большой ЭВМ.
18
Часть I. Введение в сетевые технологии
Операционные системы и приложения
Несмотря на то, что клиенты и серверы фактически являются
программными компонентами, некоторые ассоциируют эти понятия со специфическими
устройствами. Такое недоразумение возникает из-за того, что отдельные
сетевые операционные системы (такие как Novell NetWare) требуют, чтобы
один компьютер работал только как сервер, а остальные — только как
клиенты. Операционная система типа клиент-сервер — противоположность
одноранговым (peer-to-peer) системам, где каждый компьютер может быть как
клиентом, так и сервером. Наиболее общей функцией, предоставляемой
клиентам и серверам сетевыми операционными системами (NOS), является
возможность совместного использования файловой системы, дисков и
принтеров, и она-то обычно и определяет роли клиента и сервера. Например,
операционная система Windows NT имеет версии для рабочей станции и для
сервера, но остается одноранговой системой, так как с любого компьютера
под управлением Windows NT возможен доступ к ресурсам другого
компьютера с предустановленной Windows NT и совместное использование ими
ресурсов. При этом не имеет значения, какая версия Windows NT
используется (для рабочей станции или для сервера). Сервер с операционной
системой Novell NetWare может совместно использовать собственные диски и
принтеры, однако не может получить доступа к общим ресурсам на дисках
клиентов.. В свою очередь, клиенты системы Novell NetWare не могут
предоставлять свои ресурсы для совместного использования и могут
взаимодействовать только с сервером, но не с другими клиентами (рис. 1.2).
^ Примечание ^
Для получения более подробной информации об операционной системе
Windows NT см. главу 4, об операционной системе Novell NetWare — главу 5.
Узел Узел
ЧЕШКЕ t*Vr*?i"ji
IX!
Узел Узел
Сервер
п
Клиент
Т
п
Клиент
п
Клиент
Рис. 1.2. Операционные системы типа клиент-сервер
и одноранговые сетевые ОС
Глава 1. Что такое сеть?
19
Помимо внутренних механизмов работы сетевых операционных систем,
многие приложения для ЛВС и сетевые службы используют принцип
клиент-сервер. Интернет-приложения, такие как World Wide Web, также
состоят из клиентов и серверов, как и иные административные сервисы,
подобные системе имен доменов (DNS, Domain Name System).
Далее следует
В этой главе были представлены основные принципы и терминология,
необходимые для дальнейшего изучения компьютерных сетей. В следующей
главе вы начнете более детальное изучение сетевых технологий с эталонной
модели OSI как основы для взаимодействия компьютеров ЛВС.
Глава 2
Эталонная сетевая
модель OSI
Прикладной уровень
Представительский уровень
N
Процессы сетевого взаимодействия происходят на множестве уровней и
могут быть сложны для понимания даже для хорошо подготовленного
администратора сети. Эталонная модель взаимодействия открытых систем (OSI,
Open Systems Interconnection reference model) представляет собой некую
парадигму, теоретическое построение, которое разделяет взаимодействие в
сети на семь отдельных уровней, как показано на
рис. 2.1. Каждый компьютер в сети использует
набор протоколов для выполнения функций,
назначенных каждому уровню. Совокупность
уровней называется стеком протоколов или
сетевым стеком. На вершине стека расположено
приложение, делающее запросы к ресурсам,
расположенным где-то в сети. Внизу стека
находится среда передачи данных, такая как
кабель, объединяющая компьютеры в сеть на
физическом уровне.
Сеансовый уровень
Транспортный уровень
N
Сетевой уровень
Канальный уровень
Физический уровень
Рис. 2.1. Сетевая модель OSI
Модель OSI появилась в результате разработки двух независимых проектов,
осуществляемых Международной организацией по стандартизации (ISO,
International Organization for Standardization) и Международным
консультативным комитетом по телеграфии и телефонии (CCITT, Consultative
Committee for International Telephone and Telegraphy), который также известен, как
Отдел стандартизации международного союза телекоммуникаций (ITU-T,
Telecommunications Standardization Sector of the International
Telecommunications Union). Каждая из этих организаций разрабатывала свою собственную
семиуровневую модель, но в 1983 году модели были объединены в один
документ. Он был назван "Эталонная модель взаимодействия открытых
систем" и опубликован ISO, как ISO 7498, a ITU-T как Х.200.
Первоначально стек OSI задумывался как модель для создания набора
протоколов, который должен строго соответствовать семи уровням, но этот
набор так никогда и не был воплощен в жизнь. С тех пор модель используется
Глава 2. Эталонная сетевая модель OSI
21
как средство для обучения и описания сетевых процессов. Профессионалы в
области сетевых технологий, представляя протоколы, устройства или
программы, часто привязывают их к определенным уровням модели OSI. Такой
подход позволяет рассматривать сложные процессы как наборы элементов,
выполняющих роль основы для описания какой-либо сетевой технологии.
В названиях многих глав этой книги для облегчения понимания сетевых
концепций используются наименования уровней модели. Однако очень
важно понимать, что ни один из используемых на сегодняшний день стеков
сетевых протоколов не имеет точного соответствия уровням модели OSI. Во
многих случаях протоколы имеют функциональность, которая перекрывает
два или более уровней. Примером может служить Ethernet, который
рассматривается как протокол Канального уровня, но также определяет
элементы Физического уровня.
Основным объяснением отличия реально существующих стеков протоколов от
модели OSI является то, что множество протоколов (включая Ethernet),
используемых сегодня, были задуманы еще до публикации документов,
описывающих модель OSI. Протоколы TCP/IP, например, имеют свою собственную
многоуровневую модель, которая во многом похожа на модель OSI, но
использует только четыре уровня (рис. 2.2). Вдобавок, разработчики обычно
больше заботятся о практической функциональности, нежели чем о
соответствии существующей модели. Семиуровневая модель была разработана таким
образом, что стало возможным разделить функции стека протоколов так,
чтобы независимые группы разработчиков могли работать над различными
уровнями. То есть общий процесс разработки стал более рациональным. Тем не
менее, если отдельный протокол может легко обеспечивать функции,
относящиеся к нескольким уровням модели, то почему бы его не разделить на два
отдельных протокола, хотя бы просто для согласованности?
OSI
Прикладной уровень
Представительский уровень
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
TSP/IP
Прикладной уровень
Транспортный уровень
Уровень межсетевого
взаимодейсвия
Уровень межсетевых
интерфейсов
N
Рис. 2.2. Эталонные модели OSI и TCP/IP
22
Часть I. Введение в сетевые технологии
Межуровневые взаимодействия
Передача данных по сети — это процесс отправки сообщений из одного
места в другое. Стек протоколов описывает в терминах модели OSI
элементы, необходимые для доставки сообщений по их назначению. Процесс
передачи достаточно сложен, поскольку приложения, генерирующие
сообщения, выдвигают различные требования. Некоторые сеансы обмена
сообщениями состоят из кратких запросов и ответов, которые должны быть
приняты и отправлены так быстро, как только это возможно и с минимальным
числом затрат. Другие сетевые транзакции, такие как передача программных
файлов, включают в себя передачу большого количества данных, которые
должны быть доставлены приемнику в исходном состоянии, без изменения
значения даже хотя бы одного бита. Еще остаются такие типы сетевой
передачи, как потоковое аудио или видео, которые состоят из просто огромного
количества данных и могут пренебречь потерей небольшого числа пакетов,
но при этом данные должны быть переправлены получателю в строго
определенный промежуток времени.
Сетевые процессы также включают некоторое количество преобразований,
которые, в конечном счете, переводят API-вызовы, генерируемые
приложениями, в электрические разряды, импульсы света или другие виды сигналов,
передаваемые посредством сетевой среды. В заключение, сетевые протоколы
должны иметь возможность убедиться в том, что данные достигли адресата в
заданные временные сроки. Когда вы отправляете письмо, то помещаете его в
конверт и пишете на конверте адрес. Также и сетевые протоколы, прежде чем
обменяться информацией с другим компьютером в сети, упаковывают
данные, сгенерированные приложением, и адресуют их компьютеру-получателю.
Инкапсуляция данных
Чтобы удовлетворять всем требованиям, подобным описанным выше,
протоколы различных уровней работают вместе, обеспечивая унифицированный
уровень сервиса. Каждый уровень предоставляет услуги уровням,
расположенным непосредственно ниже и выше его в стеке. Исходящий трафик
проходит сверху вниз через весь стек до сетевой среды передачи, дополняясь
служебной информацией, необходимой для осуществления передачи
данных. Служебная информация представляет собой заголовки и иногда
постинформацию, которые обрамляют данные, полученные с вышележащего
уровня. Такой способ представления информации называется инкапсуляцией
данных (data encapsulation). Заголовки и постфиксы составлены из отдельных
полей, содержащих служебные сведения, используемые для доставки
пакетов по их назначению. В известном смысле, форма, состоящая из
заголовков и хвостов, это — оболочка, которая является носителем сообщения,
полученного от вышележащего уровня.
Глава 2. Эталонная сетевая модель OSI
23
В процессе типичной передачи данных по сети работающий на Прикладном
уровне протокол (включающий функции Представительского и Сеансового
уровня), формирует сообщение, которое передается вниз протоколу
Транспортного уровня. Протокол Транспортного уровня имеет свою собственную
структуру пакетов, называемую протокольным блоком данных (PDU, protocol
data unit), которая включает специальные поля заголовка и поле данных,
несущее на себе полезную нагрузку (пользовательскую информацию). В данном
случае полезной нагрузкой являются данные, полученные от протокола
Прикладного уровня. Помещая информацию в свой собственный PDU,
Транспортный уровень инкапсулирует данные Прикладного уровня, и затем
передает их на уровень ниже.
После этого протокол Сетевого уровня получает PDU от Транспортного
уровня и инкапсулирует его внутри собственного PDU, добавляя заголовок
и используя PDU Транспортного уровня в качестве полезных данных.
Данный процесс повторяется снова, когда Сетевой уровень передает свой PDU
протоколу Канального уровня, который добавляет к нему свой заголовок и
хвост. На Канальном уровне информация внутри кадра рассматривается
только как полезные данные. Если провести аналогию с почтовым
отделением, то в данном случае все выглядит так, как будто то бы почтовые
служащие не представляют, что находится внутри посылки, которую они
передают. Только система, адрес которой совпадает с адресом получателя пакета,
может прочитать полезные данные. Эта система может либо передать
данные протокола Сетевого уровня, содержащиеся в полезной нагрузке, вверх
по стеку протоколов, либо использовать эти данные для определения
следующего получателя пакета. В любом случае, протоколы, работающие на
других уровнях, распознают информацию, содержащуюся в своих
собственных заголовках, но не в состоянии определить, что содержится в поле
передаваемых полезных данных.
Только после инкапсуляции протоколом Канального уровня пакет готов к
преобразованию в сигнал, соответствующий сетевой среде передачи данных.
Таким образом, пакет, передаваемый по сети, состоит из первоначальных
данных Прикладного уровня и нескольких заголовков, добавляемых
протоколами уровней, которые он проходит (рис. 2.3).
| Заголовок
Канального уровня
Заголовок
Сетевого уровня
Заголовок
Транспортного
уровня
Заголовок
Прикладного
уровня
Заголовок 1
Канального 1
уровня 1
Рис. 2.3. Запросы от приложения инкапсулируются для передачи по сети
24
Часть I. Введение в сетевые технологии
Горизонтальная передача информации
В случае передачи по сети информации между двумя компьютерами
протоколы, используемые на каждом уровне модели OSI передающей системы,
должны быть такими же и у принимающей системы. Когда пакет достигает места
своего назначения, процесс, в ходе выполнения которого к полезной
информации были добавлены заголовки, повторяется, но уже в обратном порядке.
Пакет передается вверх по стеку протоколов, и каждый заголовок
обрабатывается соответствующим протоколом. В сущности, протоколы, выполняющиеся
на различных уровнях, взаимодействуют с протоколами, расположенными на
точно таком же уровне другого компьютера, как показано на рис. 2.4.
Горизонтальные связи между различными уровнями являются логическими;
между уровнями нет прямого взаимодействия, но информация, добавленная
передающей системой в заголовок каждого протокола — это сообщение,
которое будет доставлено именно соответствующему протоколу принимающей
системы.
1 ' ' " ■""" ■■'■■'■ '"-'К
Прикладной уровень И
г
Представительский уровень И
Сеансовый уровень г
г
Транспортный уровень И
' " 'Ь
Сетевой уровень г
г
Канальный уровень К
г
Физический уровень н
ч_ . _ __. Л
v
*\
я
1
ч
1
ч|
J
К
Прикладной уровень ]
Представительский уровень
N
Сеансовый уровень
Транспортный уровень
н
Сетевой уровень
N
Канальный уровень
Физический уровень
X— 2J
Рис. 2.4. Протоколы на различных уровнях системы логически
связаны со своими эквивалентами в других системах
Вертикальная передача информации
Заголовки, присоединенные различными протоколами, выполняют
специфические функции, возложенные на эти протоколы. В дополнение к
горизонтальному взаимодействию протоколов одинаковых уровней,
информация, содержащаяся в заголовке, дает возможность каждому уровню
взаимодействовать с уровнями, расположенными выше и ниже его в стеке (рис. 2.5).
Например, когда система получает пакет и пропускает его через свой стек
протоколов, то заголовок протокола Канального уровня включает поле, иденти-
Глава 2. Эталонная сетевая модель OSI
25
1 [\
Прикладной уровень
t
т
Представительский уровень
Ч
х
Сеансовый уровень
Ч
i
ч
г
Транспортный уровень и
ч
i
\1
'
Сетевой уровень ]
\
^
м
г
Канальный уровень j
Ч
м
Физический уровень
ч N
фицирующее протокол Сетевого уровня, который
необходимо использовать для обработки пакета.
Заголовок протокола Сетевого уровня, в свою
очередь, определяет один из протоколов
Транспортного уровня, а протокол Транспортного уровня
идентифицирует приложение, дли которого, в
конечном счете, и предназначаются данные. Такого
рода вертикальное взаимовлияние делает
возможным оперирование на одном компьютере
одновременно несколькими протоколами одного
уровня. До тех пор, пока заголовки содержат
корректную информацию, пакет может быть
передан через стек в назначенное место.
Рис. 2.5. Каждый уровень модели OS1
непосредственно взаимодействует
только с соседними уровнями
Терминология инкапсуляции
Одним из наиболее запутанных аспектов инкапсуляции является
терминология, используемая для описания протокольных блоков данных (PDUs),
генерируемых каждым уровнем. Термин пакет (packet), в частности,
определяет блок данных, передаваемый через сетевую среду, хотя он также
применяется и для описания данных на любой стадии процесса. Большинство
протоколов Канального уровня работают с кадрами (frames), которые
включают заголовок и постинформацию, окружающие данные, полученные от
протокола Сетевого уровня. Термин кадр описывает PDU произвольного
размера, зависящего от количества вложенных данных. Протокол
Канального уровня, использующий PDU одинакового размера, такой как Режим
Асинхронной Передачи (АТМ> Asynchronous Transfer Mode), оперирует
блоками данных, называемыми ячейками или сотами (cells).
Когда информация Транспортного уровня инкапсулируется протоколом
Сетевого уровня, то получающиеся блоки данных называются дейтаграммами
26
Часть I. Введение в сетевые технологии
(datagram). В течение процесса передачи дейтаграмма должна быть разбита
на фрагменты (fragments), каждый из которых иногда неправильно называют
дейтаграммой. Терминология Транспортного уровня в большей^ степени,
нежели чем на нижних уровнях, зависит от используемого протокола.
TCP/IP, например, имеет два протокола Транспортного уровня. Первый,
называемый Протоколом пользовательских дейтаграмм (UDP, User Datagram
Protocol), также при описании созданных им PDU использует термин
дейтаграмма, хотя последний не является эквивалентом дейтаграммы Сетевого
уровня. Как следствие, когда данные протокола UDP Транспортного уровня
инкапсулируются протоколом IP на Сетевом уровне, то результатом
является дейтаграмма, вложенная внутрь другой дейтаграммы.
Разница между UDP и TCP (Transmisson Control Protocol, протокол
управления передачей), который также функционирует на Транспортном уровне,
заключается в том, что дейтаграммы UDP содержат в себе неделимые данные,
генерируемые протоколом Транспортного уровня. Поэтому UDP используется
для передачи небольшого количества данных. TCP, с другой стороны,
используется для передачи большого количества информации, которая обычно не
помещается в один пакет. Соответственно, каждый из PDU, созданный
протоколом TCP, называется сегментом (segment), а совокупность сегментов,
включающая данные протокола Прикладного уровня, определяется как
последовательность (sequence). PDU, создаваемые протоколом Прикладного уровня,
обычно называются сообщениями (messages). Представительский и Сеансовый
уровни обычно не связаны с какими-либо отдельными протоколами.
Функции этих уровней внедрены в другие элементы стека протоколов, а их
протоколы не поддерживают своих заголовков и PDU.
Все эти термины часто путаются, и не удивительно, что в авторитетных
документах можно встретить их некорректное употребление. Следующие
разделы описывают уровни модели OSI, протоколы, наиболее часто
встречающиеся на них, и функции, связанные с каждым из уровней. В процессе
чтения этой книги вы больше узнаете о каждом из протоколов и их связи с
элементами стека протоколов.
Физический уровень
Физический уровень модели OSI определяет среду передачи, задействуемую
для обмена информацией между компьютерами. Наиболее широко
применяемая среда передачи данных по сети — медный электрический кабель, хотя
сейчас все более популярными становятся оптоволоконные линии. Также
существуют беспроводные реализации Физического уровня, которые
используют радиоволны, инфракрасное излучение, лазеры, микроволновые и
другие технологии. Физический уровень включает в себя: саму технологию
передачи данных, оборудование, необходимое для поддержки данной техно-
Глава 2. Эталонная сетевая модель OSI
27
логии, спецификации, которым должно удовлетворять оборудование, и
природу сигналов, используемых для кодирования передаваемой информации.
Для примера возьмем lOBaseT Ethernet — один из наиболее популярных на
сегодня стандартов Физического уровня для локальных вычислительных
сетей. В "классическом" Ethernet в основном нас интересует протокол
Канального уровня, но как и большинство протоколов, функционирующих на
Канальном уровне, он в большой степени привязан к специфике реализации
Физического уровня, и стандарты, описывающие этот протокол, определяют
также и элементы Физического уровня. В основе lOBaseT лежит тип кабеля,
используемого для создания сети Ethernet. Стандарт Ethernet определяет
lOBaseT, как сеть на основе кабеля из неэкранированной витой пары,
содержащего четыре пары проводов, заключенных в одну оплетку.
Однако, структура кабеля — не единственный элемент Физического уровня,
включенный в стандарт. Спецификации, применяемые для построения сети
Ethernet, также описывают правила прокладки кабеля, включающие
максимальную длину сегментов и расстояния до источников питания. Стандарты
задают вид разъемов, требуемых для присоединения кабеля, тип платы
сетевого адаптера, устанавливаемого в компьютер, а также тип концентратора,
который необходим для объединения компьютеров в сеть топологии "звезда".
И в заключение, стандарты определяют условия, по которым сетевой
адаптер должен преобразовывать данные, вырабатываемые компьютером, в
электрические сигналы, чтобы эти данные могли быть переданы по сетевому
кабелю.
Таким образом, вы можете видеть, что Физический уровень включает в себя
намного больше, чем просто описание типа кабеля. Тем не менее, в общем-
то, вы можете не иметь детального представления о каждом элементе
стандарта Физического уровня. Когда вы покупаете Ethernet-адаптеры, кабели и
концентраторы, то они сконструированы уже с учетом спецификаций
Ethernet и соответствующей схемы передачи сигналов. Монтаж оборудования,
однако, более сложен.
Спецификации Физического уровня
Монтаж оборудования Физического уровня сети — это работа, все более
часто требующая заключения договора с соответствующими специалистами.
Несмотря на то, что сравнительно легко приобрести достаточное количество
знаний о топологии ЛВС для того, чтобы выбрать необходимое для сети
оборудование, прокладка кабеля (или установка другой среды передачи) —
намного более трудная задача, поскольку она требует соблюдения всех норм.
Стандарты Ethernet, например, опубликованные рабочей группой IEEE 802.3,
описывают принципы базовой конфигурации кабельной разводки, имеющие
отношение к методам доступа к среде и механизмам выявления коллизий.
Эти принципы определяют такие элементы, как максимальная длина сег-
28
Часть I. Введение в сетевые технологии
мента кабеля, расстояние между рабочими станциями и допустимое для сети
количество повторителей»
Набор данных правил содержит общие сведения, предназначенные для
администраторов Ethernet-сети. Их знания недостаточно для прокладки
большой кабельной сети. Более подробную информацию о кабельной
разводке для сетей различного типа можно найти в следующем документе:
The American National Standarts Institute / Electronic Industry Association /
Telecommunication Industry Association (ANSI/EIA/TIA) 568, "Commercial
Building Telecommunication Cabling Standart". Вдобавок, необходимо
принимать во внимание особенности помещений зданий, которые могут
оказать большое влияние на прокладку кабеля. Исходя из этих соображений,
монтаж большой кабельной сети чаще всего должен выполняться
профессионалами, знакомыми со всеми стандартами, относящимися к
определенной технологии.
^ Примечание j|
Для получения более подробной информации о кабельной разводке сети см.
главу 4.
Сигналы Физического уровня
Среди сетевого оборудования Физического уровня выделяется такой важный
компонент, как трансивер, который обычно размещается на платах сетевых
адаптеров, ретранслирующих концентраторов и других устройств. Трансивер
{transceiver) отвечает за передачу и прием сигналов из сетевой среды. В
сетях, использующих медный кабель, трансивер — это электрическое
устройство, которое получает от протокола Канального уровня двоичные данные и
преобразует их в сигналы различного уровня напряжения. Физический
уровень отличается от всех прочих уровней стека тем, что содержимое
передаваемой информации не имеет для него никакого значения. Трансивер
просто преобразует нули и единицы в напряжение, световые импульсы,
радиоволны или некоторые другие виды сигналов, совершенно не принимая во
внимание при этом существование пакетов, кадров, адресов и даже системы,
принимающей сигналы.
Сигналы, вырабатываемые трансивером, могут быть как аналоговыми, так и
цифровыми. Большинство сетей передачи данных используют цифровые
сигналы, но некоторые беспроводные технологии используют аналоговую
радиопередачу. Аналоговые сигналы плавно изменяются между двумя
значениями, образуя синусоиду, показанную на рис. 2.6, в то время как
изменение значения цифровой величины происходит мгновенно. Аналоговый
сигнал может быть представлен изменением амплитуды, частоты, фазы или
сочетанием этих элементов.
Глава 2. Эталонная сетевая модель OSI
29
Фаза Частота
I 1 I 1
Рис. 2.6. Аналоговый сигнал
Цифровые сигналы применяются в сетевых технологиях более часто. Все
стандартные медные и оптоволоконные среды передачи данных используют
различные формы цифровых сигналов. Способ кодирования сигнала
определяется конкретным протоколом Канального уровня. Все сети Ethernet,
например, используют манчестерскую систему кодирования, как для витой пары,
так и для коаксиального и оптоволоконного кабеля. Изменение цифрового
сигнала между двумя уровнями всегда происходит мгновенно, образуя
прямоугольную волну, изображенную на рис. 2.7. В зависимости от среды передачи
значения сигнала могут быть представлены электрическим напряжением,
наличием или отсутствием луча света или любыми другими атрибутами,
присущими среде. В большинстве случаев сигнал формируется в результат перехода
между положительным и отрицательным напряжением, хотя иногда также
используется нулевое напряжение. Действительное значение напряжения не
имеет значения; важен переход, формирующий сигнал.
Рис. 2.7 иллюстрирует способ преобразования, называемый полярным
кодированием. В данном случае сигнал разбивается в соответствии с отрезками
времени, называемыми ячейками (cells), и напряжение для каждой ячейки
представляется двоичной величиной. Положительное значение — ноль,
отрицательное — единица. Такой метод кодирования сигнала кажется
простым и логичным путем преобразования двоичной информации, но имеет
один существенный изъян — необходимость синхронизации. Когда
двоичный код состоит из двух или более следующих друг за другом единиц или
нулей, то на протяжении двух или более ячеек не происходит изменение
напряжения. Если две системы, обменивающиеся информацией, не имеют
таймеров, синхронизированных с большой точностью, то невозможно
правильно определить количество переданных двоичных посылок. Это
утверждение связано с тем, что напряжение остается постоянным в течение
периода, соответствующего двум, трем или более ячейкам, представляющим
одно и то же логическое значение. Такой способ передачи информации
встречается в системах с невероятно высокой скоростью передачи, и
временные интервалы, образуемые по этой схеме, чрезвычайно малы.
30
Часть I. Введение в сетевые технологии
+
о —
0
1
*
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1
L
J
1-я ячейка
Рис. 2.7. Система полярного кодирования сигнала
Некоторые системы могут использовать этот тип конверсии в силу того, что
они имеют внешний синхронизирующий сигнал, который обеспечивает
синхронизацию взаимодействующих систем. Однако большинство
информационных сетей задействует узкополосную среду передачи, которая
разрешает единовременную пересылку только одного сигнала. Поэтому такие
сети используют другой способ кодирования, который обладает свойством
самосинхронизации (self-timing). Иными словами, информационный сигнал
сам содержит синхронизирующую составляющую, дающую возможность
принимающей стороне корректно интерпретировать значения и
конвертировать их в двоичные данные.
Манчестерская система кодирования, реализуемая в Ethernet-сетях, основана на
самосинхронизации сигналов; в силу этого факта уровень сигнала в ней
изменяется по центру каждой ячейки. Это позволяет точно отметить границы
ячейки для принимающей системы. Двоичные (логические) величины
определяются, исходя из направления изменения полярности. Переход от
положительного значения к отрицательному соответствует нулю, от отрицательного к
положительному — единице (рис. 2.8). Переходы в начале ячеек не несут в
себе никаких других функций, кроме как установки соответствующего
значения напряжения для осуществления перехода в середине ячейки.
Сети Token Ring используют другой способ преобразования сигнала,
называемый разностным манчестерским кодированием, при котором уровень
сигнала изменяется также посередине каждой ячейки. Однако для этого
типа кодирования направление перехода не имеет значения; он требуется
только для синхронизации сигнала. Значение каждой ячейки определяется
по наличию или отсутствию перехода в ее начале. Если смена полярности
присутствует, то значение ячейки — ноль, если перехода нет — единица
Глава 2. Эталонная сетевая модель OSI
31
(рис. 2.9). Что касается перехода в середине ячейки, то его направление не
играет роли.
о ( о
I
I
о
1 1
I
Рис, 2.8, Манчестерская система кодирования
. ° . °
i i
i i
Рис. 2.9. Разностная манчестерская система кодирования
Канальный уровень
Протокол Канального уровня обеспечивает интерфейс между физической
сетью и стеком протоколов компьютера. Протокол Канального уровня
обычно состоит из трех элементов:
□ кадра специального формата, который инкапсулирует данные протокола
Сетевого уровня;
32
Часть I. Введение в сетевые технологии
П механизма, регулирующего доступ к совместно используемой сетевой
среде;
□ принципов, которые должны быть реализованы при разработке
Физического уровня сети.
Заголовок и хвост, добавляемые этим протоколом к данным Сетевого
уровня, во время передачи пакета по сети являются его самыми крайними
полями. По существу, такой кадр — это оболочка, которая переносит пакет к его
следующему месту назначения и обеспечивает адресную информацию,
необходимую для доставки пакета к цели. В дополнение к сказанному,
протоколы Канального уровня обычно содержат средства контроля ошибок и
индикатор, указывающий на протокол Сетевого уровня принимающей системы,
который должен быть задействован для обработки данных пакета.
В большинстве ЛВС множество систем обращаются к одной совместно
используемой узкополосной среде передачи данных. Это означает, что в
любой момент времени может передавать данные только один компьютер.
Если передачу одновременно начинают две и более системы, то возникает
коллизия, и данные теряются. На протокол Канального уровня возложено
осуществление контроля за доступом к совместно используемой среде и
предотвращение возникающих конфликтов.
В силу того, что протоколы работают на нескольких уровнях стека
одновременно, возможно возникновение путаницы между ними; и иногда при
описании протоколов Канального уровня, для того, чтобы их можно было
отличить от протоколов других уровней, оперируют некорректными терминами.
Например, Ethernet иногда называют топологией, когда в действительности
топология описывает способ соединения кабелем компьютеров в сети.
Некоторые сетевые схемы Ethernet используют шинную топологию, в которой
компьютеры соединяются кабелем один за другим, образуя подобие
гирлянды. В другой, наиболее распространенной на сегодня топологии — "звезде",
все компьютеры присоединяются кабелем к центральному концентратору.
Существуют еще топология "кольцо", похожая на "шину", концы которой
соединены друг с другом, и "ячеистая" топология, в которой каждый узел в
сети имеет соединение с любым другим. Два последних типа сохранились в
основном только в теории. Современные сети не поддерживают их. Сети
Token Ring используют чисто логическое кольцо, в действительности же
компьютеры объединены по топологии "звезда".
Такая неразбериха вполне объяснима тем, что большинство протоколов
Канального уровня включают в свои спецификации элементы Физического
уровня. Это положение необходимо для поддержания тесного согласования
протокола Канального уровня с Физическим уровнем, поскольку механизмы
управления доступом к среде передачи имеют ярко выраженную
зависимость от размера передаваемых кадров и длины сегментов кабеля.
Глава 2. Эталонная сетевая модель OSI
33
Адресация
Заголовок протокола Канального уровня содержит адрес компьютера,
отправившего пакет, и адрес компьютера, который должен получить этот
пакет. На этом уровне используются аппаратные (MAC) адреса, которые в
большинстве случаев "зашиты" производителем в микросхему платы
сетевого адаптера каждого компьютера. В сетях Ethernet и Token Ring
используются адреса длиной 6 байт, из которых первые 3 байта выделяются
производителю Институтом инженеров по электротехнике и электронике (IEEE,
Institute of Electrical and Electronic Engineers), a 3 последних байта
назначаются самим производителем. В нескольких более старых протоколах, таких
как ARCNET, адреса присваиваются администратором сети, однако схема,
когда адреса назначаются производителем, является более целесообразной,
так как она гарантирует отсутствие повторяющихся адресов.
Протоколы Канального уровня не заботятся о доставке пакета конечному
адресату, если получатель находится в той же ЛВС, что и отправитель. Когда
маршрут следования пакета до его места назначения проходит через несколько
сетей, поля протокола Канального уровня отвечают только за доставку пакета
маршрутизатору локальной сети, обеспечивающему доступ к следующей сети
маршрута следования пакета. Таким образом, адрес получателя в заголовке
протокола Канального уровня всегда относится к устройству, расположенному в
локальной сети, даже если конечный компьютер, которому отправлено
сообщение, находится в сети, удаленной на расстояние в несколько миль.
Протоколы Канального уровня, используемые в ЛВС, полагаются на
совместно задействуемую среду передачи данных. Все компьютеры сегмента сети
получают каждый пакет, но только система, адрес которой совпадает с
адресом, указанным в заголовке пакета, считывает пакет в буфер памяти и
обрабатывает его. Все другие узлы просто отбрасывают пакет, не предпринимая
каких-либо действий.
Управление доступом к среде
Управление доступом к среде — это процесс, посредством которого
протокол Канального уровня разрешает спорные ситуации, связанные с
попытками одновременного использования сетевой среды передачи. Для того чтобы
сеть могла функционировать эффективно, каждая рабочая станция,
подключенная к общему кабелю или другой среде передачи, должна иметь
возможность регулярно передавать информацию. Это одна из причин, по которой
передаваемые данные разбиваются на пакеты. Если компьютеры будут
пересылать все свои данные непрерывным потоком, то с большой степенью
вероятности можно предположить, что они монополизируют сеть на
продолжительный период времени.
В большинстве современных ЛВС применяются два основных способа
контроля доступа к среде. Метод доступа с передачей маркера используется се-
34
Часть I. Введение в сетевые технологии
тями Token Ring и FDDI; он основан на передаче от одной рабочей станции
к другой специального кадра, называемого маркером (token). Только система,
завладевшая маркером, имеет право отправлять свои сообщения. Рабочая
станция, захватившая служебный кадр, передает свои данные и освобождает
маркер, который, в свою очередь, может быть "захвачен" другим
компьютером. До тех пор, пока в сети перемещается только один маркер
(предполагается, что сеть* функционирует правильно), передача данных одновременно
двумя системами будет невозможна.
^ Примечание ^Д
Для получения более подробной информации о методе доступа с передачей
маркера см. главу 9.
Другой метод доступа, используемый в сетях Ethernet, называется
множественным доступом с контролем несущей и обнаружением коллизий (CSMA/CD,
Carrier Sense Multiple Access with Collision Detection). Метод заключается в
том, что рабочая станция прослушивает сетевой кабель и передает
информацию только в том случае, если сетевая среда в данный момент свободна.
В CSMA/CD сетях возможно (и даже ожидаемо) возникновение ситуации,
когда несколько рабочих станций начинают передавать данные
одновременно. Результатом этого процесса является появление коллизий. Чтобы
исправить данную ситуацю, каждая система имеет механизм, позволяющий
выявить возникнувшие столкновения и повторно передать потерянные данные.
[^ Примечание ^
Для получения более подробной информации о CSMA/CD см. главу 8.
Эти механизмы для обеспечения собственного правильного
функционирования должны опираться на спецификации Физического уровня. Например,
Ethernet системы могут обнаружить появление коллизии только в том
случае, если рабочая станция все еще передает пакет. Если сегмент сети
слишком длинный, конфликт может возникнуть уже после того, как последний
бит информации покинул передающую систему, таким образом, коллизия
останется незамеченной. Данные такого пакета будут потеряны, и
обнаружить их отсутствие смогут только протоколы вышележащих уровней той
системы, которой предназначалось сообщение. Таким образом, если
эталонная модель OSI выделяет четкую границу между Физическим и
Канальным уровнями, в реальном мире их функции сильно переплетены.
Индикатор протокола
Большинство реализаций протокола Канального уровня разработаны для
единовременной поддержки нескольких протоколов Сетевого уровня. Это
означает, что на каждом компьютере доступны несколько путей для прохо-
Глава 2. Эталонная сетевая модель OSI
35
ждения информации через стек протоколов. Для того чтобы иметь
возможность использовать множество протоколов Сетевого уровня, заголовок
протокола Канального уровня должен содержать код, определяющий, какой из
протоколов Сетевого уровня был выбран для создания полезной нагрузки
пакета. Выполнение этого требования дает возможность принимающей
системе передать данные, содержащиеся в кадре, соответствующему процессу
Сетевого уровня.
Например, в сети, состоящей из серверов под управлением Windows NT и
Novell NetWare, одни пакеты переносят IP-дейтаграммы, а другие
используют на Сетевом уровне протокол IPX. Чтобы различать эти два протокола,
в спецификации DIX Ethernet II определено поле заголовка, называемое
Ethertype, которое содержит код, идентифицирующий протокол Сетевого
уровня. Спецификации IEEE 802 используют поле SNAP (Sub-Network
Access Protocol, протокол доступа к подсетям) для выполнения схожих
функций, причем значения кодов, специфицирующих протокол, совпадают со
значениями в поле Ethertype.
Выявление ошибок
Большинство протоколов Канального уровня отличаются от всех протоколов
верхнего уровня наличием постинформации, следующей за полезными
данными. Эта постинформация содержит поле контрольной последовательности
кадра (FCS, frame check sequence), которое используется для выявления
любых ошибок, возникающих во время передачи данных. Для этого система,
отправляющая пакет, вычисляет значение циклического избыточного кода
(CRC) для всего кадра и включает его в поле FCS. Когда пакет достигает
места своего назначения, принимающая сторона выполняет точно такие же
вычисления и сравнивает их результаты со значением рассматриваемого
поля. Если значения не совпадают, пакет считается поврежденным при
пересылке и "молча" отбрасывается.
Принимающая система не предпринимает никаких действий, чтобы
передача отбракованных пакетов повторилась. Эти действия производят протоколы
вышележащих уровней модели OSI. Данный процесс выявления ошибок
осуществляется всеми промежуточными узлами пересылки на пути
следования пакета к месту его назначения. Некоторые протоколы вышележащих
уровней имеют свои собственные механизмы выявления ошибок.
Сетевой уровень
Протокол Сетевого уровня является основным переносчиком сообщений,
создаваемых на Прикладном уровне. Это означает следующее: в отличие от
протокола Канального уровня, функции которого ограничены доставкой
пакета к его следующему месту назначения внутри локальной сети, прото-
36
Часть I. Введение в сетевые технологии
кол Сетевого уровня отвечает за весь маршрут следования пакета от
передающей системы до конечного места назначения. Протокол Сетевого уровня
принимает данные от Транспортного уровня и упаковывает их в
дейтаграммы, добавляя свой собственный заголовок. Как и заголовок протокола
Канального уровня, заголовок Сетевого уровня содержит адрес
системы-получателя, но этот адрес идентифицирует уже конечное место назначения
пакета. Таким образом, два адреса места назначения в заголовках протоколов
Канального и Сетевого уровня могут в действительности принадлежать двум
различным компьютерам. По существу, дейтаграмма протокола Сетевого
уровня является оболочкой, вложенной внутрь оболочки Канального уровня;
при этом, если оболочка Канального уровня открывается каждой системой,
обрабатывающей пакет, оболочка Сетевого уровня остается закупоренной до
тех пор, пока пакет не достигнет получателя.
Помимо адресации, протокол Сетевого уровня выполняет некоторые, а
иногда и все, перечисленные ниже функции:
□ Маршрутизацию;
□ Фрагментацию;
□ контроль ошибок;
□ идентификацию протокола Транспортного уровня.
Маршрутизация
Протоколы Сетевого уровня используют различные типы адресных систем для
указания конечного места назначения пакета. Наиболее популярный протокол
Сетевого уровня — IP (Internet Protocol, межсетевой протокол). Он
обеспечивает свое собственное 32-разрядное адресное пространство, которое
идентифицирует две сети, в одной из которых расположена система-получатель, а в
другой находится система-отправитель. Протокол IPX (Internetwork Packet
Exchange, межсетевой обмен сообщениями) использует раздельное адресное
пространство и при идентификации отдельных систем полагается на
аппаратные адреса плат сетевых адаптеров.
Адрес, по которому можно однозначно определить отдельную сеть,
жизненно важен для выполнения основной функции протокола Сетевого уровня,
которая называется маршрутизацией (routing). Когда пакет путешествует по
большой корпоративной сети или по Интернету, он передается от
маршрутизатора к маршрутизатору до тех пор, пока не достигнет сети, в которой
расположена система-получатель. Исходя из соображений надежности,
грамотно разработанная сеть имеет более чем один возможный маршрут до
необходимого места назначения, а Интернет обладает буквально тысячами
доступных маршрутов. Каждый маршрутизатор отвечает за определение
следующего маршрутизатора, через который должен быть отправлен пакет,
чтобы достигнуть своего места назначения наиболее рациональным путем. Так
Глава 2. Эталонная сетевая модель OSI
37
как протоколы Канального уровня безусловно игнорируют все, что
расположено за пределами локальной сети, то они оставляют решение задачи
определения подходящего маршрута в целом до конечного адресата протоколу
Сетевого уровня.
Сетевой уровень определяет два типа компьютеров, которые могут быть
вовлечены в процесс пересылки пакетов: конечные системы и промежуточные
системы. Конечная система — это всегда либо компьютер, создавший и
отправивший пакет, либо компьютер, которому пакет предназначен.
Промежуточная система — это маршрутизатор либо коммутатор, который
соединяет две или более сети, и перенаправляет пакеты по пути, ведущему к месту
их назначения. В конечных системах все семь уровней стека протоколов
вовлечены в создание или получение пакетов. Промежуточные системы
обрабатывают пакеты и передают их вверх по стеку только до Сетевого уровня
(рис. 2.10). Протокол Сетевого уровня выбирает дальнейший маршрут для
пакета и посылает его обратно вниз протоколу Канального уровня для
упаковки и передачи на Физический уровень.
Прикладной
уровень
Представительский уровень
Сеансовый
уровень
Транспортный
уровень
Сетевой
уровень
Канальный
уровень
Физический
уровень
Ч
г
\
ч
ч
ч
ч
ч
ч
к
-
Сетевой уровень
Канальный уровень
Физический уровень
\
\
Ч
ч
ч
i
\
Прикладной
k уровень
Представительский уровень
Сеансовый
уровень
Транспортный
уровень
Сетевой
уровень
Канальный
уровень
Физический
уровень
к
///////
N
Рис. 2.10. В промежуточных системах пакет достигает только Сетевого уровня
Когда промежуточная система получает пакет, протокол Канального уровня
проверяет его на наличие ошибок и корректность аппаратного адреса, а
затем отбрасывает заголовок и постинформацию своего уровня, после чего
пакет передается тому протоколу Сетевого уровня, на который указывает
поле Ethertype или его эквивалент. Начиная с этого момента, пакет состоит
из дейтаграммы, которая включает заголовок протокола Сетевого уровня и
полезные данные, созданные Транспортным уровнем системы-отправителя.
Протокол Сетевого уровня считывает из заголовка адрес
системы-получателя и определяет, каким должен быть адрес следующего пункта
назначения. Если пунктом назначения является рабочая станция, расположенная в
38
Часть I. Введение в сетевые технологии
локальной сети, то промежуточная система отправляет пакет прямо ей. Если
пункт назначения расположен в удаленной сети, то промежуточная система
обращается к таблице маршрутов, чтобы выбрать маршрутизатор, который
обеспечит прохождение пакета к месту назначения по наиболее
эффективному маршруту.
Сбор и сохранение в таблице ссылок информации о маршрутах — это
отдельный процесс Сетевого уровня. Он осуществляется либо вручную —
администратором, либо автоматически — специализированным протоколом
Сетевого уровня, который используется маршрутизаторами для обмена
информацией о сетях, к которым они подключены. Определив следующее
место назначения пакета, протокол Сетевого уровня возвращает эту
информацию вместе с дейтаграммой протоколу Канального уровня с той целью,
чтобы она была заключена в новый кадр и передана далее. В случае, если
на Сетевом уровне используется протокол IP, необходимо выполнение
дополнительного процесса, который позволяет преобразовывать IP-адрес
следующего места назначения в аппаратный адрес, используемый протоколом
Канального уровня.
Фрагментация
Вследствие того, что маршрутизаторы могут соединять сети, использующие
различные протоколы Канального уровня, иногда могут понадобиться
промежуточные системы, разбивающие дейтаграммы на фрагменты,
удовлетворяющие примененному протоколу. Например, если рабочая станция,
расположенная в сети Token Ring, формирует пакеты длительностью 4500 байт
данных, то промежуточная система, соединяющая сеть Token Ring с сетью
Ethernet, должна разбивать их на фрагменты размером не более, чем 1500
байт. Это связано с тем, что кадр сети Ethernet не может переносить
большее количества данных.
Дейтаграммы, которые были поделены промежуточной системой на
фрагменты, не восстанавливаются до тех пор, пока не достигнут своего места
назначения. В зависимости от типа протоколов Канального уровня
различных промежуточных сетей фрагменты дейтаграмм могут быть фрагментиро-
ваны повторно.
Протоколы с установлением соединения
и без установления соединения
Выделяются два типа протоколов, функционирующих на Сетевом и
Транспортном уровнях: с установлением соединения и без установления
соединения. Тип используемого протокола помогает определить остальные
функции, выполняемые на каждом уровне. В случае использования протокола с
установлением соединения (connection-oriented), прежде чем будут переданы дан-
Глава 2. Эталонная сетевая модель OSI
39
ные вышележащего уровня, должна быть установлена логическая связь
между системой-отправителем и системой-получателем. После того как
соединение установлено, система-отправитель передает данные, а
система-получатель подтверждает их прием. Отсутствие соответствующего подтверждения
приема рассматривается системой-отправителем как сигнал для повторной
передачи пакетов. Когда передача данных успешно завершена, системы
разрывают соединение. Использование данного типа протокола дает системе,
отправляющей данные, уверенность в том, что данные успешно доставлены
в место их назначения. Ценой этого гарантированного сервиса является
дополнительный сетевой трафик, вызванный установкой соединения,
посылкой подтверждений и сообщениями о разрыве соединения.
Протокол без установления соединения (connectionless protocol) просто
упаковывает данные и посылает их по адресу назначения без проверки того, что
система-получатель доступна, и ожидания подтверждения приема данных.
В большинстве случаев протоколы без установления соединения
используются, когда гарантия доставки и другие сервисы, присущие протоколу с
установлением соединения, обеспечиваются другим уровнем стека. Эти
дополнительные сервисы могут включать управление потоком данных,
выявление и коррекцию ошибок.
Большинство протоколов ЛВС, функционирующих на Сетевом уровне,
таких как IP и IPX, являются протоколами без установления соединения.
Объясняется это тем, что в случае применения таких протоколов на
Транспортном уровне доступны для использования различные протоколы,
которые обеспечивают как сервисы, ориентированные на установление
соединения, так и сервисы без поддержки такового. В настоящее время существует
несколько протоколов Сетевого уровня с установлением соединения, таких
как Х.25; но широкое распространение TCP/IP, который поддерживает
только IP-коммуникации без установки соединения, удалило этот тип
протоколов с Сетевого уровня. Тем не менее, вопреки своей сущности,
протокол IP имеет механизм выявления ошибок, однако, последний проверяет
наличие ошибок только в полях IP-заголовка, оставляя проверку данных
протоколам других уровней.
Транспортный уровень
Начиная с Транспортного уровня, процесс доставки пакетов от источника
до получателя отходит на задний план. Протоколы Транспортного уровня и
всех уровней, расположенных выше, полностью оставляют решение задач
адресации и доставки Сетевому и Канальному уровням. Как обсуждалось
ранее, пакеты, при их обработке промежуточными системами, не
поднимаются выше Сетевого уровня стека протоколов. Таким образом, протоколы
Транспортного уровня функционируют только на двух конечных системах.
PDU Транспортного уровня состоит из заголовка и данных, полученных от
40
Часть I. Введение в сетевые технологии
Прикладного уровня, в дальнейшем он инкапсулируется протоколом
Сетевого уровня в дейтаграмму.
Одна из основных функций протокола Транспортного уровня заключается в
идентификации процессов вышележащего уровня, которые выработали
сообщение в системе-отправителе и должны принять его в
системе-получателе. Транспортные протоколы в' пакете TCP/IP, например, используют в
своих заголовках номера портов, чтобы идентифицировать сервисы верхних
уровней. Другие функции, которые должны быть выполнены на
Транспортном уровне, включают в себя выявление и коррекцию ошибок, управление
потоком данных, подтверждение приема пакета, и другие средства,
присущие протоколам с установлением соединения.
Комбинации сервисов, предоставляемых
протоколами
Протоколы Канального и Сетевого уровней взаимодействуют вместе и на
своих уровнях взаимозаменяемы. Это означает, что допустимо использовать
практически любой протокол Канального уровня совместно с любым
протоколом Сетевого уровня. Однако протоколы Транспортного уровня тесно
привязаны к определенному протоколу Сетевого уровня и не могут быть
замещены. Комбинация из протоколов Транспортного и Сетевого уровней
предоставляет полный набор услуг, соответствующий конкретному
приложению. Так же, как и на Сетевом уровне, среди протоколов Транспортного
уровня могут быть выделены протоколы с установлением соединения и без
установления соединения. Документ модели OSI описывает четыре
возможные на этом уровне комбинации протоколов с установлением соединения и
без него (рис. 2.11). Какую из комбинаций следует использовать, зависит от
требуемых сервисов. Процесс выбора комбинации протоколов для
выполнения определенной задачи называется отображением (mapping) службы
Транспортного уровня на службу Сетевого уровня.
Выбор протокола Транспортного уровня основывается на требованиях
приложения, создавшего сообщение, и сервисов, уже предоставленных
протоколами нижних уровней. Руководство OSI описывает пять теоретических
классов протокола Транспортного уровня.
□ ТРО. Протокол без дополнительной функциональности. Предполагает,
что протоколы нижних уровней уже предоставляют приложению все
необходимые услуги.
□ ТР1. Протокол с исправлением обнаруженных ошибок. Дает
возможность исправить ошибки, обнаруженные протоколами,
функционирующими на нижних уровнях.
□ ТР2. Протокол с мультиплексированием. Включает коды,
идентифицирующие процесс, создавший пакет, и процесс, который должен обрабо-
Глава 2. Эталонная сетевая модель OSI
41
тать пакет на принимающей стороне. Это позволяет переносить трафик,
создаваемый несколькими приложениями, через одну сетевую среду.
□ ТРЗ. Протокол с исправлением обнаруженных ошибок и
мультиплексированием. Сочетает услуги, предоставляемые ТР1 и ТР2.
□ ТР4. Предлагает полный набор ориентированных на подключение услуг.
Включает обнаружение и исправление ошибок, управление потоком
данных и другие сервисы. Предполагает использование на нижних уровнях
протоколов без установления соединения, которые не оказывают
перечисленных услуг.
Протокол без установления
соединения
Протокол без установления
соединения
Протокол с установлением
соединения
Протокол с установлением
соединения
Рис. 2.11. Система может использовать различные комбинации протоколов
с установлением соединения и без установления соединения
Данная классификация сервисов Транспортного уровня является еще одним
местом, где теоретическая конструкция модели OSI основательно отличается
от действительности. Ни один из широко используемых наборов протоколов
не обладает пятью различными протоколами транспортного уровня,
согласующимися с этими классами. Большинство блоков протоколов, таких как
TCP/IP, имеют в своем составе два протокола, которые в основном
соотносятся с классами ТРО и ТР4, обеспечивающими услуги без установления
соединения и с установлением соединения соответственно.
Функции протокола Транспортного уровня
Протокол UDP представляет собой службу, которая вместе с протоколом IP
Сетевого уровня обеспечивает минимальный объем услуг для коротких
транзакций, не нуждающихся в сервисах протокола с установлением соедине-
42
Часть I. Введение в сетевые технологии
ния. Транзакции системы имен доменов (DNS, Domain Name System)
обычно состоят из обмена короткими сообщениями, которые умещаются в один
пакет; вследствие этого управление потоком данных не требуется. Типичная
транзакция состоит из запроса и ответа, который выполняет функцию
подтверждения приема. Таким образом, нет необходимости в использовании
какого-либо механизма, гарантирующего доставку. Однако протокол UDP
имеет механизм выявления ошибок, реализованный в виде подсчета
контрольной суммы, которая вычисляется на обеих системах — отправителе и
получателе. Поскольку UDP обеспечивает минимум дополнительных услуг,
длина его заголовка не превышает 8 байт, и издержки, вызванные
добавлением служебной информации к пакету, очень незначительны.
Протокол TCP, с другой стороны, является протоколом с установлением
соединения, и предоставляет полный спектр услуг, но цена этого — более
высокие издержки. Длина заголовка TCP составляет 20 байт. Также
протокол порождает большое количество дополнительных пакетов, вызванных
исключительно потребностями процедур управления, таких как установка
соединения, разрыв соединения и подтверждение приема пакета.
Сегментация и восстановление
Транспортные протоколы с установлением соединения разработаны для
передачи большого количества данных, при этом информация должна быть
разбита на сегменты, умещающиеся в отдельных пакетах. Сегментация
данных и нумерация сегментов являются важным элементом процесса передачи
и помимо этого делают осуществимым выполнение других функций, таких
как исправление ошибок. Процесс маршрутизации, выполняемый на
Сетевом уровне, является динамическим; и в случае передачи данных возможно
возникновение ситуации, когда сегменты следуют до места назначения
разными путями и приходят не в том порядке, как они были отправлены.
Нумерация сегментов позволяет принимающей системе восстановить
исходный порядок следования сегментов. Эта нумерация также дает возможность
системе-получателю сообщить отправителю, какой из пакетов был
поврежден или потерян. В результате, отправитель может не повторять целиком
всю передачу, а повторно переслать только потерянные сегменты.
Управление потоком данных
Управление потоком данных (flow control) — это одна из функций, обычно
предоставляемая протоколами Транспортного уровня с установлением
соединения. Она представляет собой механизм, согласно которому система,
принимающая данные, может сообщить отправителю о том, что он должен
снизить скорость передачи данных, или об опасности перегрузки системы-
получателя и потери данных. Заголовок TCP, например, включает в себя
поле Window, при помощи которого получатель устанавливает количество
байт, которое он может принять от отправителя в единицу времени. Если
Глава 2. Эталонная сетевая модель OSI
43
это значение в пакетах, успевших дойти, уменьшается, то отправитель знает,
что он должен уменьшить скорость передачи. Когда значение начинает
снова расти, отправитель может увеличить скорость пересылки.
Обнаружение ошибок
и восстановление информации
Эталонная модель OSI определяет две формы исправления ошибок, которые
могут быть реализованы протоколами Транспортного уровня с
установлением соединения. Одна из них — это реакция на ошибки, обнаруженные
другими протоколами стека. Данный механизм не предусматривает поиска
ошибок передачи самим протоколом Транспортного уровня. Вместо этого,
протокол Транспортного уровня получает извещение от протоколов
Сетевого или Канального уровня о том, что возникла ошибка и определенный
пакет был потерян или поврежден. Ему остается только послать сообщение,
содержащее перечень пакетов и запрос на их повторную пересылку обратно
системе-отправителю.
Другая, и наиболее широко применяемая форма исправления ошибок на
Транспортном уровне представляет собой законченный процесс,
начинающийся с обнаружения ошибок и заканчивающийся их коррекцией. Этот
процесс охватывает и ошибки, которые еще не были обнаружены каким-
либо другим способом. Несмотря на то, что большинство протоколов
Канального уровня имеют свои собственные механизмы выявления и
коррекции ошибок, они функционируют только при промежуточных пересылках
между двумя системами. Механизм выявления ошибок Транспортного
уровня обеспечивает контроль ошибок на всем участке между двумя конечными
системами и включает в себя возможность исправления ошибок, которая
осуществляется путем запроса у отправителя повторной передачи
определенных пакетов. Для осуществления этого в заголовок протокола
Транспортного уровня включена контрольная сумма, значение которой получено
из полей, не меняющихся в ходе всего путешествия до места назначения.
Периодически изменяющиеся поля, такие как индикатор Time-to-Live,
значение которого увеличивает каждый маршрутизатор, обрабатывающий
пакет, исключены из вычисления контрольной суммы.
Сеансовый уровень
Начиная с Сеансового уровня, границы между уровнями и их функциями
становятся более расплывчатыми. Нельзя выделить отдельный протокол,
который функционировал бы исключительно на Сеансовом уровне. Более
того, функциональные возможности Сеансового уровня поддержаны
другими протоколами, в том числе функции, попадающие в сферу деятельности
протоколов Представительского и Прикладного уровней. NetBIOS (Network
Basic Input/Output System, сетевая базовая система ввода/вывода) и NetBEUI
44
Часть I. Введение в сетевые технологии
(NetBIOS Extended User Interface, расширенный пользовательский
интерфейс NetBIOS) — показательные примеры таких протоколов.
Нижняя граница Сеансового уровня является чертой, за которой остаются
все аспекты, связанные с передачей данных между двумя системами.
Вопросы, касающиеся обнаружения ошибок, подтверждения приема пакетов и
управления потоком данных, остаются позади этой границы, так как все,
что требуется для реализации этих функций, уже делается протоколами
Транспортного уровня и уровней, лежащих ниже.
Сеансовый уровень также не имеет особого значения для обеспечения
безопасности и процессов регистрации в сети, как это может показаться, глядя
на его название. Более того, основные функции этого уровня связаны с
обменом сообщениями между двумя конечными системами. Этот обмен
называется диалогом (dialog). Помимо указанной, Сеансовый уровень
обеспечивает множество других функций, являясь поистине многоцелевым
"инструментарием" для разработчиков программного обеспечения.
Сервисы, обеспечиваемые Сеансовым уровнем, очень широко трактуются, и
даже во время разработки модели OSI существовал ряд вопросов
относительно того, к какому уровню их отнести. Двадцать два различных сервиса,
предоставляемые Сеансовым уровнем, собраны в подгруппы, такие как блок
функций ядра (Kernel Function Unit), подмножество основных действий (Basic
Activity Subset) и подмножество основной синхронизации (Basic Synchronization
Subset). Большинство этих сервисов интересны только разработчикам, а
некоторые даже дублируются в результате компромисса, принятого
комитетами во время слияния двух стандартов при создании модели OSI.
Взаимодействие между уровнями модели OSI упрощается за счет применения
примитивов службы запросов (service request primitives), представляющих собой
отдельные средства инструментария разработчика. Каждый уровень
предоставляет услуги уровню, расположенному непосредственно над ним. Процесс
использования уровнем услуг, оказываемых нижележащим уровнем,
осуществляется путем выполнения команд, предлагаемых соответствующим
примитивом службы запросов, с указанием значений дополнительных требуемых
параметров. Таким образом, процесс Прикладного уровня осуществляет запрос
сетевого ресурса, используя примитив, предложенный Представительским
уровнем. Когда запрос передается вниз через уровни, каждый из них
задействует соответствующий примитив нижележащего уровня. Этот процесс
выполняется до тех пор, пока сообщение не будет готово для передачи по сети. Как
только пакет достигнет своего места назначения, он преобразуется в
указательные примитивы (indication primitives), которые передаются вверх через
уровни стека процессу приложения-получателя.
Управление диалогом и разделение диалогов — два наиболее важных
сервиса, относящихся к Сеансовому уровню. Управление диалогом (dialog control) —
это средство, которое позволяет двум системам начать диалог, обменяться
Глава 2. Эталонная сетевая модель OSI
45
сообщениями, а после закончить диалог с уверенностью, что каждая
система получила предназначенные для нее сообщения. Это может показаться
простой задачей, но примем во внимание тот факт, что система может
передать сообщение другой системе и получить назад сообщение без
уверенности в том, что это ответ. Было ли принятое сообщение ответной посылкой
или оно было передано раньше? Такой тип коллизии может вызвать
серьезные проблемы, особенно когда одна из систем пытается завершить диалог
или создать контрольную точку. Разделение диалога (dialog separation) —- это
процесс вставки указателей в поток данных, доставляемых между двумя
системами. Эти указатели называются точками контроля (checkpoints), они
размещаются таким образом, что в один и тот же момент времени может быть
получена информация о состоянии обеих систем.
Управление диалогом
Когда две системы вступают в диалог Сеансового уровня, они выбирают
один из двух режимов управления обменом сообщениями на все время
сеанса: либо полудуплексный обмен, либо дуплексный. Каждое сеансовое
соединение имеет уникальный идентификатор размером 196 байт, состоящий
из четырех элементов:
□ указатель SS-USER инициатора;
□ указатель SS-USER ответчика;
О общий указатель;
О дополнительный указатель.
Однажды выбранный режим обмена не подлежит изменению. Для того
чтобы переключиться на другой режим, необходимо разорвать соединение и
установить его заново.
При полудуплексном режиме в любой из моментов времени только одна из
систем может передавать сообщения. Право передачи определяется
посредством маркера данных (data token). Каждая система по завершении передачи
отправляет маркер другой системе, используя примитив S-TOKEN-GIVE.
Только получив маркер, другая система может начать передачу своего
сообщения. Также существует примитив S-TOKEN-PLEASE, который система
может использовать для того, чтобы запросить маркер. Использование
дуплексного режима значительно усложняет процесс обмена. Как
свидетельствует название режима, при дуплексном обмене маркер не используется и обе
системы могут передавать сообщения одновременно.
^ Примечание ^|
Важно понимать, что маркер и соединение на Сеансовом уровне не имеют
ничего общего с одноименными элементами нижележащих протоколов. Маркер
Сеансового уровня не является эквивалентом маркера, используемого прото-
46
Часть I. Введение в сетевые технологии
колом Token Ring, как и соединение Сеансового уровня не эквивалентно
соединению Транспортного уровня протокола TCP. Две системы могут разорвать
соединение Сеансового уровня, в то время как соединение Транспортного
уровня будет открыто для дальнейшего обмена.
Использование маркера предотвращает возникновение проблем, связанных
с перекрестными сообщениями, и обеспечивает механизм упорядоченного
завершения (orderly termination) соединения между системами. Согласно
порядку процедуры завершения соединения, одна из систем сигнализирует о
своем намерении разорвать соединение и передает маркер. Другая система,
получив маркер, пересылает все данные, оставшиеся в ее буферах, и
использует примитив S-RELEASE, чтобы подтвердить прием запроса
разъединения. Приняв примитив S-RELEASE, первая система знает, что она получила
от другой системы все данные, ожидавшие отправки. Теперь она может
использовать примитив S-DISCONNECT для разрыва соединения.
В управлении диалогом предусмотрен механизм согласованного разъединения
(negotiated release). Он дает возможность одной системе отказать другой
системе в разъединении. Эта возможность используется в случае появления
коллизии, которая может возникнуть, если обе системы одновременно
сделают запрос на разъединение. Также существует маркер разъединения (release
token), который в первую очередь служит для предотвращения
возникновения подобных коллизий. Он позволяет сделать запрос на разъединение
только одной из систем.
Все эти механизмы являются "инструментами" из набора средств, который
Сеансовый уровень предоставляет разработчикам приложений; они не
являются автоматически выполняющимися фоновыми процессами. Когда
создается приложение, разработчик должен сам принять решение о
соответствии используемых примитивов поставленной задаче. Например, употребить
примитив S-TOKEN-GIVE вместо примитива S-TOKEN-PLEASE, или
применить согласованное разъединение вместо упорядоченного.
Разделение диалога
Приложения создают контрольные точки, чтобы сохранить свое текущее
состояние на диске на случай системного сбоя. Во время разработки модели
OSI этот метод более широко использовался, нежели сейчас. Как и в случае
с процессами управления диалогом, которые обсуждались ранее, процедура
расстановки контрольных точек должна быть явно определена
разработчиком, если в ней есть необходимость.
Когда приложение вовлекло во взаимодействие через сеть две системы,
контрольная точка должна обеспечить сохранение состояния обеих систем в
один и тот же момент. Выполнить согласованное действие на двух
различных компьютерах в точно определенный момент почти невозможно.
Системы могут осуществлять тысячи действий в секунду, и их синхронизация
Глава 2. Эталонная сетевая модель OSI
47
должна быть точна настолько, насколько это необходимо для
одновременного выполнения конкретной задачи. Вдобавок возникает проблема
сообщений, которые могут быть еще в пути во время создания контрольной
точки. В результате разделение диалога посредством сохранения контрольной
точки в определенном месте потока данных, пересылаемого между двумя
системами, оказывается точнее, чем выполнение этого действия в
определенный момент времени.
В полудуплексном режиме процесс создания контрольных точек
сравнительно прост. Одна система создает точку контроля и отправляет примитив,
называемый S-SYNC-MINOR. Другая система, получив этот примитив,
создает свою собственную точку контроля, уверенная в том, что во время
синхронизации не осталось данных, находящихся в процессе передачи. Такой
процесс называется простой синхронизацией (minor synchronization), так как он
работает с потоком данных, следующим только в одном направлении, и
требует только одной операции обмена управляющими сообщениями.
В дуплексном (полнодуплексном) режиме также возможно применение
простой синхронизации. Для этого используется специальный маркер простой
синхронизации, который удерживает обе системы от одновременной передачи
примитива S-SYNC-MINOR. Если бы было возможно переключиться из
дуплексного режима в полудуплексный, не разрывая соединения, то в
применении дополнительного маркера не было бы необходимости, но
переключиться между режимами невозможно. Это как раз то, что многие люди
считают основным недостатком в спецификации Сеансового уровня.
В большинстве случаев системы, использующие дуплексный режим
соединения, должны выполнять сложную синхронизацию (major synchronization), которая
отвечает не только за трафик, который может передаваться в обоих
направлениях, но также и за скоростной трафик. Примитив S-EXPEDITED позволяет
осуществить передачу от одной системы к другой, используя
высокоскоростной канал, отделенный от обычных коммуникационных каналов. Выполняя
рассматриваемую синхронизацию, система, владеющая маркером сложной
синхронизации (major/activity token), отправляет примитив S-SYNC-MAJOR, а
затем останавливает передачу до тех пор, пока не получит ответ. Тем не менее,
система, пославшая этот примитив, не может пока еще создать контрольную
точку, как это легко получается при простой синхронизации, поскольку
трафик от другой системы в данный момент может еще передаваться.
Получив примитив, принимающая сторона может создать свою
контрольную точку, так как все переданные ей данные уже приняты, включая
срочные, которые должны были прибыть до получения примитива. Затем
принимающая система передает подтверждающий ответ через обычный канал и
специальное сообщение PREPARE через канал срочной связи. Система,
инициировавшая процедуру синхронизации, получает сначала сообщение
PREPARE, а затем подтверждение. После чего она может приступить к
созданию своей точки контроля.
48
Часть I. Введение в сетевые технологии
Представительский уровень
В отличие от Сеансового уровня, который обеспечивает множество
различных функций, Представительский уровень имеет только одну. На самом
деле большую часть времени Представительский уровень в основном
функционирует как служба перевода (pass-through service). Это значит, что он
получает примитивы от Прикладного уровня и передает их дубликаты вниз
Сеансовому уровню, используя точку доступа к сервису Представительского
уровня (PSAP, Presentation Service Access Point) и точку доступа к сервису
Сеансового уровня (SSAP, Session Service Access Point), Все рассуждения
предыдущих разделов об использовании приложениями служб Сеансового уровня в
действительности, хотя и неявно, уже затрагивали вопросы, связанные со
службой перевода Представительского уровня, так как процессы на любом
уровне модели OSI могут непосредственно взаимодействовать только с
соседними уровнями.
В то время как основные функции примитивов не изменяются в процессе
прохождения ими Представительского уровня, сами примитивы могут быть
подвергнуты процессу перевода, являющемуся основной функцией уровня.
Приложение создает запрос к сетевым ресурсам, используя свой "родной"
синтаксис, однако язык системы, принимающей запрос, может быть
отличным. Например, соединение между PC и мэйнфреймом может потребовать
перекодирования сообщений из ASCII в EBCDIC. Системы могут также
применять шифрование и/или сжатие данных, передаваемых через сеть.
Процесс перевода осуществляется в две фазы, одна из которых выполняется
на Представительском уровне каждой из систем. Каждый из компьютеров
поддерживает абстрактный синтаксис, который представляет собой "родной"
синтаксис приложения, выполняемого в системе, и синтаксис передачи,
используемый для доставки данных через сеть. Представительский уровень
системы, отправляющей сообщение, переводит данные из формата,
соответствующего абстрактному синтаксису, в формат синтаксиса передачи, а затем
передает их вниз Сеансовому уровню. Когда сообщение достигает системы-
получателя, тот же Представительский уровень переводит данные из
синтаксиса передачи в абстрактный синтаксис приложения, принимающего
сообщение. Выбор синтаксиса передачи для каждого абстрактного синтаксиса
основывается на соглашении, которое достигается после установления
соединения Представительского уровня между двумя системами. В
зависимости от требований приложения и природы соединения между системами,
синтаксис передачи может поддерживать шифрование информации, сжатие
данных или просто преобразование.
^ Примечание ^Д
Как и в случае Сеансового уровня, соединение Представительского уровня не
является синонимом соединений, устанавливаемых на нижних уровнях. Также
Глава 2. Эталонная сетевая модель OSI
49
нет непосредственного взаимодействия между Представительскими уровнями
двух систем. Сообщения спускаются вниз через стек протоколов к физической
среде и в системе-получателе поднимаются вверх по стеку к
Представительскому уровню.
Процесс согласования синтаксиса начинается, когда система использует
примитив P-CONNECT для того, чтобы передать набор представительских
контекстов, состоящий из пар, сложенных, в свою очередь, из абстрактных
контекстов и контекстов передачи, поддерживаемых данной системой.
Каждому представительскому контексту в качестве номера присваивается
нечетное целое число, называемое идентификатором представительского
контекста. Таким сообщением система информирует другую систему о
возможностях своего Представительского уровня. Сообщение может содержать
множество контекстов передачи для каждого абстрактного контекста, что
дает принимающей системе возможность выбора.
Получив сообщение P-CONNECT, система-адресат передает
представительский контекст процессам Прикладного уровня, которые решают, какой из
контекстов передачи, поддерживаемых каждым абстрактным контекстом,
они хотят использовать. Затем система-получатель возвращает список
контекстов отправителю. В нем для каждого абстрактного контекста указан
либо один выбранный контекст передачи, либо добавлено сообщение об
ошибке. Этот список, после получения его первоначальным отправителем,
становится набором оговоренных контекстов. Сообщение об ошибке
свидетельствует, что принимающая система не поддерживает ни один из
контекстов передачи для определенного абстрактного контекста. Когда процесс
согласования завершен, системы могут предложить новый
представительский контекст в дополнение к набору оговоренных контекстов или удалить
контекст из набора, используя примитив P-ALTER-CONTEXT.
Прикладной уровень
Расположенный на вершине стека протоколов Прикладной уровень является
источником и приемником для всех передаваемых через сеть сообщений.
Все процессы, обсуждаемые в предыдущих разделах, инициируются
приложением, которому требуется получить доступ к сетевому ресурсу. Процессы
Прикладного уровня, тем не менее, не обязательно являются синонимами
самих приложений. Например, при использовании текстового процессора
для открытия документа, сохраненного на сервере, запрос перенаправляется
в локальную сеть. Сам текстовый процессор не предусматривает процесса
Прикладного уровня, необходимого для доступа к файлу. В большинстве
случаев эту функцию выполняет элемент операционной системы, который
умеет различать запросы, направленные к файлам на локальных дисках и к
файлам, расположенным в сети. Некоторые приложения, однако,
разработаны специально для доступа к сетевым ресурсам. Специализированное
50
Часть I. Введение в сетевые технологии
приложение FTP-клиента, например, неотделимо от протокола Прикладного
уровня, который оно использует для взаимодействия через сеть. Ниже
перечислены некоторые протоколы, неразрывно связанные с приложениями, их
использующими:
□ DHCP (Dynamic Host Configuration Protocol, протокол динамической
конфигурации хостов);
(-j jyTP (Trivial File Transfer Protocol, простейший протокол передачи файлов);
□ DNS (Domain Name System, система доменных имен);
□ NFS (Network File System, сетевая файловая система);
П RIP (Routing Information Protocol, протокол обмена информацией
маршрутизации);
□ OSPF (Open Shortest Path First, протокол маршрутизации с выбором
кратчайшего маршрута);
□ BGP (Border Gateway Protocol, протокол граничного шлюза).
Между двумя этими крайностями находятся многочисленные разновидности
приложений, которые осуществляют доступ к сетевым ресурсам разными
способами и по различным причинам. Некоторые приложения обращаются
к протоколам, предназначенным для специфических типов сетевых
запросов. К таким протоколам относятся: SMTP (Simple Mail Transport Protocol,
простой протокол пересылки почты) и РОРЗ (Post Office Protocol, почтовый
протокол), используемые для электронной почтовой связи; протокол
удаленного администрирования сети SNMP (Simple Network Management
Protocol, простой протокол управления сетью); HTTP (Hypertext Transfer Protocol,
протокол передачи гипертекста), применяемый для взаимодействия в WWW
(World Wide Web, всемирная "паутина"); NNTP (Network News Transfer
Protocol, протокол передачи сетевых новостей). Как видно из этой главы,
четыре нижние уровня модели OSI выполняют функции, которые легко отделить
друг от друга, в то время как функции Сеансового, Представительского и
Прикладного уровней имеют тенденцию к слиянию вместе. Многие
протоколы Прикладного уровня, перечисленные здесь, включают функции,
которые можно справедливо отнести как к Представительскому, так и к
Сеансовому уровню. Но важно не позволять модели OSI проникать слишком
глубоко в ваше восприятие передачи данных по сети. Модель — это только
средство, которое помогает понять, как функционируют сети, а не
руководство для создания сетевых технологий. Производители при разработке
своих продуктов не всегда интересуются их соответствием уровням
теоретической модели, и вы тоже не обязаны это делать.
ЧАСТЬ II.
СЕТЕВОЕ АППАРАТНОЕ
ОБЕСПЕЧЕНИЕ
Глава 3
Платы сетевых адаптеров
Между каждым компьютером сети и кабелем сети либо иной средой
беспроводной передачи сигналов должен быть соответствующий интерфейс для
того, чтобы иметь возможность передавать данные другой системе.
Наиболее распространенный на сегодня тип сетевого интерфейса — плата
адаптера, которая подсоединяется к шине расширения компьютера и сетевому
кабелю. Обычно такую плату называют платой сетевого адаптера (NIC,
network interface card) (рис. 3.1). В большинстве случаев сетевой адаптер —
это отдельный модуль, который можно вставлять и вынимать из
компьютера, но в последнее время в ряде систем сетевые адаптеры интефируются в
материнскую плату. Модемы также являются разновидностью сетевого
интерфейса; в этом случае сеть может состоять всего из двух компьютеров,
соединенных вместе. Операционная система Windows, например, даже
рассматривает модемы как часть своей сетевой архитектуры, во многом
напоминающую сетевой адаптер, но с некоторыми различиями в аппаратных
возможностях.
швя
Рис. 3-1. Типичная плата сетевого адаптера
54
Часть II. Сетевое аппаратное обеспечение
Функции сетевого адаптера
Плата сетевого адаптера в сочетании с драйвером обеспечивает выполнение
функций протоколов Канального уровня, используемых компьютером,
подключенным к сети, такой как Ethernet или Token Ring, а также части
функций Физического уровня. Помимо этого сетевой адаптер устанавливает
связь между протоколом Сетевого уровня, который целиком и полностью
реализуется средствами операционной системы, и сетевой средой передачи
данных, в большинстве случаев являющейся кабелем, подсоединенным к
адаптеру.
Сетевой адаптер и его драйвер осуществляют основные функции,
необходимые для доступа компьютера к сети. Процесс пересылки данных состоит из
следующих шагов (которые, естественно, при получении пакета
располагаются в обратном порядке):
1. Передача данных. Данные, размещенные в оперативной памяти
компьютера, передаются сетевому адаптеру через системную шину; при этом
применяется одна из следующих технологий: прямой доступ к памяти
(DMA, direct memory access), общая память или программируемый
ввод/вывод.
2. Размещение данных в буфере. Скорость, с которой компьютер
обрабатывает информацию, отличается от скорости передачи данных по сети. Как
следствие, плата сетевого адаптера содержит буферы памяти, которые
используются для накопления и хранения данных с той целью, чтобы эти
данные можно было обрабатывать порциями фиксированного объема.
Обычная плата адаптера Ethernet имеет буфер размером 4 Кбайта,
поделенный на части для передачи и приема, по 2 Кбайта каждая. Платы
Token Ring и адаптеры Ethernet высокого класса могут обладать буфером
размером 64 Кбайта и более, который может быть разбит на области для
приема и передачи произвольным образом.
3. Создание кадра. Сетевой адаптер получает данные, упакованные
протоколом Сетевого уровня, и инкапсулирует их в кадр, который включает
собственно заголовок Канального уровня и постинформацию. В
зависимости от размера пакета и используемого протокола Канального уровня,
адаптеру, возможно, также потребуется поделить данные на сегменты
соответствующего размера для передачи их в сеть. Кадры Ethernet,
например, переносят 1500 байт данных, в то время как кадры Token Ring могут
содержать сегменты размером до 4500 байт. Для входящего трафика
сетевой адаптер считывает информацию в кадры Канального уровня,
проверяет их на наличие ошибок и определяет, должен ли пакет быть передан
следующему уровню протокольного стека. Если да, то адаптер удаляет
оболочку кадра Канального уровня и передает вложенные данные
протоколу Сетевого уровня.
Глава 3. Платы сетевых адаптеров
55
4. Управление доступом к среде. Сетевой адаптер также несет
ответственность за арбитраж доступа системы к общей среде передачи данных, что
обеспечивается соответствующим механизмом управления доступом к
среде (MAC, media access control). Нам известно, что необходимо
предотвращать передачу данных по сети несколькими системами одновременно,
так как бесконтрольная передача может привести к потере данных в
результате возникновения коллизии пакетов. Механизм управления
доступом к среде — отдельный, наиболее подробно описываемый в
руководствах, элемент протокола Канального уровня. Метод множественного
доступа с контролем несущей и обнаружением коллизий (CSMA/CD, Carrier
Sense Multiple Access with Collision Detection), применяемый в сетях Ethernet,
радикально отличается от аппарата доступа с передачей маркера,
поддерживаемого сетями Token Ring, но основные функции этих механизмов, в
конечном счете, одни и те же. (Для входящего трафика нет
необходимости в использовании механизма управления доступом к среде.)
5. Параллельное/последовательное преобразование. Системная шина,
соединяющая сетевой адаптер и массив основной памяти компьютера,
осуществляет обмен данными в параллель — по 16 или 32 бита одновременно,
в то время как адаптер передает и принимает данные из сети
последовательно — по одному биту. Сетевой адаптер отвечает за размещение
получаемых параллельно данных в своем буфере и преобразование этих
данных в последовательный поток битов для последующей передачи через
сетевую среду. Для данных, получаемых из сети, описанный процесс
носит обратный характер.
6. Кодирование/декодирование данных. Компьютер работает с данными в
двоичной форме, поэтому, прежде чем они смогут быть переданы по
сети, их необходимо закодировать способом, подходящим для сетевой
среды передачи данных, а входящие сигналы должны быть, соответственно,
декодированы при приеме. Рассматриваемый и следующий шаг являются
процессами Физического уровня, реализуемыми непосредственно
сетевым адаптером. Для медного кабеля данные переводятся в электрические
импульсы, для оптоволоконной линии — преобразуются в световые
импульсы. Другие среды передачи могут использовать радиоволны,
инфракрасное излучение или иные технологии. Схема кодирования определяется
задействуемым протоколом Канального уровня. Например, в Ethernet
применяется манчестерская перекодировка, а в сетях Token Ring —
разностное манчестерское кодирование.
7. Прием/передача данных. На этом шаге сетевой адаптер усиливает сигнал
до подходящей амплитуды и посылает закодированные им данные через
сетевую среду. Это — чисто физический процесс, целиком и полностью
зависящий от природы сигнала, используемого сетевой средой.
56
Часть II. Сетевое аппаратное обеспечение
Г^ Примечание ^д
Для получения более подробной информации о специфических элементах
различных протоколов, относящихся к описанной процедуре, см. главу 8 для
протокола Ethernet, главу 9 — для Token Ring и 100VG AnyLAN и главу 10— для
высокоскоростных протоколов Канального уровня, таких как FDDI и ATM.
Дополнительно плата сетевого адаптера предоставляет аппаратный (MAC)
адрес, служащий для идентификации узла в локальной сети, протоколу
Канального уровня. Большинство протоколов Канального уровня, в том числе
все их разновидности для Ethernet и TokenRing, полагаются на адреса,
"зашитые" производителем в плату. В действительности МАС-адреса указывают
на сетевую плату, но не на целую систему. В случае, если в компьютер
установлены два сетевых адаптера, подключенные к двум разным сетям, каждый
из них имеет свой МАС-адрес, идентифицирующий адаптер в той сети, к
которой он подсоединен.
Некоторые старые протоколы, такие как ArcNet, требуют от администратора
ручной установки аппаратных адресов для каждого сетевого адаптера. Если в
сети имеются узлы с одинаковыми аппаратными адресами, то при обмене
данными возникают проблемы. Сегодня МАС-адреса назначаются в два
этапа, и напоминают они более IP-адреса или доменные имена. Институт
инженеров по электротехнике и электронике (IEEE) поддерживает реестр
производителей плат сетевых, адаптеров, и, по мере необходимости, присваивает
им трехбайтовые адресные коды. Производители, в свою очередь, включают
эти коды в начало шестибайтового МАС-адреса для каждого изготавлива-
мого ими адаптера. В оставшихся трех байтах производитель сохраняет
уникальный идентификатор, присваиваемый каждому выпускаемому сетевому
адаптеру.
^ Примечание jj
Базу данных с кодами производителей от IEEE можно найти в Web по адресу
http://standarts.ieee.org/regauth/oui/index.html.
Дополнительные возможности
сетевых адаптеров
В дополнение к основным функциональным возможностям, описанным
ранее, платы сетевых адаптеров могут поддерживать множество других
функций, зависящих от производителя, ценовой категории и типа компьютера, в
котором предполагается использовать это устройство. Некоторые из этих
возможностей обсуждаются в следующих ниже разделах.
Глава 3. Платы сетевых адаптеров
57
Полный дуплекс
Большинство протоколов Канального уровня, рассчитанных на кабель из
витой пары, пропускают передаваемый и принимаемый сигналы по разным
парам. Однако, даже в этом случае, сетевой адаптер обычно работает в
полудуплексном режиме. Это означает, что в любой момент времени он может
передавать или принимать данные, но не может делать оба действия
одновременно. Иначе, адаптер, который работает в дуплексном (полнодуплексном)
режиме, в состоянии одновременно отправлять и получать сообщения,
удваивая тем самым пропускную способность сети (рис. 3.2).
¥*Ц Полудуплексная 1^4
--- передача __/
,^М^- ~,*£*~ рИСв 3.2. Полудуплексные системы в любой
_ -™- момент времени передают данные только
Ррр|1Полно-дуплекснаяР*®4 в одном направлении, а полнодуплексные
„—„ передача * __ * могут обмениваться данными в обоих
«Ж^ -."££'.. направлениях одновременно
Когда сетевой адаптер работает в полнодуплексном режиме, он имеет
возможность передавать и принимать данные в любой момент времени, не
используя механизм управления доступом к среде. Этот режим также
исключает коллизии, что увеличивает общую производительность сети. Но для
работы сети в полнодуплексном режиме недостаточно просто использовать
сетевые карты, поддерживающие этот режим. Концентратор, коммутатор,
маршрутизатор и другие устройства, к которым подключен компьютер, тоже
должны осуществлять полнодуплексные операции.
Ц^ Примечание jj
Полнодуплексные операции обычно применяются в Fast Ethernet. Для
получения более подробной информации см. главу 8.
Управление шиной
Обычно, когда осуществляется обмен данными между памятью и платой
расширения через системную шину, процессор работает как посредник,
считывая данные из источника и передавая их приемнику. Это действие
занимает процессорное время, которое могло бы быть потрачено на
выполнение приложений или других задач. Плата расширения с возможностью
управления шиной (bus mastering) содержит набор микросхем, позволяющий
сетевой плате управлять доступом к системной шине. Такая возможность
исключает необходимость в использовании процессора при передаче данных
из памяти и обратно в память. Наличие у сетевого адаптера свойств
управления шиной позволяет системе функционировать более эффективно, по-
58
Часть II. Сетевое аппаратное обеспечение
скольку сберегается процессорное время, которое в противном случае
тратилось бы на операции передачи данных. Большинство предлагаемых в
магазинах сетевых плат с описанной дополнительной функцией рассчитаны на
шину PCI. Это одна из причин, по которой сетевой адаптер для шины PCI
более предпочтителен, даже если не требуется повышенная скорость
передачи данных по шине.
Параллельное выполнение задач
Параллельное выполнение задач (Parallel Tasking) — это функция, внедренная
компанией 3COM в выпускаемые ей адаптеры и впоследствии подхваченная
другими производителями сетевых плат. Этот термин описывает процесс,
когда сетевой адаптер начинает отправлять пакет по сети, в то время как он
все еще передается через системную шину. Платы адаптеров, лишенные
этой возможности, прежде чем начать пересылку пакета, должны ждать,
пока он не будет целиком сохранен в буфере адаптера.
Следующее нововведение 3COM, называющееся параллельное выполнение
задач II (Parallel Tasking II), связано с ускорением обмена данными через
шину PCI посредством дополнительного усовершенствования. Раньше
сетевые адаптеры могли передавать через шину PCI только 64 байта за один
цикл управления шиной. Это требовало выполнения большого количества
дискретных операций для пересылки каждого пакета. Параллельное
выполнение задач II позволяет в течение одной операции управления шиной
целиком переслать пакет Ethernet (1518 байт).
Дистанционное включение
Некоторые доступные сегодня платы сетевых адаптеров поддерживают
функцию дистанционного включения (remote wake-up), которая позволяет
администратору сети включить удаленный компьютер для выполнения резервного
копирования или других служебных задач. Для задействования этой
возможности необходимо наличие трехконтактного разъема
дистанционного.управления на материнской плате удаленного компьютера, и требуется, чтобы
администратор запустил приложение для управления настольными системами,
позволяющее послать рабочей станции соответствующий пакет.
IEEE 802.1 р
Стандарт 802.1р, опубликованный IEEE, описывает метод задания
приоритетов сетевым пакетам, назначаемых таким образом, что данные
специфических приложений могут передаваться в зависимости от срочности доставки.
Это позволяет приложениям потокового аудио и видео, например, посылать
данные через сеть в реальном времени без помех со стороны другого сете-
Глава 3. Платы сетевых адаптеров
59
вого трафика. Для использования данной возможности необходимо, чтобы
сетевой адаптер и операционная система поддерживали стандарт, подобный
802.1р. Эта относительно новая технология также называется качество
сервиса (QoS, quality of service). Существуют и другие стандарты,
предусматривающие аналогичные услуги. Для более подробной информации см. разд.
"Качество сервиса " главы 14.
Выбор платы сетевого адаптера
Выбор платы сетевого адаптера для определенного компьютера зависит от
различных факторов.
□ Протокола Канального уровня, функционирующего в сети.
□ Скорости передачи по сети.
□ Типа интерфейса между сетевым адаптером и сетью.
□ Типа системной шины, в которую вставляется плата адаптера.
□ Аппаратных ресурсов, запрашиваемых адаптером.
□ Требований к электрическому питанию.
□ Класса компьютера, использующего сетевой адаптер: сервер/рабочая
станция или домашний/офисный.
□ Наличия соответствующих драйверов.
В следующих разделах разбираются перечисленные критерии и оценивается
их влияние на производительность сетевого адаптера и сети в целом.
Протокол
Протокол Канального уровня является самой значимой характеристикой
сетевого адаптера. Наиболее часто используемый протокол этого уровня —
Ethernet, но также могут быть применены адаптеры, поддерживающие Token Ring,
FDDI, ATM и другие протоколы. Остальные характеристики сетевого
адаптера, такие как тип шины и аппаратные ресурсы, связаны исключительно со
спецификой компьютера, к которому это устройство подсоединяется, в
отличие от протокола, использование которого тесно сопряжено со многими
другими аспектами построения и функционирования сети.
Все компьютеры сети должны задействовать один и тот же протокол
Канального уровня, и выбрать его нужно заранее, до приобретения сетевого
адаптера. Это замечание относится ко всему сетевому оборудованию,
такому, как кабели, концентраторы и другие устройства, зависящему от
протокола. Выбранный сетевой адаптер должен быть совместим с типом кабеля
или другой средой, используемой сетью, а также со скоростью передачи
данных по сети. Например, для сети Ethernet нужен адаптер, поддерживаю-
60
Часть II. Сетевое аппаратное обеспечение
щий стандарт 10 Мбит/с и/или 100 Мбит/с Fast Ethernet. Можно выбрать
адаптер Ethernet, позволяющий подключаться к сети посредством неэкрани-
рованной витой пары (UTP, unshielded twisted pair), двух видов коаксиального
кабеля или оптоволоконного кабеля, а также различных видов беспроводной
передачи. Все затронутые аспекты конфигурации сети необходимо учесть до
покупки конкретной платы адаптера.
Производители и продавцы сетевых адаптеров обычно классифицируют
последние по типу протокола, поскольку при выборе адаптера покупатели,
прежде всего, руководствуются этим критерием. Также протокол оказывает
сильное влияние на стоимость адаптера. Различные протоколы по-разному
взаимодействуют через сеть и требуют соответствующих компонентов
устройства сетевого интерфейса. Помимо сказанного, стоимость адаптера в
немалой степени зависит от популярности протокола. Адаптеры для Ethernet
обычно самые дешевые, так как подавляющее большинство протоколов
разработано для Канального уровня Ethernet. Адаптеры Token Ring более
дорогие, поскольку данный протокол используется реже. Адаптеры и сетевые
устройства для сравнительно новых технологий, таких как ATM и Gigabit
Ethernet, — самые дорогостоящие.
Скорость передачи
Определенные протоколы Канального уровня могут передавать данные с
различной скоростью, и способность сетевого адаптера поддерживать
повышенные скорости передачи является важным аспектом при выборе
правильного оборудования для сети. В некоторых протоколах увеличение
скорости полностью встроено в технологию, в то время как в других более
быстрая версия все еще остается дополнительной возможностью. Протокол
Token Ring, например, изначально функционировал на 4 Мбит/с, но сейчас
фактически все сети Token Ring работают на скорости 16 Мбит/с, и трудно
найти сетевой адаптер, который не поддерживал бы это значение скорости.
Высокоскоростные протоколы Ethernet сравнительно новые. Fast Ethernet
(работающий на 100 Мбит/с) все быстрее заменяет традиционный 10 Мбит/с
Ethernet, но он все еще остается дополнительной возможностью,
предоставляемой вместе с платами сетевых адаптеров. Фактически все выпускаемые
адаптеры Ethernet являются комбинацией устройств, которые поддерживают
обе скорости выполнения операций (10 и 100 Мбит/с), что позволяет
постепенно обновлять традиционную сеть Ethernet на Fast Ethernet. Когда
устанавливается соединение между сетевым адаптером и концентратором, то
устройства устанавливают наивысшую возможную скорость.
Популярность Fast Ethernet настолько высока, что двухскоростные сетевые
адаптеры только немного дороже, чем устройства с производительностью
10 Мбит/с. Иногда разница в стоимости достигает всего порядка 10 $. Со
временем все выпускаемые сетевые адаптеры будут поддерживать обе скоро-
Глава 3. Платы сетевых адаптеров
61
сти, и, наоборот, станет трудно и дорого приобрести сетевую карту,
совместимую только с традиционным 10 Мбит/с Ethernet. Даже если
усовершенствование традиционной сети Ethernet до Fast Ethernet планируется вами
только в далеком будущем, будет правильным решением приобрести двух-
скоростные адаптеры, чтобы в дальнейшем их не пришлось заменять.
Стандарт 100VG AnyLAN, который был представлен приблизительно в то же
время, что и Fast Ethernet, не получил широкого распространения на
рынке, хотя он все еще применяется. Можно приобрести комбинацию из двух
сетевых адаптеров, поддерживающую оба стандарта: 10 Мбит/с Ethernet и
100VG AnyLAN на 100 Мбит/с. Это будет намного дороже, чем покупка
сетевой платы Ethernet/Fast Ethernet, однако удорожание вызвано тем, что
100VG AnyLAN основательно отличается от Ethernet и требует других
компонентов. По существу, адаптер Ethernet/ 100VG AnyLAN —- это два сетевых
адаптера на одной плате.
Последнее новшество Ethernet — Gigabit Ethernet — функционирует со
скоростью 1000 Мбит/с. Производители и продавцы по нескольким
соображениям помещают эту технологию в категорию, отличную от традиционной
Ethernet и Fast Ethernet. Первое из них подразумевает тот факт, что
технология новая и Gigabit Ethernet все еще находится на начальных стадиях
внедрения и маркетинга. Это означает, что данная продукция на рынке
сравнительно нова, и ее цены достаточно высоки. Сегодня стоимость адаптера
Gigabit Ethernet может отличаться от цены обычного адаптера Ethernet в
три-десять раз, достигая 700$ и больше. Второе — то, что скорость передачи
Gigabit Ethernet дает возможность использовать эту технологию в качестве
объединяющей магистрали между высокопроизводительными серверами.
Настольные системы все еще не требуют такой пропускной способности.
Соответственно, в ближайшем будущем маловероятно появление
комбинированных адаптеров с поддержкой Fast и Gigabit Ethernet.
Сетевой интерфейс
Тип кабеля (или другой передающей среды), который формирует структуру
сети, определяет также используемый адаптером сетевой интерфейс. Тип
сетевого кабеля обычно выбирается в то же время, что и протокол
Канального уровня, поскольку приобретаемый сетевой адаптер должен
поддерживать соответствующую среду передачи данных. Некоторые протоколы
Канального уровня рассчитаны на различные типы кабеля, и для каждого типа
существуют свои сетевые адаптеры. Также существуют протоколы,
разработанные для использования только одного типа кабеля.
Ethernet поддерживает большее количество альтернатив кабеля, чем любые
другие, часто применяемые, протоколы Канального уровня. Большинство
имеющихся сегодня сетей Ethernet используют неэкранированную витую
пару (UTP), которая требует наличия на сетевом адаптере разъема RJ-45.
62
Часть II. Сетевое аппаратное обеспечение
Однако, также легко доступны адаптеры с разъемами BNC и AUI для
"тонкого" и "толстого" Ethernet соответственно (рис. 3.3). Весьма
удивительно, что хотя сети на основе "тонкого" и "толстого" Ethernet сегодня можно
встретить редко, сетевые адаптеры, поддерживающие данные среды,
встречаются часто. Вследствие того, что все три упомянутые среды используют
электрические сигналы, передаваемые по кабелю, компоненты сетевого
адаптера для генерации сигналов похожи, вне зависимости от типа кабеля.
Это дает изготовителям возможность выпускать комбинированные
устройства с различными разъемами, которые поддерживают два или даже три
типа кабеля. Однако, добавление к сетевому адаптеру дополнительных
разъемов может значительно увеличить его стоимость, во многих случаях цена
адаптера почти удваивается.
^ Примечание JJ
Двухскоростные адаптеры Ethernet с различными разъемами являются
обычным явлением, но Fast Ethernet не может работать ни с одним из типов
коаксиального кабеля. Поэтому адаптеры этого типа имеют только разъем RJ-45 и
поддерживают обе скорости: 10 Мбит/с и 100 Мбит/с. Разъемы AUI и BNC
используются только для 10 Мбит/с. Для получения более подробной
информации о коннекторах и типах сетевых кабелей, включая "толстый" и "тонкий"
Ethernet, см. главу 4.
i
/
Разъем BNC Разъем AUI Разъем RJ-45
Рис. 3.3. Многопортовый сетевой адаптер с разъемами BNC, AUI и RJ-45
Приобретение сетевых адаптеров с несколькими разъемами оправдано в том
случае, если в будущем планируется перевести сеть с коаксиального кабеля
на витую пару. Существует мнение, что небольшое количество сетей на
коаксиальном кабеле останется, однако это не лучший повод потратить
дополнительные средства на обсуждаемый тип комбинированных адаптеров.
Хотя один из возможных случаев, когда приобретение может быть
оправдано, — наличие смешанной сети, состоящей из сегментов на основе витой
пары и коаксиального кабеля. Даже если коаксиальный кабель не будет
заменяться, экономически обосновано приобрести большое количество ком-
Глава 3, Платы сетевых адаптеров
63
бинированных сетевых адаптеров вместо меньшего количества адаптеров для
каждого типа среды передачи. Это связано с тем, что при покупке большой
партии сетевых адаптеров часто можно получить значительные скидки.
Например, у одного из основных продавцов цена сетевого адаптера 3Com Fast
Etherlink 10/100 PCI при покупке пяти адаптеров ниже на 10 процентов и
почти на 40 процентов — при покупке 100 штук. В некоторых случаях
скидка может превышать размер дополнительной стоимости адаптера,
обусловленной установкой нескольких разъемов.
Ethernet также поддерживает использование оптоволоконной среды
передачи, которая фундаментально отличается от медного кабеля тем, что
передаваемые по ней данные преобразуются в световые импульсы, а не в
электрическое напряжение. Существует стандарт, описывающий использование
оптоволоконного кабеля с 10 Мбит/с Ethernet, но он применяется редко.
Fast Ethernet, тем не менее, может использовать оптоволоконный кабель для
передачи данных на скорости 100 Мбит/с, причем на более длинные
дистанции, чем позволяет любая медная среда. В связи с этими
технологическими различиями сетевые адаптеры для оптоволоконного Fast Ethernet
обычно не комбинируются с другими технологиями.
Большинство имеющихся сегодня на рынке сетевых адаптеров Token Ring
содержат стандартные разъемы RJ-45 для кабеля UTP, который в
терминологии Token Ring называется кабельной системой Туре 3, Старые реализации
сетей Token Ring используют кабельную систему Туре 1. Сетевые адаптеры
для этой системы имеют разъем DB9, больше похожий на разъем для
последовательного порта ПК.
Использование в сетях Ethernet и Token Ring различных типов кабеля и
разъемов в основном может быть вызвано тем фактом, что эти старейшие
протоколы Канального уровня до сих пор широко распространены. Ethernet,
например, прошел путь от использования коаксиального кабеля до витой
пары, и разъемы для него изменялись соответственно. Другие протоколы,
подобные ATM, FDDI и Gigabit Ethernet, еще сравнительно новые и
применяемая ими среда передачи пока не менялась.
Интерфейс шины
Плата сетевого адаптера дает компьютеру возможность передать данные из
основной системной памяти наружу — получателю, расположенному вне
компьютера, так же, как это делают параллельный и последовательный
порты. Данные из памяти пересылаются сетевому адаптеру по системной шине,
точно так, как и любой другой плате расширения, подобной видеоадаптеру
или звуковой карте. Тип шины, используемой для взаимодействия адаптера
с компьютером, может оказывать влияние на производительность сетевых
соединений, но выбор типа шины для сетевого адаптера уникален для
каждого компьютера. Другими словами нет необходимости задействовать один
64
Часть \\. Сетевое аппаратное обеспечение
тип шины для всех сетевых адаптеров рабочих станций сети. Одни ПК могут
применять адаптеры для шины ISA, в то время как другие — для PCI.
ISA (Integrated Systems Architecture, интегрированная системная архитектура) и
PCI (Peripheral Component Interconnect, взаимосвязь периферийных компонентов —
это два типа шины, используемые фактически во всех продаваемых сегодня
настольных компьютерах. Портативные компьютеры применяют шину PC
Card (прежде употреблялось название PCMCIA, образовавшееся от имени
организации Международной ассоциации производителей плат памяти для
персональных компьютеров (Personal Computer Memoiy Card International
Association)). Старые системы поддерживают различные другие типы шин
расширения, такие как VLB (VESA Local Bus), MCA (Micro Channel
Architecture) или EISA (Extended Industry Standard Architecture). Характеристики этих
шин и соответствующие им пропускные способности приведены в табл. 3.1.
Таблица 3.1. Типы, разрядность и быстродействие шин ПК
Тип
шины
ISA
MCA
EISA
VLB
PCI
Разрядность
шины
16 разрядов
32 бита
32 разряда
32 разряда
32 разряда
Частота шины
8,33 МГц
10 МГц
8,33 МГц
33,33 МГц
33,33 МГц
Теоретическая максимальная
пропускная способность
66,64 Мбит/с (8,33 Мбайт/с)
320 Мбит/с (40 Мбайт/с)
266,56 Мбит/с (33,32 Мбайт/с)
1066,56 Мбит/с (133,33 Мбайт/с)
1066,56 Мбит/с (133,33 Мбайт/с)
"Узкие места"
Тип шины может оказать влияние на производительность сети. Если
выбрана достаточно медленная шина, то это может вызвать появление в сети
"узкого места". Узкое место (bottleneck) возникает, когда один из элементов
сетевого соединения функционирует значительно медленнее всех остальных.
Наличие такого элемента приводит к тому, что работа всей сети замедляется
до скорости самого медленного компонента, и в результате снижается ее
пропускная способность.
В качестве примера представим себе, что сеть состоит из самых
современных компьютеров с наиболее быстрыми, из числа доступных, процессорами
и жесткими дисками. Компьютеры соединены сетью Fast Ethernet со
скоростью 100 Мбит/с. Все рабочие станции, за исключением основного сервера
баз данных, оснащены сетевыми адаптерами для шины PCI. В сервер
установлен сетевой адаптер для шины ISA. Шина PCI в два раза шире ISA
(32 разряда против 16) и ее пропускная способность составляет 1066 Мбит/с,
Глава 3. Платы сетевых адаптеров
65
что намного больше, чем полоса пропускания самой сети, равная 100 Мбит/с.
В то же время ISA передает только 66,64 Мбит/с. Следовательно, сетевой
адаптер для ISA, вероятно, будет самым медленным компонентом в
соединениях рабочая станция/сервер и станет узким местом, которое не позволит
остальному оборудованию использовать весь свой потенциал.
Процесс выявления узких мест довольно редко очевиден. То, что сетевой
протокол рассчитан на скорость в 100 Мбит/с, не означает, что данные
непрерывно передаются по кабелю именно на этой скорости. Пропускная
способность шины определенного типа также не отражает реальной
пропускной способности для данных, генерируемых системой. Тем не менее, это
правильный подход — руководствоваться общими соображениями при
приобретении плат сетевых адаптеров и пытаться максимально увеличить
производительность сети.
ISA или PCI?
Хотя вы можете иметь дело со старыми типами шин в случае, если
компьютеры в сети достались вам по наследству, в большинстве систем,
выпущенных после 1995 года, имеется возможность выбора только между шинами
ISA и PCI. Для традиционной сети Ethernet 10 Мбит/с или сети Token Ring
с пропускной способностью 4 или 16 Мбит/с сетевого адаптера для шины
ISA более чем достаточно. Фактически сетевой адаптер для ISA может быть
без проблем применен в сетях 100 Мбит/с, по крайней мере, для рабочих
станций. Это связано с тем, что среднестатистический пользователь сети не
нуждается в постоянной полосе пропускания 100 Мбит/с. В сценарии,
рассмотренном ранее, основной причиной возникновения узкого места в сети
является наличие ISA адаптера именно в сервере. Сервер одновременно
обрабатывает сетевые запросы от десятков или сотен рабочих станций, что,
естественно, требует большей полосы пропускания, чем для обычной
рабочей станции. Таким образом, в сервере рекомендуется использовать самую
бцструю из доступных шин (обычно PCI).
К^ Примечание ^[
Если вы работаете со старыми компьютерами, то в магазине все еще можно
найти несколько сетевых адаптеров для EISA. Несмотря на то, что все старые
компьютеры имеют шины МСА и VLB, сетевые адаптеры для этих шин уже
исчезли из продажи. Однако большинство систем, использующих эти шины, также
поддерживают ISA. Так что адаптеры EISA можно установить в
функционирующие рабочие станции.
Внедрение Fast Ethernet привело к увеличению количества сетевых
адаптеров для шины PCI, предлагаемых на рынке. С этого момента они стали, как
правило, не намного дороже, а в некоторых случаях даже дешевле, чем
сетевые карты для шины ISA. Однако другой элемент, который надо учиты-
66
Часть II. Сетевое аппаратное обеспечение
вать при выборе типа шины, — это доступные в компьютере слоты шины
расширения.
Очевидно, что для того, чтобы установить в компьютер плату сетевого
адаптера, необходимо иметь незанятый слот в шине расширения. ПК имеют
различное количество ISA и PCI слотов, и аппаратная конфигурация
системы определяет, сколько из них свободны. Современные компьютеры в
полной конфигурации часто оборудуются периферийными устройствами,
такими как звуковые карты и адаптеры SCSI, занимающими большинство
слотов системной шины. Отдельную заботу для администратора
представляют машины, оборудованные DVD, которые часто содержат плату декодера
MPEG. Декодер задействует слот, но не имеет выводов на задней панели
ПК. Это значит, что простой наружный осмотр корпуса компьютера не
позволит определить количество реально доступных слотов. Необходимо
открыть корпус, чтобы выяснить количество свободных слотов и их типы.
Администраторы больших сетей часто приобретают сравнительно недорогие
рабочие станции, которые не обладают всеми возможностями, присущими
многим домашним системам. Зато в этом случае остается больше свободных
слотов для дополнительных компонентов, таких, например, как плата
сетевого адаптера. Вдобавок, ПК, нацеленные на корпоративный сектор рынка,
могут иметь периферийные устройства, такие как аудио- и видеоадаптер,
встроенные в материнскую плату, что также позволяет оставить свободными
некоторое количество слотов. Наряду с этим, указанный тип машин может
иметь узкий или плоский корпус, подразумевающий уменьшенное
количество слотов для сокращения занимаемой компьютером площади.
Если такое возможно, то выбор типа шины для сетевого адаптера должен
основываться на требованиях пользователя к пропускной способности сети,
а не на типе свободного слота в компьютере. Иногда, тем не менее, нет
другого выбора, и приходится устанавливать адаптер для ISA в компьютер,
который мог бы использовать преимущества шины PCI, или устанавливать
PCI-адаптер в компьютер, не требующий дополнительной
производительности, из-за того, что нет свободных слотов ISA. Последняя ситуация
выливается только в дополнительные денежные затраты, что конечно, менее
серьезно, чем первый случай, который может отрицательно повлиять на
производительность сети.
Встроенные адаптеры
Как упоминалось ранее, некоторые ПК, в особенности те, что
предназначены для корпоративного рынка, могут иметь периферийные устройства,
встроенные в материнскую плату. Так как эти устройства не являются
отдельными платами, они не могут полноправно называться платами сетевого
адаптера, но выполняют точно такие же функции, как сетевой адаптер,
установленный в системную шину расширения.
Глава 3. Платы сетевых адаптеров
67
Хотя встраивание сокращает расстояние, которое сигнал проходит, чтобы
достигнуть адаптера, и устраняет электрические помехи от передачи по шине,
проблема с такими сетевыми адаптерами заключается в том, что их нельзя
заменить. В то время, когда широкое распространение имел только 10 Мбит/с
Ethernet, встраивать сетевые адаптеры lOBaseT в материнскую плату было
разумно и целесообразно практически. Однако внедрение Fast Ethernet
осложнило положение ввиду необходимости поддержки нескольких альтернатив
кабеля, таких как 100BaseTX и 100BaseT4, даже при использовании только
неэкранированной витой пары. Встроенные двухскоростные сетевые адаптеры
10BaseT/100BaseTX могли бы стать решением, устроившим большинство
покупателей, но промышленность вместо этого вовсе отказалась от встраивания
сетевых возможностей в настольные системы.
Система со встроенным сетевым адаптером не обязана использовать его.
Почти всегда можно отключить адаптер через BIOS или переставив
перемычку на материнской плате, а также просто установив плату сетевого
адаптера в слот шины. Можно остановить свой выбор на рабочей станции с
неподходящим типом встроенного адаптера, если ее характеристики
заслуживают того, чтобы приобрести для нее сетевой адаптер отдельно.
Портативные системы
Все сетевые адаптеры для портативных компьютеров имеют конструктив
PC Card, так что проблемы выбора типа шины для них не существует.
Однако имеется возможность выбора между сетевыми адаптерами с
поддержкой CardBus и без нее. CardBus — это усовершенствованная версия шины
PC Card, которая удваивает разрядность с 16 до 32 и увеличивает частоту
шины до 33 МГц, что делает ее сравнимой по производительности с шиной
PCI настольных систем. Если компьютер поддерживает CardBus и сеть
функционирует на 100 Мбит/с или быстрее, то приобретение сетевого
адаптера CardBus обычно является правильным шагом.
Требования к аппаратным ресурсам
Помимо не занятого слота шины, компьютер должен иметь
соответствующие свободные аппаратные ресурсы, требуемые для установки сетевого
адаптера. Плата сетевого адаптера нуждается в свободной линии запроса на
прерывание (IRQ, interrupt request line) и обычно в адресе порта ввода/вывода
или адресе памяти, либо в том и другом. Когда оцениваются сетевые
адаптеры, необходимо учитывать требования адаптера к ресурсам и сами
доступные ресурсы компьютера.
В ПК с множеством уже установленных периферийных устройств,
большинство IRQ могут быть уже задействованными, что вызовет сложности с
подключением сетевого адаптера. По причине того, что сетевой адаптер
может использовать только несколько определенных номеров запроса на
68
Часть II. Сетевое аппаратное обеспечение
прерывание, он не сможет работать, если все эти IRQ будут заняты. Два
устройства, сконфигурированные на использование одних и тех же
ресурсов, будут конфликтовать, что будет часто приводить их к неправильной
работе. Чтобы освободить IRQ, требуемый сетевому адаптеру, может
понадобиться переконфигурировать другое устройство на IRQ, отличный от
данного. Таким образом, необходимо принимать во внимание не только
количество доступных IRQ, но также и то, какие именно IRQ доступны.
Сказанное также относится и к другим используемым ресурсам.
Многие старые сетевые адаптеры могут использовать только два или три
предопределенных IRQ (это может относиться и к другим ресурсам). В
таком случае конфигурирование устройств компьютера выполняется вручную,
методом проб и ошибок. Тогда системные администраторы могут затратить
на эксперименты много часов, пробуя различные сочетания аппаратных
установок устройств компьютера, пока не найдут комбинацию, которая
позволит всем устройствам функционировать одновременно. Однако сегодня
платы сетевых адаптеров в целом более гибкие и могут поддерживать широкий
диапазон установок используемых ресурсов. Помимо этого, BIOS и
операционная система современного компьютера имеют возможности, которые
упрощают процесс конфигурирования устройств для их совместной работы.
Технология Plug and Play, когда она работает должным образом, устраняет
необходимость в ручном конфигурировании аппаратных ресурсов для
периферийных устройств. Если все компоненты: BIOS, операционная система и
аппаратная часть поддерживают стандарт Plug and Play, то компьютер сам
динамически назначает аппаратные ресурсы каждому устройству во время
загрузки системы. Когда Plug and Play не поддерживается определенным
устройством, таким как сетевой адаптер, операционная система, подобная
ОС семейства Windows (9x, NT и 2000), предоставляет средства, которые
могут идентифицировать свободные ресурсы компьютера и сообщить, если
текущая конфигурация сетевого адаптера конфликтует с любым другим Plug
and Play устройством.
Таким образом, при выборе платы сетевого адаптера необходимо знать,
какие аппаратные ресурсы компьютера можно использовать. Может оказаться,
что компьютер с множеством установленных периферийных устройств не в
состоянии поддерживать дополнительную плату, пока не будет убран один
из установленных компонентов. В другом случае может понадобиться
переконфигурировать устройства, чтобы обеспечить ресурсами добавляемую в
систему плату сетевого адаптера. Многие производители сетевых адаптеров
публикуют спецификации (часто доступные на их Web-сайтах) с перечнем
аппаратных ресурсов, необходимых для адаптеров. Сравнив эту
информацию с текущей конфигурацией ПК, можно определить, имеет ли компьютер
ресурсы для поддержки сетевого адаптера.
Глава 3. Платы сетевых адаптеров
69
Требования к электропитанию
Источники питания в современных компьютерах обычно обеспечивают
напряжение, более чем достаточное для питания всех плат расширения и
периферийных устройств. Однако, прежде чем установить сетевой адаптер
или другое устройство в систему с большим количеством внутренних
устройств, таких как жесткие диски, CD-ROM, или другие накопители,
следует сопоставить энергопотребление этих устройств с мощностью
источника питания компьютера. Из-за того, что потребление энергии
механическим приводом накопителя зависит от того, насколько часто к
нему обращаются, система, предоставляющая недостаточное количество
энергии для поддержки аппаратного обеспечения, может вызвать
периодические сбои, причину которых тяжело выявить. Проблемы, внешне
проявляющиеся как неисправность накопителя, на самом деле могут являться
результатом нестабильного электропитания.
Сетевые адаптеры для серверов
и рабочих станций
Сетевые адаптеры в серверах и рабочих станциях выполняют одинаковые
функции, и кроме того на рынке присутствуют сетевые карты, специально
предназначенные для подключения к серверам. Некоторые из этих сетевых
адаптеров задействуют протоколы, подобные Gigabit Ethernet, которые
предназначены только для серверов, поскольку стоимость и возможности
таких адаптеров делают нецелесообразным их использование в рабочих
станциях. Другие адаптеры применяют стандартные протоколы, такие как
Ethernet и Fast Ethernet, но, тем не менее, включают в себя дополнительные
функции, делающие их более полезными в серверах. Естественно, эти
предоставляемые возможности приводят к повышению стоимости адаптера, и
прежде чем приобретать такой сетевой адаптер, надо подумать, стоит ли он
добавляемых затрат. Так как базовые функции всех сетевых адаптеров
одинаковы, то нет причин, по которым нельзя использовать стандартный
сетевой адаптер в сервере.
В следующих разделах рассматриваются некоторые дополнительные
функции, включенные различными производителями в платы сетевых адаптеров
для серверов. Эти возможности часто имеют различные названия,
соответствующие торговым маркам производителей, и могут не совпадать в деталях
реализации, но заложенные в них общие принципы одни и те же.
Многопортовые сетевые адаптеры
Серверы часто должны быть подключены к двум или более сетям
одновременно, чтобы обслуживать клиентов в обеих сетях или перенаправлять
трафик между ними. Для реализации этих функций при помощи стандартных
70
Часть II. Сетевое аппаратное обеспечение
сетевых адаптеров понадобится установить в компьютер несколько сетевых
адаптеров, что обострит проблемы доступности слотов, питания и
аппаратных ресурсов. Несколько производителей выпускают специализированные
сетевые адаптеры, разработанные для подобных серверов. Они имеют два
или более порта RJ-45, которые позволяют осуществить подключение к
нескольким сетям. По существу- эти устройства представляют собой два (или
более) адаптера, размещенных на Ьдной плате, что дает им возможность
использовать аппаратные ресурсы более эффективно, чем это делают отдельные
платы. Многопортовые сетевые адаптеры также способствуют применению
других специфичных серверных функций, таких как балансировка нагрузки и
отказоустойчивость.
Балансировка нагрузки
Так как сервер должен обслуживать многочисленных клиентов, он часто
становится "узким местом" сети. Одиночная система, функционирующая на
100 Мбит/с, не может поддерживать десятки клиентов, передавая все
требуемые данные одновременно с одинаковой скоростью. Однако обычно
клиентские системы не обращаются к серверу одновременно, что позволяет
организовать в ЛВС оптимальное взаимодействие систем. Если сеть
достигает состояния, когда количество клиентов, одновременно обратившихся к
серверу, слишком велико, сервер становится "узким местом" сети и
производительность клиентских систем падает.
Традиционное решение этой проблемы заключается в установке в сервер
еще одной платы сетевого адаптера и разбиении сети на два сегмента.
Половина клиентов подключается к одному сетевому адаптеру, другая
половина — ко второму, таким образом, снижается трафик, передаваемый через
каждый из адаптеров. Этот процесс кажется простым, но на самом деле это
не так. Решение задачи требует выключения сервера для установки нового
адаптера, переназначения IP-адресов (в сетях TCP/IP) и, возможно,
перемещения клиентов из одного сегмента в другой для выравнивания трафика.
Если сетевой трафик начинает расти, то процесс нужно полностью
повторить еще раз.
Некоторые производители, такие как Intel и 3Com, ответили на указанную
проблему созданием плат сетевых адаптеров, которые могут работать в
сервере совместно, распределяя сетевой трафик между собой. После установки
в сервер нескольких сетевых адаптеров одинакового типа и присоединения
их к коммутатору (или коммутаторам) можно сконфигурировать адаптеры
так, чтобы они функционировали как единая группа. Обычно каждый
адаптер в компьютере имеет свой собственный IP-адрес, однако адаптеры в
группе балансировки нагрузки разделяют один общий IP-адрес. Несмотря
на это, каждый из адаптеров сохраняет свой МАС-адрес (рис. 3.4). Таким
образом, группа формирует виртуальный сетевой адаптер, который может
обрабатывать суммарный трафик, ограниченный общей пропускной способ-
Глава 3. Платы сетевых адаптеров
71
ностью всей группы. Различные изделия содержат разное количество
адаптеров в группе. 3Com, например, поддерживает до 8 сетевых адаптеров с
общей пропускной способностью 800 Мбит/с, a Intel — максимум 4
адаптера и 400 Мбит/с. Используя эту возможность, администратор может
компенсировать увеличение трафика установкой в сервер дополнительного
сетевого адаптера и добавлением его в группу.
SB г-. 011
□o_U
ГП ""Ъапаа
0060978DC067
ГП ""■Ьсюаа
00609781X045
пп п oil
[~~| аасап
ШЕПШШН
0060978DC076
D "
>
192.168.2.199
П
0060978DC037
Рис. 3.4. Виртуальный сетевой адаптер состоит из нескольких сетевых
плат, которые имеют индивидуальные аппаратные адреса и общий IP-адрес
Когда сервер пересылает данные клиенту, трафик равномерно
распределяется между адаптерами группы, основываясь на IP-адресе клиентской
системы. В большинстве случаев соединение TCP между сервером и конкретным
клиентом привязывается к одному из адаптеров группы, фиксированному
для данного клиента на протяжении всего сеанса связи. Когда клиент
устанавливает с сервером несколько соединений одновременно, есть
возможность использовать разные сетевые адаптеры. Входящий трафик
обрабатывается по-разному, в зависимости от способа реализации выравнивания
нагрузки. Из-за того, что входящий трафик сервера состоит из сравнительно
небольших запросов, некоторые изделия задействуют один адаптер группы
для обработки всех входящих пакетов, а остальные адаптеры группы в это
время распределяют исходящие пакеты между собой в круговом порядке.
Другая форма распределения нагрузки, называемая Intel составными канала-
ми {Link Aggregation), может регулировать входящий и^ исходящий трафики.
(Составным каналом называется линия или устройство, передающее данные
между парой мультиплексоров или концентраторов. Используется также
термин composite link.) Стандартные возможности балансировки нагрузки,
предлагаемые Intel, всегда используют только один адаптер для входящего
трафика, в то время как исходящий трафик распределяется между несколь-
72
Часть II. Сетевое аппаратное обеспечение
кими адаптерами, количество которых может достигать четырех. Составные
каналы распределяют нагрузку в обоих направлениях и поддерживают
полнодуплексную передачу, что в случае использования Fast Ethernet
обеспечивает пропускную способность до 800 Мбит/с и 8 Гбит/с для Gigabit Ethernet.
Однако эта технология требует особой аппаратной поддержки, как от
сетевых адаптеров, так и от коммутаторов, в отличие от стандартного способа
балансировки нагрузки, который ориентирован на применение
коммутаторов любых типов и производителей.
^ Примечание ^|
На сегодняшний день не существует единого стандарта для распределения
нагрузки между сетевыми адаптерами сервера. И хотя пока производители
используют похожие технологии, нельзя смешивать в сервере сетевые адаптеры
от разных изготовителей с целью заставить их работать совместно. Несколько
производителей объединились вместе для продвижения технологии IEEE
802.3ad Link Aggregation Task Force, но пока стандарт для нее разрабатывается
и утверждается (а это часто довольно длительный процесс), покупателю
остается выбирать технологию из числа запатентованных реализаций, доступных
на сегодняшний день.
Отказоустойчивость
Полезным эффектом концепции балансировки нагрузки является
отказоустойчивость, которую обеспечивает группировка сетевых адаптеров. Если
один из адаптеров выйдет из строя, то трафик будет автоматически
распределяться между оставшимися до тех пор, пока неисправный не будет заменен.
Даже если балансировка нагрузки не используется, всегда можно установить в
сервер лишний сетевой адаптер, который система будет автоматически
задействовать в случае нарушения основного соединения по любой из причин,
включая неисправность в кабеле, концентраторе или коммутаторе.
В некоторых случаях даже допустимо использовать более дешевые сетевые
адаптеры в качестве резерва. Например, если сервер подключен к сети Gigabit
Ethernet, то установка в сервер дополнительного адаптера Gigabit Ethernet
исключительно в целях обеспечения отказоустойчивости может быть достаточно
дорогим решением. Однако вместо этого для обеспечения отказоустойчивости
можно использовать сравнительно недорогую плату Fast Ethernet. В случае
нарушения соединения Gigabit Ethernet соединение Fast Ethernet сохранится и
может предоставлять, по меньшей мере, номинальный уровень услуг, пока не
будет восстановлено высокоскоростное соединение.
Другой механизм обеспечения отказоустойчивости, называемый PCI Hot
Plug, был разработан фирмой Compaq, и нашел применение во многих
серверах и сетевых адаптерах. Эта возможность позволяет администратору
заменить неисправный сетевой адаптер без выключения сервера. Также
называемый "горячей" заменой, механизм PCI Hot Plug обеспечивает отказоустой-
Глава 3. Платы сетевых адаптеров
73
чивость за счет работы нескольких сетевых адаптеров в связке. Когда
сетевой адаптер выходит из строя, соединение переключается на резервный
адаптер или другой адаптер в той же группе. Затем администратор может
убрать неисправное устройство из сервера, который продолжает работать, и
заменить его на новое. Такой механизм устраняет простои, обычно
возникающие при неисправности сетевого адаптера.
Реальные случаи выхода из строя сетевого оборудования происходят редко,
но для некоторых сетей даже небольшая вероятность приостановки работы
по причине возникновения неисправности является недопустимой.
Вдобавок, функции обеспечения отказоустойчивости могут также защитить
систему от таких неисправностей, как разрыв кабеля или отключение питания
коммутатора или концентратора, которые встречаются более часто.
Удаленное управление
Другие функции, часто встраиваемые в сетевые адаптеры, предоставляют
администраторам средства, при помощи которых с удаленного компьютера
можно конфигурировать плату адаптера и получать информацию о ее
состоянии. При возникновении неисправности, которая, например, вынудит
сервер переключиться на резервную сетевую плату, эти возможности
позволят сгенерировать сообщение о возникшей ситуации и отправить его
сетевому администратору. Многие серверные сетевые адаптеры поддерживают
стандарты для администрирования такого рода взаимодействием между
сетевым оборудованием и консольным приложением. К этим стандартам
относятся SNMP (Simple Network Management Protocol, простой протокол
управления сетью) и интерфейс управления настольными системами (DMI,
Desktop Management Interface) 2.0.
Сетевые адаптеры для дома и офиса
Адаптеры для дома и небольших офисов являются наиболее быстро
растущим сегментом рынка сетевых адаптеров. Многие семьи и владельцы
маленьких офисов, даже те, кто имеет всего только два или три компьютера,
начинают осознавать преимущества объединения их в сеть. Сейчас
большинство основных производителей сетевых плат поддерживают линейки
сетевых устройств, недорогих и простых в установке и обращении,
нацеленных на пользователей, имеющих небольшой опыт или вообще не имеющих
никакого опыта работы с сетями.
С шиной PCI и поддержкой Plug and Play, встроенной в операционную
систему Windows, установка сетевого адаптера стала проста, как никогда ранее.
В большинстве случаев, все что для этого требуется, — это просто вставить
плату в слот системной шины. Операционная система (обычно Windows 9x)
конфигурирует плату и устанавливает драйвера. После чего остается только
подсоединить компьютер к концентратору и основа сети заложена.
74
Часть II. Сетевое аппаратное обеспечение
Сетевые адаптеры, представленные в этих линейках, не имеют
дополнительных возможностей, присущих серверным адаптерам, поскольку в
принципе не нуждаются в некоторых функциях, предназначенных для
выполнения широкомасштабных сетевых операций, например, таких как удаленное
управление. Документация для них проста и рассчитана на уровень
непрофессионального пользователя. Тем не менее, основные функциональные
возможности таких сетевых адаптеров обычно сравнимы с
функциональностью изделий, нацеленных на корпоративный рынок, а цена их значительно
уступает стоимости последних.
Драйверы сетевых адаптеров
Заключительная стадия в выборе сетевого адаптера — это проверка наличия
драйверов для операционной системы, которая установлена на компьютере
покупателя. В большинстве случаев это не проблема, так как сегодня все
адаптеры поставляются вместе с различными NDIS-драйверами,
необходимыми для операционных систем Windows, ODI-драйверами для Novell NetWare, и
пакетными драйверами (packet driver), которые обеспечивают
низкоуровневый доступ к основным функциям адаптера. На практике операционные
системы обычно содержат драйверы для большинства сетевых адаптеров
ведущих производителей. Единственно, необходимо беспокоиться о драйверах
для очень старых сетевых адаптеров и плат от малоизвестных производителей.
Глава 4
Прокладка сетевого
кабеля
Хотя существуют сети, которые для передачи данных применяют
радиопередачу и другие виды беспроводных технологий, подавляющее большинство
ЛВС в качестве передающей среды используют кабель. Чаще всего это
кабель с медной жилой для переноса электрических сигналов, но
оптоволоконный кабель со стеклянным сердечником, по которому передаются
световые импульсы, начинает приобретать все большую популярность.
В последние годы прокладка кабеля стала отделяться от обычных задач,
возлагаемых на сетевого администратора. Многие администраторы с большим
стажем никогда не укладывали кабель сами и мало с этим знакомы. Во
многих случаях прокладка кабеля из витой пары поручается служащим
телефонной компании. Обычно почти все работы, связанные с
проектированием, настройкой и сопровождением компьютерных сетей, выполняют
сторонние фирмы, консультанты в области сетевых технологий делают лишь
небольшую их часть.
Несмотря на то, что кабельная система занимает только малую часть от общей
стоимости сети (до 6%), она отвечает за 75% времени простоя сети в
результате неисправности. Обычно кабель является самым долгоживущим элементом
сети. Сервера и другие компоненты могут многократно меняться, прежде чем
будет заменена кабельная система. По указанным причинам дополнительные
затраты на кабель хорошего качества и его разводку всегда будут стоящими
инвестициями. Эта глава описывает виды кабеля для ЛВС, его структуру,
используемые для него коннекторы, а также методы прокладки.
Свойства кабеля
Протоколы Канального уровня связаны с особенностями применяемого типа
кабеля и включают правила прокладки кабеля, в том числе ограничения на
максимальную длину сегментов. В некоторых случаях, таких как Ethernet,
можно выбрать, какой из видов кабеля будет иЬпользоваться. Часть процесса
выбора протокола заключается в изучении различных типов кабеля и их
пригодности для помещения, где будет проложена сеть. Например, для
соединения двух близлежащих зданий оптоволоконный кабель подходит больше, чем
76
Часть II. Сетевое аппаратное обеспечение
медный. С учетом этого фактора необходимо выбрать протокол Канального
уровня, который обеспечивает поддержку оптоволоконного кабеля.
Прокладка кабеля может также отчасти зависеть от планировки помещения
и правил эксплуатации здания. Обычно доступен кабель двух видов:
пленумныи и непленумный. Пленум (plenum) — это пространство между
стенами и между полами и потолками, которое служит для вентиляции. Здания,
использующие такой тип вентиляции, обычно не имеют вытяжной
вентиляционной системы. Для прокладки кабеля через пленум служит специальный
пленумныи кабель, не выделяющий при горении токсичных газов, которые
при попадании в воздух будут через пленум распространены по всему
зданию. Пленумньгй кабель заключен в оболочку из огнеупорного материала
(тефлона), которая, в отличие от кабеля с обычной пластиковой оболочкой,
при горении не выделяет токсичных газов.
Неудивительно, что пленумныи кабель стоит намного дороже, чем поливи-
нилхлоридный. Цена может отличаться в два и даже более раз. При этом
пленумныи кабель менее гибкий, чем обычный. Тем не менее, при любой
прокладке кабеля очень важно выбрать его правильный тип. Если правила
эксплуатации здания будут нарушены, то лица, ответственные за их
соблюдение, могут принудить убрать кабельную разводку сети и, возможно, даже
применят штрафные санкции.
Стоимость, конечно, тоже немаловажный фактор при выборе кабеля.
Причем в нее входит не только цена самого кабеля, но также добавочных
компонентов, таких как коннекторы и средства монтажа кабеля, сетевые
адаптеры, а также затраты на прокладку кабеля. Оптоволоконный кабель
благодаря своим достоинствам может показаться идеальным выбором, но
стоимость его прокладки, монтажа и собственно самого ^кабеля способна
изменить такое мнение.
В заключение следует сказать, что качество самого кабеля также очень
важное обстоятельство при осуществлении выбора. Если прийти в
компьютерный магазин с целью приобрести уже готовый кабель lOBaseT, то
альтернатива будет выражаться только в различной длине предлагаемого кабеля.
Поставщики, которые предоставляют свободный выбор, имеют множество
типов кабеля, различающихся по конструкции, свойствам и, конечно, цене.
В зависимости от типа кабеля, хороший поставщик может предложить кабель
в бухте и уже готовый для монтажа. Кабель в бухте (представляет собой
"голый" кабель без коннекторов) может быть доступен в двух вариациях:
пленумныи и непленумный. Свойства кабеля могут зависеть от различных факторов.
□ Сечение жилы. Сечение — это диаметр проводника внутри кабеля. При
измерении используется шкала американской классификации проводов
(AWG, American Wire Gauge). Чем меньше значение AWG, тем толще
провод. Таким образом, кабель 24 AWG тоньше, чем 22 AWG. Более тол-
Глава 4. Прокладка сетевого кабеля
77
стый проводник обеспечивает лучшую проводимость и защиту от
затухания сигнала.
□ Категория. Некоторые типы кабеля классифицируются согласно
стандартам, таким как EIA/TIA. Кабель из витой пары, например, имеет
категорию, которая определяет его свойства.
□ Экранированный и неэкранированный. Существуют разновидности кабеля
с оболочкой, обеспечивающей различные уровни защиты от
электромагнитного излучения. Экран обычно представляет собой фольгу или
медную сетку, причем сетка обеспечивает лучшую защиту.
□ Сплошная или плетеная жила. Кабель со сплошной металлической жилой
обеспечивает лучшую защиту от затухания сигнала, которое имеет место
при передаче на большие расстояния. Однако сплошная жила делает
кабель более жестким. Если периодически сгибать такой кабель, то
проводник внутри его может обломиться. Таким образом, кабель со
сплошной жилой следует использовать для постоянной кабельной разводки
внутри стен, которая не будет в дальнейшем перемещаться. (Имейте в
виду, что кабель во время укладки может быть загнут под различными
углами для обхода препятствий и частое сгибание может его повредить.)
Кабель с жилой, сплетенной из нескольких проводов, можно свободно
сгибать без какого либо ущерба для него, но он более подвержен
затуханию сигнала. Следовательно, плетеный кабель лучше прокладывать на
небольшие расстояния, например, от настенной розетки до компьютера.
Все эти особенности, естественно, сказываются на стоимости кабеля.
Кабель с маленьким AWG-значением толщины дороже, чем с высоким. Чем
выше категория, тем выше стоимость. Экранированный дороже неэкрани-
рованного, а кабель со сплошной жилой более дорогой, чем кабель с
плетеной жилой. Помимо самого кабеля, хороший поставщик должен иметь все
необходимое оборудование для монтажа коннекторов и сами коннекторы.
В готовом фабричном кабеле присутствуют уже присоединенные коннекторы,
он может различаться цветом и длиной, а также перечисленными выше
характеристиками. Кабель высокого качества обычно имеет рифленый колпачок
вокруг коннектора, что делает соединение коннектора с концом кабеля более
плотным. Колпачок предотвращает отсоединение и потерю коннектора,
защищает контакты от сгибания и уменьшает помехи от сигналов в соседних
жилах, называемые переходными или перекрестными помехами (crosstalk). У
дешевого кабеля коннекторы просто присоединены к концам без
дополнительной защиты.
Стандарты кабельных систем
До 1991 года характеристики кабельных систем ЛВС задавались
производителями сетевого оборудования. Это часто приводило к несовместимости
используемого оборудования, и потребовало необходимость разработки стан-
78
Часть II. Сетевое аппаратное обеспечение
дарта, который определил бы единую кабельную систему, поддержанную
большим количеством разных сетевых технологий. Ответом на
поставленный вопрос стал документ ANSI/EIA/TIA-568-1991 Commercial Building
Telecommunication Cabling Standard (стандарт телекоммуникационной
кабельной системы коммерческих зданий), разработанный Американским
национальным институтом стандартов (ANSI, American National Standards
Institute), Ассоциацией электронной промышленности (EIA, Electronic Industry
Association) и Ассоциацией промышленности средств связи (TIA,
Telecommunication Industry Association). В 1995 году этот документ был переработан
и сейчас известен как ANSI/TIA/EIA-T568-A.
Стандарт ANSI/TIA/EIA-T568-A
Стандарт Т568-А определяет кабельную систему для передачи речи и данных
в офисных коммуникациях, введенных в эксплуатацию за последние десять
лет. Он поддерживает оборудование от большого количества поставщиков и
позволяет использовать для различных целей следующие типы кабеля:
□ неэкранированную витую пару (UTP: 100 Ом, 22 или 24 AWG);
□ экранированную витую пару (STP —150 Ом);
□ многомодовое оптоволокно (62,5/125 мкм);
□ одномодовое оптоволокно (8,3/125 мкм).
Для каждого типа кабеля стандарт определяет следующие элементы:
□ характеристики кабеля и технические критерии, помогающие определить
уровень производительности;
□ топологию и длину сегментов кабеля;
□ спецификации коннекторов и схему расположения выводов.
Документ также включает правила для прокладки кабеля внутри здания.
С этой позиции здание разделяется на несколько подсистем.
□ Вход в здание (building entrance). Место, в котором сопрягаются внешняя
и внутренняя кабельные системы здания.
□ Аппаратная комната (equipment room). Месторасположение
оборудования, которое позволяет обеспечивать такие же функции, как и
телекоммуникационный шкаф, только они могут быть более разнообразными.
□ Телекоммуникационный шкаф (telecommunication closet).
Месторасположение локального телекоммуникационного оборудования, такого как
интерфейс между горизонтальной кабельной разводкой и магистральной
линией связи.
□ Магистраль (backbone cabling). Кабельная система, которая соединяет
различные аппаратные комнаты, телекоммуникационные шкафы и точки
Глава 4. Прокладка сетевого кабеля
79
входа в здание, а также служит соединением между сетевыми
подсистемами, расположенными в разных зданиях.
□ Горизонтальная кабельная разводка (horizontal cabling). Кабельная система
и аппаратное обеспечение, используемые для соединения
телекоммуникационных шкафов с рабочей областью.
□ Рабочая площадка (work area). Компоненты для присоединения
телекоммуникационных отводов к рабочим станциям.
Таким образом, кабельная система в современном здании может выглядеть
примерно так, как показано на рис. 4.1. Соединение с внешней телефонной
линией и другими сервисами осуществляется в точке входа в здание и
дальше идет к аппаратной комнате, в которой расположены РВХ (Private Branch
eXchange, телефонная система для частного пользования, офисная АТС),
сетевые серверы и другое оборудование. Магистральная сеть соединяет
аппаратную комнату с различными телекоммуникационными шкафами,
расположенными по всему зданию. В шкафах размещено оборудование для
сопряжения сетей, такое как коммутаторы, мосты, маршрутизаторы или
концентраторы. От телекоммуникационных шкафов к рабочим площадкам
отходят ответвления горизонтальной кабельной разводки, которые
заканчиваются настенными розетками. Рабочая площадка состоит из коммутационных
кабелей, соединяющих компьютеры и другое оборудование с настенными
розетками.
Вход
в здание
Телекоммуникационный шкаф
Концентратор/коммутатор
Горизонтальная
кабельная система
Г"14!
Рабочая область
Г^Щ
Рабочая
станция
Рабочая
станция
Рабочая
станция
Магистраль
Аппаратная
□□□□□□□
Магистральный
коммутатор
РВХ
Рис. 4.1. Обобщенная кабельная система здания, определенная в TIA/EIA-T568-A
80
Часть II. Сетевое аппаратное обеспечение
Это, конечно, очень упрощенная схема. Стандарт Т568-А в сочетании с
другими стандартами TIA/EIA представляет собой совокупность правил для
различных типов кабельной разводки внутри подсистем и между ними,
которыми можно руководствоваться для создания плана монтажа
применительно к конкретному помещению и оборудованию. Некоторые другие
стандарты перечислены ниже:
□ TIA/EIA-569, Commercial Building Standard for Telecommunications
Pathways and Spaces (стандарт для телекоммуникационных магистралей и
рабочих площадок коммерческих зданий);
□ TIA/EIA-606, Administration Standard for the Telecommunications
Infrastructure of Commercial Buildings (организационный стандарт для
телекоммуникационной инфраструктуры коммерческих зданий);
□ TIA/EIA-607, Ground and Bonding Requirements for Telecommunications in
Commercial Buildings (требования к заземлению и соединениям в
телекоммуникациях коммерческих зданий).
При выполнении офисной кабельной разводки следует хорошо
ознакомиться с этими стандартами и соблюдать требования, изложенные в них.
Стандарт ISO 11801Е1995
Помимо ANSI/TIA/EIA-T568-A, который содержит спецификации
кабельной разводки, применяемой в Соединенных Штатах, Международная
организация по стандартизации (ISO, International Organization for
Standardization) опубликовала стандарт ISO 11801E 1995, более часто использующийся
в Европе стандарт кабельной системы. Основанный на Т568-А, этот
стандарт расширяет множество типов кабеля, добавляя кабель STP с волновым
сопротивлением 100 и 120 Ом, который очень популярен во Франции и
других европейских странах.
Стандарты протоколов
Канального уровня
Протоколы, традиционно связываемые с Канальным уровнем модели OSI,
такие как Ethernet, Token Ring и FDDI, также перекрывают Физический
уровень, который содержит спецификации для кабельной разводки. Исходя
из чего стандарты Ethernet и Token Ring, тождественные стандартам,
разработанным рабочей группой IEEE 802, а также стандарт ANSI X3T9.5,
относящийся к FDDI, могут быть названы стандартами кабельной сети. Однако
эти документы не углубляются в детали разработки кабельной сети
предприятия и свойства кабеля, как это делается в Т568-А.
Глава 4. Прокладка сетевого кабеля
81
Коаксиальный кабель
Первая коммерчески успешная технология для ЛВС, появившаяся в 1971
году, использовала в качестве среды передачи данных коаксиальный кабель.
Коаксиальный кабель состоит из центрального проводника, одножильного
или многожильного, и внешней экранирующей оплетки, являющейся
вторым проводником. Многие виды медного кабеля имеют два отдельных
проводника, таких как стандартный электрический кабель, но в большинстве из
них провода расположены рядом друг с другом, но внутри изоляционной
оболочки, которая разделяет и защищает их. Коаксиальный кабель,
наоборот, имеет круглое сечение с медным сердечником в центре, который
представляет собой первый проводник. Он и переносит настоящий сигнал. Слой
диэлектрика вокруг сердечника отделяет его от второго проводника из
металлической сетки, который играет роль "земли". Как и в любом
электрическом кабеле, проводник, переносящий сигнал, должен быть изолирован от
заземления, иначе возникнет короткое замыкание, в данном случае
приводящее к шумам в кабеле. Наличие изолирующего слоя между проводниками
уточняет определение коаксиального кабеля (рис. 4.2).
Металлическая ^ппр™?
сетка оплетка
2ж.
\/~У
±.^^м . ?~/л:г^
7
4>щ
Я
Медный \ ' у,\Х*$'~*СКУ&' '
проводник \
Изолятор из
диэлектрика
Рис. 4.2. Поперечный разрез коаксиального кабеля
^ Примечание j|
Коаксиальный кабель может иметь сплошную и плетеную жилу. Упомянутое
различие отражается в его маркировке. Маркировочный постфикс /U
обозначает сплошную жилу, a A/U — плетеную. Таким образом, сеть Thin Ethernet
("тонкий" Ethernet) может быть смонтирована как кабелем RG-58/U, так и
кабелем RG-58A/U.
В сетевых технологиях применяются несколько типов коаксиального кабеля,
которые, несмотря на почти одинаковый внешний вид, отличаются друг от
друга своими свойствами. В табл. 4.1 перечислены различные типы
коаксиального кабеля. Протокол Канального уровня отвечает за выбор
определенного типа кабеля, свойства которого обуславливаются спецификациями и ог-
82
Часть II. Сетевое аппаратное обеспечение
раничениями кабельной прокладки. Параметр затухания сигнала в кабеле,
например, определяет возможную максимальную длину сегмента кабеля.
Погонное затухание (attenuation) — это уменьшение мощности сигнала при
распространении его по кабелю. Столбец "Затухание" в таблице отражает,
насколько сильно уменьшается уровень (в децибелах) сигнала частотой 100 МГц
на каждую сотню футов (около 30,5 м) кабеля. Меньшая величина означает и
меньшее ослабление сигнала, свидетельствующее о том, что сигнал может
быть передан на большее расстояние, прежде чем станет неразличим.
Таблица 4.1. Характеристики коаксиального кабеля
Маркировка Диаметр
кабеля кабеля
Волновое Затухание Используемые Поддержи-
сопротивление (Д6/100 коннекторы ваемые
при протоколы
100 МГц)
RG-8/U
RG-58/U или
RG-58A/U
RG-62A/U
RG-59/U
0,405 дюйма 50 Ом
(около 1 см)
0,195 дюйма 50 Ом
(около 0,5 см)
0,242 дюйма 93 Ом
(около 0,6 см)
0,242 дюйма 75 ОМ
(около 0,6 см)
1,9
4,5
2,7
3,4
N
BNC
BNC
F
Thick
Ethernet
Thin Ethernet
ARCNET
Cable TV
Толщина кабеля также оказывает большое влияние на процесс прокладки.
Слои меди и изоляции внутри кабеля представляют собой сплошную массу,
в отличие от витой пары, состоящей из отдельных проводов и воздушной
прослойки между ними. Поэтому коаксиальный кабель сравнительно
тяжелый и жесткий, и, естественно, чем толще кабель, тем он тяжелее и жестче.
Эти свойства затрудняют укладку кабеля.
Сети на основе коаксиального кабеля используют шинную топологию,
образуемую компьютерами, которые присоединяются к сегменту кабеля по всей
его длине. Каждый сигнал, переданный рабочей станцией по кабелю,
распространяется в обоих направлениях до концов кабеля и достигает всех
рабочих станций. На концах шины должны быть размещены резисторы
(называемые терминаторами), которые поглощают принимаемый ими сигнал,
снижая напряжение до нуля. Без терминаторов сигнал отражался бы от
концов кабеля и возвращался обратно, вызывая повреждение данных.
По сравнению с другими типами кабеля коаксиальный кабель сравнительно
мало эффективен для передачи данных по сети. Сеть Ethernet, построенная
на основе коаксиального кабеля, ограничена пропускной способностью
10 Мбит/с. Последующий переход на более высокую скорость передачи, как
Глава 4. Прокладка сетевого кабеля
83
в случае с кабелем из витой пары и Fast Ethernet, для нее невозможен. Со
случаями применения коаксиального кабеля можно столкнуться в сетях,
развернутых несколько лет назад. В новых сетях Ethernet он фактически не
применяется. В следующих ниже разделах рассматривается использование
различных типов кабеля, и обсуждаются ограничения и преимущества,
связанные с применением того или иного типа.
Толстый Ethernet
Кабель RG-8/U обычно называется магистральным кабелем для толстого
Ethernet (thick Ethernet trunk cable), что связано с его непосредственным
использованием. RG-8/U, применяемый в сети "толстый Ethernet",
обеспечивает наименьшее затухание среди всех видов коаксиального кабеля. Это
свойство в большой мере связано с тем, что он толще всех остальных видов.
Поэтому сеть "толстый Ethernet" может иметь сегменты длиной до 500 м, в
то время как в тонком Ethernet они ограничены дистанцией 185 м.
Диаметр кабеля RG-8/U равен 0,405 дюйма (около 1 см). Кабель
напоминает по внешнему виду садовый шланг, но только при этом он тяжелее и
более жесткий, что затрудняет его укладку вокруг углов. Поэтому обычно
такой кабель прокладывается по полу помещения. В спецификации
Ethernet указано, что для подключения каждого компьютера к кабелю RG-8/U
следует использовать кабель интерфейса подключаемых устройств (AUI,
Attachment Unit Interface). Кабель RG-58A/U, применяемый в сети
"тонкий Ethernet", напротив, тоньше, легче и гибче, что позволяет
подключать его непосредственно к сетевому адаптеру. RG-8/U также намного
дороже, чем другие виды коаксиального кабеля, и это может быть одной
из причин его редкого использования сегодня. Для сравнения: бухта не-
пленумного кабеля RG-8/U длиной 500 футов (около 152 м) у одного из
поставщиков стоит 399 $, тогда как стоимость RG-58A/U такой же длины
составляет 129 $. Пленумный кабель еще дороже: 1049 $ за 500 футов
RG-8/U и 259 $ за RG-58A/U.
Кабель "толстый Ethernet" обычно желтого цвета (поливинилхлоридная
оболочка) или оранжево-коричневого (тефлон), и через каждые 2,5 м на нем
стоят черные метки в местах, куда предположительно должны подключаться
рабочие станции. Для подключения рабочей станции к кабелю
преимущественно применяется специальное приспособление, известное как "зуб
вампира" (vampire tap). "Зуб вампира" — это зажим, который присоединяется к
кабелю, после того как прокалывает отверстие в его, оболочке. Он имеет
металлические зубцы, которые вонзаются в проводящую жилу (рис. 4.3).
"Зуб вампира" также включает трансивер (внешний по отношению к
компьютеру), который размещается непосредственно на кабеле и подключается
к сетевому адаптеру AUI-кабелем с 15-контактными коннекторами DB-15
на обоих концах.
84
Часть //. Сетевое аппаратное обеспечение
^ Примечание ^Д
Длина AUI-кабеля может достигать 50 метров, что является важным фактором
при планировании конфигурации сети. В большинстве случаев магистраль
"толстого Ethernet" проходит через комнату вдоль стены, и все компьютеры
подключаются к ней.
Кабель "толстый Ethernet"
Трансивера
Кабель
трансивера
Рис. 4.3- Устройство "Зуб вампира", применяемое для присоединения
AUI-кабеля к магистрали толстого Ethernet
При таком способе соединения нет необходимости в разрезании кабеля
"толстый Ethernet" в точке подключения каждой рабочей станции.
Спецификация Ethernet рекомендует применять один непрерывный сегмент, когда это
только возможно, и даже указывает места, где должны располагаться разрывы,
если в последних есть необходимость {см. разд. "Толстый Ethernet" главы 8).
Для соединения концов кабеля "толстый Ethernet" в точках разрыва
применяются N-коннекторы. Также на обоих концах шины используются
специальные N-коннекторы с резисторами, играющие роль терминаторов (рис. 4.4).
Рис. 4.4. N-коннекторы для кабеля
RG8 сети "толстый Ethernet"
Из-за присущих ему недостатков, таких как высокая стоимость и жесткость
и, несмотря на лучшую, чем у тонкого Ethernet производительность, "толстый
Глава 4. Прокладка сетевого кабеля
85
Ethernet" никогда не употребляется для прокладки новых сетей Ethernet и
очень редко встречается в уже существующих.
Тонкий Ethernet
Главное преимущество кабеля RG-58, применяемого для тонкого Ethernet,
перед RG-8 —- это его гибкость. Благодаря указанному достоинству
упрощается процесс прокладки сети, и появляется возможность подвести кабель
прямо к компьютеру, не используя для этого AUI-кабель. Однако, по
сравнению с витой парой, кабель "тонкий Ethernet" все еще неудобен и трудно
скрываем по причине того, что каждая рабочая станция должна иметь два
кабеля, подключенных Т-коннектором к сетевому адаптеру. Вместо
аккуратных настенных розеток с разъемами для коммутационных кабелей, в
кабельной системе тонкого Ethernet для каждого компьютера из стены торчат
два толстых, достаточно жестких отвода.
В результате, шина разделяется на отрезки кабеля произвольной длины,
которые соединяют каждый компьютер со следующим, что является
противоположностью шине толстого Ethernet, в идеале состоящей из одного
длинного сегмента кабеля, проколотого "зубами" по всей его длине. Это качество
вносит большое отличие в функционирование сети, так как если одно из
двух соединений, подведенных к каждому компьютеру, будет нарушено по
любой из причин, то шина будет разорвана. Когда такое происходит,
нарушается сетевое взаимодействие между системами, расположенными по
разные стороны от разрыва, а отсутствие терминаторов на концах кабеля
приводит к повреждению всего сетевого трафика.
Кабель RG-58 использует BNC-коннекторы (Bayonet-Neil-Concelman) для
сопряжения с Т-коннекторами и Т-коннекторы для подключения к сетевому
адаптеру компьютера (рис. 4.5). Даже на пике своей популярности кабель
"тонкий Ethernet" обычно поставлялся в бухтах, и коннекторы к нему
присоединял специалист, монтировавший сеть, или администратор. Процесс
присоединения BNC-коннектора начинается с удаления изоляции на конце кабеля с
той целью, чтобы оставить оголенными "землю" и медный сердечник. После
этого по частям подстыковывается коннектор (кабель пропускается сквозь
гильзу, клемма насаживается на сердечник) и обжимается гильза, так, чтобы
зажать кабель и зафиксировать на нужном месте клемму. Для выполнения
описанной операции служит специальный инструмент, похожий на
плоскогубцы. Он называется обжимными клещами (crimper) (рис. 4.6).
Присоединение BNC-коннекторов требует соответствующих навыков,
которые приобретаются на практике. Неплотно обжатые коннекторы легко
соскальзывают с кабеля или, хуже того, теряются, что приводит к нарушению
электрического контакта. В результате сеть работает с непостоянной
производительностью и случайными перебоями, причину которых сложно
выявить без соответствующего оборудования для тестирования кабеля. Из-за
86
Часть II. Сетевое аппаратное обеспечение
подобных нарушений соединений "тонкий Ethernet" приобрел репутацию
капризной и временами ненадежной сети.
Рис. 4.5. Байонетные (BNC) коннекторы,
применяемые в Ethernet-сетях
\£Э
Рис. 4.6. Обжимные клещи
для присоединения коннекторов
к кабелю
Кабель RG-58 дешевле, чем RG-8, и имеет много разновидностей, но,
несмотря на все эти факторы, "тонкий Ethernet" — "мертвая" технология.
Относительная сложность реализации топологии "шина" и ограниченная
скорость передачи данных по коаксиальному кабелю делают непрактичным
применение рассмотренной технологии в современных ЛВС.
Технология ARCNET
ARCNET (Attached Resources Computing Network, вычислительная сеть с
присоединенными ресурсами) — единственная отличная от Ethernet технология,
использующая коаксиальный кабель. Несмотря на все сходство с толстым
Ethernet, в сетях ARCNET применяется кабель RG-62A/U с волновым
сопротивлением 93 Ом, и кабели для двух этих сетей не взаимозаменяемы.
ARCNET представляет собой сеть с передачей маркера, которая работает
только на скорости 2,5 Мбит/с и может образовывать смесь из топологий
"шина" и "звезда". В настоящее время сетевое оборудование для ARCNET не
производится, но в свое время она являлась достаточно работоспособным и
недорогим сетевым решением.
Кабельное телевидение
Существующее положение, при котором коаксиальный кабель достаточно
редко задействуется в ЛВС, еще не означает, что он полностью исчерпал
свою полезность. Антенны, радио и, в особенности, кабельное телевидение
до сих пор активно его применяют. Кабель, доставляющий телевизионный
сигнал в дом, — коаксиальный RG-59 с волновым сопротивлением 75 Ом.
Чаще всего он используется для широкополосной передачи (по одному
кабелю передаются несколько частотно разделенных сигналов одновременно).
Этот кабель похож на "толстый Ethernet", но имеет другие свойства и
требует других коннекторов. F-коннекторы для кабельного телевидения
выполнены в виде штекеров, в то время как BNC-коннекторы применяют байо-
нетный механизм крепления.
Глава 4. Прокладка сетевого кабеля
87
Многие поставщики кабельного телевидения применяют один и тот же
коаксиальный кабель для обеспечения доступа абонентов в Интернет, а также для
передачи телевизионных сигналов. При таком подходе коаксиальный кабель
подсоединяется к кабельному модему, который подключается к компьютеру
Ethernet-кабелем lOBaseT. Однако, несмотря на то, что коаксиальный кабель
может быть частью сети Ethernet, не путайте его с тонким Ethernet,
использующим другой тип коаксиального кабеля и узкополосную передачу.
Кабели на основе витой пары
Кабель из витой (скрученной пары) пары является на сегодняшний день
стандартом для ЛВС. По сравнению с коаксиальным кабелем он проще в
прокладке, подходит для большого количества различных предметных
областей и обеспечивает намного лучшую производительность. Однако,
вероятно, самым большим преимуществом витой пары является то, что она уже
используется бесчисленным количеством телефонных систем по всему миру.
Это означает, что огромное число подрядчиков хорошо знакомы с
процедурой монтажа такой проводки, и в новых зданиях разводка кабеля для ЛВС
может осуществляться одновременно с прокладкой телефонного кабеля.
В отличие от коаксиального кабеля, который имеет только один проводник,
переносящий сигнал, и "землю", кабели на основе витой пары (ТР, twisted
pair), применяемые в структурированных кабельных сетях, имеют до четырех
пар изолированных медных проводов в одной металлической оплетке или без
нее (различают неэкранированный [UTP] и экранированный [STP] кабели).
Каждая пара проводов для защиты от переходного затухания, вызванного
электромагнитными помехами от соседних пар и внешних источников,
скручивается с различным шагом — количеством витков на дюйм (рис. 4.7).
Витые парь, / ^еР0абНязательно)
II" А
Защитная оболочка
Рис. 4.7. Кабель "витая пара"
в разрезе
Также каждая витая пара имеет свою расцветку. Используемые для каждой
жилы цвета определены в стандарте TIA/EIA-T568-A:
□ пара 1 —■ синий/белый с синей полосой;
88
Часть И. Сетевое аппаратное обеспечение
О пара 2 — оранжевый/белый с оранжевой полосой;
□ пара 3 — зеленый/белый с зеленой полосой;
□ пара 4 — коричневый/белый с коричневой полосой.
Неэкранированная витая пара (UTP)
Внешняя оболочка кабеля "витая пара" может быть либо сравнительно
тонкой, как у неэкранированной витой пары (UTP, unshielded twisted-pair), либо
толстой, как в экранированной витой паре (STP, shielded twisted-pair). Из этих
двух типов кабеля более часто используется UTP. Большинство офисных
сетей Ethernet построены на UTP. Кабель UTP использует медные
проводники диаметром 22 или 24 по шкале AWG с характеристическим
импедансом 100 Ом. Оболочка может быть пленумной и непленумной.
Помимо основных спецификаций, стандарт TIA/EIA-T568-A определяет
уровни производительности для кабеля UTP, согласно которым кабель
разделяется на пять категорий. Чем выше категория кабеля, тем более
эффективно он может передавать данные. Основное отличие между категориями
кабеля заключается в количестве витков каждой пары проводов. В табл. 4.2
перечислены категории, определенные в стандарте Т568-А, их скоростные
характеристики и области применения.
Таблица 4.2. TIA/EIA категории кабеля UTP
Категория Полоса частот Применение
Телефон; POTS (Plain Old Telephone System, услуги
традиционной телефонии); системы сигнализации
Телефон; миникомпьютеры IBM и терминалы;
ARCNET; LocalTalk
Телефон; "lOBaseT Ethernet; 4 Мбит/с Token Ring;
100BaseT4; 100VG-AnyLAN
16 Мбит/с Token Ring
100 BaseTX; OC-3 (ATM); SONet
^ Примечание J}
Стандарт TIA/EIA-T568-A рекомендует применять в телекоммуникационных
сетях кабель категорий 3, 4 и 5.
Кабель категории J традиционно используется в телефонии, также он
пригоден для сетей Ethernet lOBaseT, которые функционируют на скорости
10 Мбит/с. Категория 3 не подходит для полосы пропускания 100 Мбит/с
сети Fast Ethernet, исключая случай 100BaseT4, который специально разра-
1
2
3
4
5
до 0 МГц
до 1 МГц
до 16 МГц
до 20 МГц
до 110 МГц
Глава 4. Прокладка сетевого кабеля
89
ботан в расчете на кабель этой категории. Только 100BaseT4 (а также крайне
малоуспешный протокол lOOVG-AnyLAN) могут работать с этим кабелем,
так как они задействуют все четыре пары проводов для передачи данных, в
то время как стандартные технологии применяют только две пары.
Кабель категории 4 обеспечивает незначительное увеличение
производительности по сравнению с категорией 3, и одно время поддерживался
сетями Token Ring.
Большинство современных UTP-сетей построены на кабеле категории 5, так
как он обеспечивает значительный прирост быстродействия и поддерживает
передачу с частотой до 100 МГц. Даже если на настоящий момент сеть
использует lOBaseT, большинство администраторов предпочитают кабель
категории 5, предвидя будущий переход на Fast Ethernet или другую
высокоскоростную технологию.
Хотя деление на категории TIA/EIA относится в основном только к кабелю, другие
сетевые компоненты, относящиеся к сетевой среде передачи данных, также
разбиваются на категории. Для создания кабельной системы, полностью
совместимой с категорией 5, требуется, чтобы все коннекторы, настенные розетки,
коммутационные панели и другие компоненты также соответствовали категории 5.
Стандарты, следующие за категорией 5
В то время как кабель категории 5 успешно используется в сетях с
пропускной способностью 100 Мбит/с, таких как Fast Ethernet, технология
продолжает развиваться. И сегодня доступны устройства для Gigabit Ethernet,
обеспечивающего пропускную способность 1 Гбит/с (1000 Мбит/с). Чтобы
приспособиться к этим ультравысоким скоростям, классификация кабеля UTP
также продолжает расширяться. Однако процесс разработки и принятия
стандартов TIA/EIA медленнее (намного), чем темпы развития технологии, в
результате чего на рынке присутствуют виды кабеля, выходящие за границы
самой высокой из действующих на сегодня категорий — категории 5. Их
статус еще не определен официальными стандартами.
Компания Anixter, Inc., играющая видную роль в развитии стандартов
TIA/EIA, разработала свою собственную классификацию кабеля. В ней
кабель, в противоположность категориям, разбивается на уровни (levels). В
табл. 4.3 перечислены уровни, предлагаемые Anixter, которые следуют за
текущей 5 категорией.
Level 5 удваивает полосу частот, определенную категорией 5, до 200 МГц,
чтобы соответствовать международному стандарту ISO 11801. Кабели этого
уровня обеспечивают пропускную способность до 1,2 Гбит/с, что позволяет
использовать их для передачи информации в сетях Gigabit Ethernet. Обору-
90
Часть II. Сетевое аппаратное обеспечение
дование, поддерживающее этот стандарт, ныне называется
усовершенствованной категорией 5 (Category 5 Enhanced или Category 5E). Помимо
указанного существуют и другие названия. Level 6 увеличивает ширину полосы
частот до 350 МГц, a Level 7 — до 400 МГц. Сейчас на рынке можно найти
кабель, для обозначения уровня производительности которого принята
данная классификация.
Таблица 4.3. Классификация кабеля UTP фирмы Anixter
Уровень
Level 5
Level 6
Level 7
Полоса частот
200 МГц
350 МГц
400 МГц
TIA/EIA также работает над расширением стандарта, которое, по всей
видимости, не будет соответствовать уровням Anixter. Усовершенствованная
категория 5 включает проверку на перекрестные наводки, для которых чаще
используется термин "переходное затухание", а именно переходное затухание
на ближнем конце (NEXT, near-end crosstalk), переходное затухание на дальнем
конце (FEXT, far-end crosstalk) и потери на отражение ("обратное затухание")
сигнала (RL, return loss). Категория 6 введена, чтобы удвоить полосу частот
категории 5 до 200 МГц, а категория 7 (стандарт которой находится еще
только на ранних стадиях разработки) — до 750 МГц. На настоящий момент
оборудование, соответствующее этим спецификациям, еще не производится.
Схема расположения
контактов коннекторов
Кабель "витая пара" завершается на обоих концах коннекторами RJ-45
(рис. 4.8). RJ-45 (RJ — акроним для Registered Jack, стандартный штекер) —
это 8-контактная версия 4-контактного коннектора RJ-11 для стандартного
телефонного кабеля. Схема расположения контактов для коннекторов,
которая также определяется в стандарте TIA/EIA-T568-A, приведена на рис. 4.9.
Она известна под названием назначение контактов 568А. Однако другие
стандарты, предшествующие TIA/EIA-T568-A, предусматривают
альтернативную схему расположения выводов.
Стандарт USOC определяет оригинальную схему (показанную в правой
части рис. 4.10), применяемую в США для передачи речи. Такая конфигурация
Глава 4. Прокладка сетевого кабеля
91
не подходит для передачи двоичных данных в ЛВС, так как, несмотря на то,
что контакты 3 и 6 присоединяются к одной паре проводов, контакты 1 и 2
соединяются с разными парами. Компания AT&T выявила этот недостаток,
когда начала проводить исследования пригодности использования в
локальных сетях существующей телекоммуникационной инфраструктуры. AT&T
опубликовала в 1985 году свой стандарт, названный 258А. Он
предусматривает новую схему расположения контактов, в которой соответствующие
выводы соединяются с одинаковыми парами. TIA/EIA, которая была
образована в 1985 году после развала AT&T, опубликовала этот стандарт в 1995 в
качестве приложения к TIA/EIA-T568-A. Он получил название Т568-В (см.
рис. 4.10). Таким образом, схема расположения контактов, сегодня
известная как Т568-В, может показаться более новой, чем 568А, хотя на самом
деле она более старая. Схема Т568-В стала широко применяться в США еще
до публикации стандарта TIA/EIA-T568-A.
Контакт 1
Контакт 2
Контакт 3
Контакт 4
Контакт 5
Контакт 6
Контакт 7
Контакт 8
ПараЗ
(зеленая)
Пара 1
(синяя)
Пара 2
(оранжевая)
Пара 4
(коричневая)
Рис. 4-9. Схема расположения контактов 568А
Как можно видеть на рис. 4.10, стандарт USOC использует другое
расположение витых пар, в то время как схемы расположения контактов 568А и
568В одинаковы, за исключением переставленных местами зеленой и
оранжевой витых пар. Таким образом, два стандарта функционально идентичны
и не один из них не имеет преимущества перед другим до тех пор, пока оба
конца кабеля используют одинаковую схему расположения контактов.
Готовый кабель промышленного изготовления совместим с любым из этих двух
стандартов. Кабель USOC также сейчас выпускается, но он не подходит для
применения в ЛВС или других сетях передачи данных.
92
Часть II. Сетевое аппаратное обеспечение
Контакт 1
Контакт 2
Контакт 3
Контакт 4
Контакт 5
Контакт 6
Контакт 7
Контакт 8
568В
Пара 2
(оранжевая)
Пара 1
(синяя)
ПараЗ
(зеленая)
Пара 4
(коричневая)
Контакт 1
Контакт 2
Контакт 3
Контакт 4
Контакт 5
Контактб
Контакт 7
Контакте
USOC
Рис. 4.10. Схемы расположения контактов 568В и USOC
Пара 1
(синяя)
Пара 2
(оранжевая)
Пара 3 (зеленая)
Пара 4 (коричневая)
В большинстве случаев кабель из витой пары монтируется прямонаправленно,
то есть так, чтобы каждый контакт одного коннектора соединялся с
соответствующим ему контактом другого коннектора. Тем не менее, в типичной
сети компьютеры используют разные пары проводов для передачи и приема
данных. При связи двух машин передаваемый сигнал, генерируемый
каждым компьютером, должен быть подан на принимающие контакты другого
компьютера. Это означает, что передающая и принимающая пары проводов
должны быть перекрещены. Кабели монтируются прямонаправленно из-за
того, что скрещивание может выполняться концентратором. Однако, если
необходимо соединить два компьютера непосредственно, без помощи
концентратора, то для этого используется кросс-кабель (crossover cable), иначе
называемый перекрестным или разнонаправленным, в котором
соответствующие пары проводов перекрещены.
Благодаря тому, что каждый контакт в прямом кабеле соединен с
соответствующим ему контактом на другом конце, цвет провода не имеет значения.
В силу этого обстоятельства, когда приобретается готовый кабель, схемы
расположения контактов 568А и 568В будут функционировать одинаково.
Применение кабеля из бухты является тем случаем, когда имеет значение,
какой из стандартов взят за основу. Одинаковые цвета на разных концах
кабеля надо соединять с одинаковыми контактами, — так будет получено
прямонаправленное соединение. Выбор какого-либо одного стандарта и
следование ему позволит избежать путаницы, которая может привести к
неработающим соединениям.
Присоединение коннекторов к кабелю требует наличия обжимных
инструментов, подобных используемым для коаксиального кабеля. За
исключением того, что они более сложны, так как имеют дело с восьмью
проводниками вместо двух. Тем не менее, готовый фабричный кабель из витой пары
Глава 4. Прокладка сетевого кабеля
93
встречается намного чаще, чем готовый кабель "тонкий Ethernet".
Администратор сети, не имеющий навыка работы с обжимными клещами, может
легко приобрести кабель типа "витая пара" с заранее присоединенными
коннекторами из широкого диапазона марок, длин и расцветок.
Экранированная витая пара (STP)
STP — это кабель с сопротивлением переменному электрическому току
150 Ом, поддерживающий дополнительное экранирование, которое защищает
сигналы от электромагнитных помех (EMI), вызываемых электрическими
двигателями, электропроводкой и другими источниками. Изначально
применяемый в сетях Token Ring, STP также предназначен для прокладки в тех
местах, где кабель UTP не может обеспечить достаточной помехозащищенности.
Экранирование в кабеле STP — не просто дополнительный слой изоляции,
как полагают многие. Напротив, провода внутри кабеля заключены в
металлическую оплетку, которая имеет такую же проводимость, как и медные
провода. Когда эта оплетка правильно заземлена, она, как антенна,
преобразует окружающие шумы в электрический ток. Этот ток наводит равные по
значению и обратные по направлению токи в витых парах. Противоположно
направленные токи нейтрализуют друг друга, в результате помехи не
воздействуют на сигнал, передаваемый по проводам.
Баланс между противоположно направленными токами очень важен. Если
токи не совпадают полностью, то суммарный ток может быть
интерпретирован как шум и сможет повлиять на качество сигнала, передаваемого по
кабелю. Чтобы токи были сбалансированы, соединение, взятое в целом,
должно быть экранировано и правильно заземлено. Это условие означает, что все
компоненты, вовлеченные в соединение, такие как коннекторы и настенные
розетки, должны быть также экранированы. Также жизненно важно, чтобы
кабель был проложен правильно, то есть как следует заземлен, и
экранирование было без разрывов и повреждений.
Защита от электромагнитных помех в кабеле STP может осуществляться
экранами двух типов: фольгой или металлической сеткой. Металлическая
сетка — более эффективный экран, но она увеличивает вес, диаметр и
стоимость кабеля. Кабель, экранированный фольгой, иногда называется
загороженной витой парой (ScTP, screened twisted-pair) или фолъгированной
витой парой (FTP, foil twisted-pair). Он тоньше, легче и дешевле, но вместе с
тем менее эффективен, и его легче повредить. В обоих случаях процесс
монтажа STP сложнее по сравнению с UTP, так как надо стараться не перегнуть
кабель слишком сильно, чтобы избежать повреждения экрана. Кабель также
может быть подвержен повышенному затуханию и другим проблемам из-за
того, что эффективность экранирования сильно зависит от множества
факторов, включая материал и толщину экрана, тип и местоположение
источника EMI, способ заземления.
94
Часть //. Сетевое аппаратное обеспечение
Классификация кабелей STP была определена IBM в ходе разработки
протокола Token Ring. Согласно стандарту кабель STP делится на несколько
типов.
□ Type 1A. Две пары проводов 22 AWG, каждая из которых завернута в
фольгу, с экранирующим слоем (фольги или металлической сетки)
вокруг обеих пар и внешней, защитной оболочкой из поливинилхлорида
(PVC) или тефлона.
□ Type 2A. Две пары проводов 22 AWG, по отдельности завернутых в
фольгу, с экранирующим слоем (фольги или металлической сетки)
вокруг обеих пар плюс четыре дополнительные пары проводов 26 AWG для
передачи речи. Все это внутри поливинилхлоридной или тефлоновой
оболочки.
□ Type 6A. Две витые пары 22 AWG с экраном из фольги или сетки вокруг
обеих пар и внешней изоляцией PVC или в пленумном исполнении
(тефлон).
□ Type 9A. Две витые пары 26 AWG с экраном из фольги или сетки вокруг
обеих пар и внешней PVC или тефлоновой оболочкой.
^ Примечание ^Д
Стандарт TIA/EIA-T568-A признает только два типа кабеля STP из этого списка:
Type 1A, применяемый для магистралей и горизонтальной кабельной разводки,
и Type 6A для коммутационных кабелей.
Сети Token Ring на базе STP используют большие, запатентованные
коннекторы IDC (IBM Data Connector). Однако, в связи с отсутствием кабеля в
бухтах и сложностью процесса прокладки большинство современных сетей
Token Ring применяют совместно с ними стандартный кабель UTP из
четырех пар вместо STP.
Оптоволоконный кабель
Оптоволоконный кабель разительно отличается от всех видов кабеля,
рассмотренных ранее в этой главе, так как перенос электрических сигналов по
медным проводникам в нем не используется. Вместо этого для передачи
двоичных данных применяются световые импульсы. В силу того, что
оптоволоконный кабель использует свет (фотоны) вместо электричества, почти
все проблемы, присущие медному кабелю, такие как электромагнитные
помехи, перекрестные помехи (переходное затухание) и необходимость
заземления, полностью устраняются. Вдобавок, чрезвычайно уменьшается
погонное затухание, позволяя протягивать оптоволоконные связи без регенерации
сигналов на много большие дистанции, достигающие 120 км.
Глава 4, Прокладка сетевого кабеля
95
Оптоволоконный кабель идеально подходит для создания сетевых
магистралей, и в особенности для соединения между зданиями, так как он
нечувствителен к влажности и другим внешним условиям. Также он обеспечивает
повышенную по сравнению с медью секретность передаваемых данных,
поскольку не испускает электромагнитного излучения, и к нему практически
невозможно подключиться без разрушения целостности.
Недостатки оптоволокна в основном связаны со стоимостью его прокладки
и эксплуатации, которые обычно намного выше, чем для медной среды
передачи данных. Эта разница стала привычной, тем не менее, в последние
годы она стала сглаживаться. Сама оптоволоконная среда только слегка
дороже UTP категории 5. Но независимо от указанных преимуществ и
недостатков применение оптоволокна приносит с собой другие проблемы, такие
как процесс прокладки. Разводка оптоволоконного кабеля в основном
ничем не отличается от укладки медного, но присоединение коннекторов
требует принципиально иного инструмента и технических навыков.
Оптоволоконный кабель известен уже долгое время, его поддерживали даже
ранние стандарты Ethernet для пропускной способности 10 Мбит/с. Первый
из них получил название FOIRL (Fiber-Optic Inter-Repeater Link), а
последующи — lOBaseF. Несмотря на это, оптоволокно позиционируется как
высокоскоростная сетевая технология, и сегодня фактически все применяемые
протоколы Канального уровня используют его в той или иной форме. Вот
некоторые из них:
□ Fast Ethernet (100BaseFX);
П Gigabit Ethernet (lOOOBaseFX);
□ Token Ring;
□ Fiber Distributed Data Interface (FDDI);
□ lOOVG-AnyLAN;
□ Asynchronous Transfer Mode;
□ Fibre Channel.
Как и медный, оптоволоконный кабель обычно применяется в сетях
топологии "шина" или "звезда", хотя протокол FDDI популяризирует "двойное
кольцо" (double ring), которое в целях обеспечения отказоустойчивости
состоит из двух резервных "колец", по которым трафик передается в
противоположных направлениях.
Строение оптоволоконного кабеля
Оптоволоконный кабель состоит из сердечника, сделанного из стекла (кварца)
или полимера, оболочки, окружающей сердечник, затем следует слой
пластиковой прокладки и волокна из кевлара для придания прочности. Вся эта
96
Часть //. Сетевое аппаратное обеспечение
структура помещена внутрь тефлоновой или поливинилхлоридной "рубашки",
как показано на рис. 4.11. Геометрия и свойства сердцевины и оболочки дают
возможность передавать сигнал на относительно большие расстояния.
Показатель преломления сердечника немного выше, чем у оболочки, что делает
внутреннюю поверхность оболочки отражающей. Когда световой импульс
передается по сердечнику, он отражается от оболочки и распространяется
дальше. Отражение света позволяет изгибать кабель под разными углами, при
этом сигнал может по-прежнему передаваться без потерь.
Волокна для
прочности оболочка
Рис. 4.11. Оптоволоконный
кабель в разрезе
Существует два типа оптоволоконного кабеля: одномодовый (singlemode) и
многомодовый (miltimode). Основное отличие между ними заключается в
толщине сердечника и оболочки. Одномодовый световод обычно имеет
толщину порядка 8,3/125 микрон, а многомодовое волокно — 62,5/125 микрон.
Эти значения соответствуют диаметру сердечника и диаметру вместе взятых
сердечника и оболочки. Световой луч, распространяющийся по
сравнительно тонкому сердечнику одномодового кабеля, отражается от оболочки не так
часто, как это происходит в более толстом сердечнике многомодового
кабеля. Сигнал, передаваемый одномодовым кабелем, генерируется лазером, и
представляет собой волну только одной длины, в то время как многомодо-
вые сигналы, генерируемые светодиодом (LED, light-emitting diode),
переносят волны различной длины. Эти качества позволяют одномодовому кабелю
функционировать с большей пропускной способностью по сравнению с
многомодовым и преодолевать расстояния в 50 раз длиннее.
С другой стороны, одномодовый кабель намного дороже и имеет
сравнительно большой радиус изгиба по сравнению с многомодовым, что делает
работу с ним неудобной. Большинство оптоволоконных сетей используют
многомодовый кабель, который хотя и уступает по производительности
одномодовому, но зато значительно эффективней, чем медный. Телефонные
компании и кабельное телевидение, тем не менее, стремятся применять
одномодовый кабель, так как он может передавать большее количество данных
и на более длинные дистанции.
Глава 4, Прокладка сетевого кабеля
97
Коннекторы для оптоволоконного кабеля
Обычно для оптоволоконного кабеля используются ST-коннекторы (straight tip,
прямой штырь). Это — бочкообразные соединители с байонетной системой
крепления, как показано на рис. 4.12. Более новый тип разъемов называется
SC-коннекторы (subscriber connector). В настоящее время он приобретает все
большую популярность. SC-коннекторы имеют прямоугольную форму и
вставляются в гнездо, где просто фиксируются (метод "Push-Pull") защелкой.
Коннекторы могут присоединяться к оптоволоконному кабелю несколькими
способами: либо с применением опрессовочных монтажных средств, либо с
использованием эпоксидного клея. В отличие от инструмента для обжатия
медного кабеля, который можно приобрести за сумму около 100 $,
аналогичный набор инструментов для оптоволоконного кабеля будет стоить 1000 $.
Рис. 4.12. ST (справа)
и SC (слева) коннекторы
для оптоволоконного кабеля
Оптоволоконный кабель
и проектирование сети
В настоящее время сфера применения оптоволоконного кабеля в основном
ограничена высокоскоростными сетевыми магистралями. Для
горизонтальной кабельной разводки он используется не часто в силу высокой стоимости
установки и обслуживания. Однако в этой области данная технология имеет
большой потенциал. Применение оптоволоконного кабеля дает
проектировщикам сети свободу, какая никогда не может быть достигнута при
помощи медного кабеля. В силу того, что оптоволокно позволяет сегментам
иметь длину много большую, чем 100 метров у сегментов UTP, отпадает
необходимость в использовании телекоммуникационных монтажных шкафов с
коммутаторами или концентраторами, распределенных по всей сети.
Вместо этого горизонтальная разводка может начинаться от настенных
розеток и сводиться напрямую в центральную аппаратную комнату, где будут
находиться все сетевые коммутационные панели, концентраторы,
коммутаторы, маршрутизаторы и другие подобные устройства. Такая кабельная
система называется локализованной магистралью (collapsed backbone). Это
решение явно лучше, поскольку основная техническая поддержка сетевой
инфраструктуры производится только в одном месте, а не распределяется по
всем удаленным областям сети.
98
Часть //. Сетевое аппаратное обеспечение
Прокладка кабеля
Прокладка сетевого кабеля может быть простой, если надо просто купить в
компьютерном магазине нескольких готовых кабелей и прикрепить их к
плинтусу, или сложной в случае, когда необходимо соединить с сетевой
магистралью тысячу рабочих станций в офисном здании с множеством
помещений. Как упоминалось ранее в этой главе, прокладка кабеля — это
часть процесса создания ЛВС, которая обычно поручается сторонним
специалистам, но не из-за того, что это технически очень трудновыполнимая
работа. Просто она утомительна и требует много времени. Однако, как и
большинство профессионалов, укладчики кабеля с соответствующим
инструментом и навыками могут сделать всю работу так, что со стороны будет
казаться, что это легко и быстро.
Несмотря на то, что для небольшой сети может использоваться готовый
кабель, скрытая внутренняя проводка (когда кабель спрятан в стены и потолки)
использует кабель в бухте. Создание такой проводки (предполагается, что
будет применен какой-либо общедоступный сегодня тип кабеля, такой как UTP
или оптоволокно) должно включать в себя несколько основных этапов.
1. Продумать план, описывающий местоположение кабельных узлов, куда
будут сходиться все кабели, и настенных розеток.
2. Проложить кабель через стены и потолки до каждой рабочей станции.
3. Установить настенную розетку рядом с каждой рабочей станцией и
присоединить конец кабеля к контактам розетки.
4. В кабельном узле разместить на стене коммутационную панель и
вставить каждый подведенный кабель в разъем панели.
5. Протестировать каждое соединение с применением соответствующего
оборудования.
6. Используя готовые фабричные коммутационные кабели, соединить
порты коммутационной панели с соответствующим концентратором, а
компьютеры — с гнездами настенных розеток.
Конечно, данное описание значительно упрощает процесс, ввиду чего стоит
рассмотреть некоторые этапы более детально.
Планирование
Планирование — это отдельная, наиболее важная часть процесса создания
всей сети. Необходимо знать точное расположение каждого абонентского
отвода кабеля, при этом лучше, если оно будет отмечено на плане этажа, с тем,
чтобы его можно было отследить во время прокладки сети. Через стены и
потолки могут быть пропущены сотни идентичных кабелей, и если не будет
соответствующей организации дела, то результатом явится беспорядок. План
Глава 4. Прокладка сетевого кабеля
99
должен быть разработан с учетом требований протокола Канального уровня,
правил эксплуатации здания и пожарной безопасности для того, чтобы в
дальнейшем не пришлось вытаскивать все кабели. Конечно, могут возникнуть
сюрпризы, вызванные планировкой помещений и конструкцией здания,
которые вынудят изменить план в середине его осуществления. Но ведь для
этого в бюджете и предусмотрен 10%-ный резерв, не правда ли?
Протяжка кабеля
Непосредственно сам процесс протяжки кабеля начинается от места
размещения сервера или информационного центра, где планируется разместить
коммутационную панель. Коммутационная панель или патч-панелъ (patch
panel) (рис. 4.13) — это вмонтированная в стену конструкция, которая
содержит гнезда для всех планируемых к укладке кабелей. Она и будет
кабельным узлом — местом начала всех кабелей.
Рис. 4.13. Коммутационная панель
Кабель обычно поставляется в больших бухтах. Расположив эту бухту около
коммутационной панели, можно начать сматывать кабель и протягивать его
к месту расположения первого отвода. Как это будет делаться, зависит от
планировки здания. В современном офисе с полыми стенами и подвесными
потолками кабель обычно протягивается над потолком до приблизительно
оцененного местоположения отвода, а затем по стене опускается вниз к
отверстию под настенную розетку.
Однако, прежде чем начать проталкивать конец первого кабеля над
подвесным потолком, надо убедиться, что он помечен. Большинство укладчиков
кабеля применяют различные липкие наклейки с каким-либо кодом, по
которому они смогут в дальнейшем осуществить его идентификацию. Вместе с
кабелем можно протащить длинную ленту или бечевку, которую
впоследствии можно использовать, если понадобится проложить дополнительный
кабель в то же самое место. Тогда достаточно присоединить кабель к одному
концу ленты и потянуть за другой конец.
Один из инструментов, требуемый для протяжки кабеля над подвесным
потолком, представляет собой тонкий телескопический шест длиной 10 или
15 футов (около 3 или 4,5 м) с зажимом на конце для фиксации кабеля.
Передний конец кабеля присоединяется к шесту, находящемуся в собранном
состоянии. Затем шест раздвигается над потолком во всю свою длину. Этот
100
Часть И. Сетевое аппаратное обеспечение
инструмент удобен в тех ситуациях, когда надо проложить кабель, не
рассчитывая на кого-либо еще. Без него пришлось бы приставить лестницу,
затем как можно дальше пробросить над потолком петлю кабеля, а после
взять еще одну лестницу, чтобы принять кабель на противоположной
стороне комнаты.
Когда кабельная разводка производится над подвесным потолком,
необходимо опустить каждый кабель по внутренней стороне стены до настенной
розетки. Для этой цели применяется еще один инструмент, называемый fish tape.
Он похож на кусок проволоки, который используют водопроводчики для
чистки труб, и тоже имеет зажим для фиксации кабеля на конце. Проволока
достаточно гибкая (похожа на мерную линейку) для того, чтобы протолкнуть
кабель внутри стены от потолка к полу или наоборот. Как только отрезок
кабеля достигнет настенной розетки, протаскиваются еще несколько
дополнительных метров, чтобы ослабить натяжение, и кабель отрезается от бухты,
причем надо не забыть пометить конец таким же кодом, как и начало.
На каждом этапе этого процесса могут встретиться непредвиденные
сложности. Может обнаружиться, что стены пронизаны деревянными или
металлическими гвоздями, или имеют горизонтальные барьеры на полпути между
потолком и полом. Внутри подвесных потолков кабелю, возможно, придется
огибать крепления светильников или другие препятствия.
Монтаж оборудования
Когда кабель протянут, необходимо его оконцевать и присоединить к
соответствующим устройствам. Со стороны рабочей станции кабель обычно
заканчивается в настенной розетке. Настенная розетка (wall plate) содержит
гнезда, в которые вставляется кабель. Она либо закрепляется на стене, либо
заделывается прямо в поверхность стены. Розетка обычно имеет модульную
конструкцию и может содержать до четырех гнезд. В нее можно
устанавливать гнезда нескольких видов для поддержки соединений различного типа.
В зависимости от цели это могут быть соединения для передачи речи или
двоичных данных. При применении UTP каждый провод в кабеле
присоединяется к контакту коннектора (согласно схеме расположения контактов,
выбранной заранее), затем коннектор вставляется в розетку, а розетка уже
монтируется на стене.
Другим концом кабель сопрягается с коммуникационной панелью.
Коммутационная панель выполняет те же функции, что и настенная розетка, только у
нее больше гнезд. Патч-панель не является концентратором, между ее
портами нет никаких связей. Это просто удобный способ отслеживать начало
кабеля. При присоединении кабеля к патч-панели отдельные провода
заправляются в определенные гнезда (согласно схеме расположения контактов,
идентичной применяемой в настенной розетке) при помощи специального
инструмента (рис. 4.14). Этот инструмент одновременно прочно вставляет провод в
Глава 4. Прокладка сетевого кабеля
101
гнездо, создает соединение и отрезает излишки. Порты коммутационной
панели лучше пометить, чтобы знать, куда идет кабель.
**
Рис. 4.14. Инструмент для присоединения
кабеля к коммутационной панели
Тестирование соединений
После заделывания концов кабеля нужно протестировать правильность
соединений. Это можно сделать, просто подключив к сети компьютер, но
профессиональные монтажники кабельной сети применяют специальное
оборудование для тестирования, которое оценивает качество соединения
проще и точнее. Более подробную информацию об инструментах для
тестирования кабеля см. в главе 28.
Присоединение компьютеров
С этого момента все готово для присоединения кабеля к соответствующим
устройствам. При помощи коммутационных кабелей, которые либо
приобретаются, либо изготавливаются самостоятельно из кабеля в бухтах,
настенная розетка соединяется с компьютером, а порт коммутационной панели —
с концентратором, коммутатором или другим устройством в
информационном центре.
Более полная картина
Процесс создания кабельной системы может быть намного сложнее
описанного в данной главе. Рассмотренный пример демонстрирует
развертывание горизонтальной кабельной разводки только в пределах одной рабочей
площадки. Большая корпоративная сеть может состоять из множества таких
горизонтальных разводок, соединенных магистралью, проходящей между
этажами здания или даже между зданиями.
Глава 5
Повторители,
концентраторы и мосты
Повторители, концентраторы и мосты — это устройства, предназначенные
для соединения сетевых кабелей на двух нижних уровнях эталонной модели
OSI. В зависимости от возможностей устройства и уровня, на котором оно
функционирует, результатом его работы может быть увеличение длины сети,
поддержка большего числа компьютеров или обеспечение большей
пропускной способности для каждой системы в сети.
Повторители
При передаче сигнала по кабелю он постепенно слабеет, пока не станет
неразличим. Чем длиннее кабель, тем слабее сигнал. Это ослабевание сигнала
называется "затухание" (attenuation) и в той или иной степени является
проблемой для всех типов кабеля. Эффект затухания зависит от типа кабеля.
Медный кабель, например, значительно больше подвержен затуханию, чем
оптоволоконный. Это одна из причин, по которой сегмент оптоволоконного
кабеля может быть намного длиннее, чем сегмент медного.
Стандарты, согласно которым создаются компьютерные сети, задают
минимальную и максимальную длину кабеля, соединяющего компьютеры. Если
необходимо проложить кабель на более длинную дистанцию, то для этого
применяется приспособление, называемое повторителем (repeater), которое
усиливает сигнал. Благодаря усилению сигнал преодолевает большее
расстояние без затухания до той границы, где он становится не читаем
системой-получателем. В простейшей форме, повторитель — это электрическое
устройство, которое получает сигнал через одно кабельное соединение,
усиливает полученный сигнал и передает его через другое соединение.
Из-за своих чисто электрических функций повторитель функционирует
только на Физическом уровне. Повторитель не может прочитать содержимое
передаваемых по сети пакетов, даже если он знает, что это пакеты.
Устройство просто усиливает входящие электрические сигналы и передает их
дальше. Повторители также не могут выполнять какую-либо фильтрацию
пересылаемых по сети данных. Как следствие, два сегмента, соединенные
повторителем, формируют единую область коллизий. (Областью коллизий
Глава 5. Повторители, концентраторы и мосты
103
или доменом коллизий называется часть сети, в которой рабочие станции и
промежуточные узлы используют общую среду передачи.)
В современной сети очень редко можно увидеть отдельно стоящий
повторитель. В большинстве случаев его функции встроены в другое устройство,
такое как концентратор или коммутатор. В сети, проложенной
коаксиальным кабелем, такой как тонкий или толстый Ethernet, отдельно стоящие
повторители могут увеличить длину сегмента до 185 метров и выше (для
тонкого Ethernet) или 500 метров (для толстого Ethernet). Этот тип
повторителей представляет собой отдельное устройство, состоящее из корпуса с
двумя разъемами для коаксиального кабеля и штепселя для источника
питания. Установка такого повторителя заключается в присоединении к нему
двух сегментов кабеля.
Существуют другие факторы, ограничивающие дистанцию прохождения
сигнала. В сетях Ethernet, например, пакет, отправленный одним из
компьютеров, должен достигнуть других компьютеров в локальной сети, прежде
чем будет отправлен его последний бит. Таким образом, нельзя
неограниченно удлинять сеть за счет увеличения количества повторителей. Путь в
сети 10 Мбит/с Ethernet может иметь до пяти сегментов, соединенных
четырьмя повторителями. Сети Fast Ethernet в этом смысле более ограничены,
в них допускается применять не более двух повторителей.
Концентраторы
Концентратор (hub) — это устройство, которое выполняет функции
связующего звена для кабеля в сети с топологией "звезда". Каждый компьютер
отдельным кабелем подключен к центральному концентратору. Концентратор
отвечает за распространение трафика, пришедшего на любой из портов,
через все остальные порты. В зависимости от сетевой среды в устройстве
концентратора могут быть применены электрические схемы, оптические
компоненты или другие технологии для распределения входящего сигнала
между всеми выходными портами. Концентратор для оптоволокна,
например, использует зеркала для того, чтобы расщепить световые импульсы.
Внешне концентратор представляет собой коробку, либо стоящую отдельно,
либо смонтированную в стойке, с пронумерованными портами, к которым
подключается кабель. Порты могут быть: стандартными гнездами RJ-45 для
сетей на основе витой пары, гнездами под ST-коннекторы для
оптоволоконного кабеля или разъемами под любые другие виды коннекторов,
применяемых в сетях с топологией "звезда".
Термин "концентратор" употребляется при описании сетей Ethernet, в сетях
Token Ring аналогичное устройство называется модулем множественного
доступа (multistation access unit). Внутреннее функционирование этих двух
устройств различно, но их основное назначение одно: объединять
совокупность компьютеров в единую область коллизий.
104
Часть II. Сетевое аппаратное обеспечение
Пассивные концентраторы
В отличие от повторителей, концентраторы могут различаться по спектру
предоставляемых ими возможностей. В простейшем варианте концентратор
обеспечивает кабельные соединения, пропуская все сигналы, пришедшие на
любой порт устройства, через все остальные порты. Такое устройство
называется пассивным концентратором (passive hub), оно работает на Физическом
уровне, не обладает "интеллектом" и не модифицирует сигнал. Подобные
концентраторы практически уже не применяются в современных сетях.
Ретранслирующие концентраторы
Концентраторы, используемые в современных сетях, как минимум
поддерживают ретранслирующие функции, т. е. усиливают сигнал, прежде чем
передать его через выходные порты. Такие концентраторы иногда называются
многопортовыми повторителями (multiport repeaters). В отличие от пассивного
концентратора, ретранслирующий (или активный) концентратор требует
наличия источника питания для повышения уровня сигнала. Однако такое
устройство все еще функционирует на Физическом уровне, поскольку имеет
дело только с необработанными сигналами.
Некоторые концентраторы умеют больше, чем просто ретранслировать, и
могут также восстанавливать сигналы и синхронизировать передачу
последних через выходные порты. Они применяют принцип "сохрани и передай
дальше", который заключается в чтении содержимого пакетов с целью их
дальнейшей передачи через конкретные подходящие порты. Концентратор с
описанными возможностями может снизить производительность сети для
систем, подключенных к нему, из-за задержек, вызванных дополнительной
обработкой данных, хотя при этом уменьшаются количество потерь пакетов
и число коллизий.
Для небольших сетей рабочих групп, подобных сетям, используемым в
малом бизнесе и в домашних условиях, можно приобрести в качестве
основного ретранслирующий концентратор для 10 Мбит/с Ethernet с восемью
портами меньше чем за 100 $. Это устройство позволит объединить все
компьютеры в единую область коллизий. По той причине, что
ретранслирующий концентратор функционирует как повторитель, каждый кабель,
соединяющий концентратор и один из компьютеров, может достигать длины, не
более максимальной допускаемой стандартом протокола. Для сетей Ethernet
на базе кабеля из неэкранированной витой пары максимальная дистанция
равна 100 метрам.
Возможно задействовать в сети несколько концентраторов, соединяя их
вместе для того, чтобы сформировать сеть топологии "звезда-шина" или
"дерево" (рис. 5.1). Когда для этой цели применяются стандартные
ретранслирующие концентраторы, все компьютеры остаются в той же единой об-
Глава 5. Повторители, концентраторы и мосты
105
ласти коллизий, и, следовательно, необходимо придерживаться правил
конфигурации сети, предписываемых используемым протоколом Канального
уровня. Так же, как и в случае с отдельно стоящими повторителями,
рассмотренном ранее в этой главе, путь между двумя любыми компьютерами в
10 Мбит/с Ethernet-сети не может содержать больше, чем четыре
повторителя (концентратора).
Рис- 5-1- Сеть топологии "дерево", использующая несколько концентраторов
для расширения области коллизий
Например, если небольшая lOBaseT сеть для рабочей группы "переросла"
установленный концентратор, можно добавить еще один, присоединив его к
специальному порту для соединения этих устройств между собой, который
присутствует у большинства концентраторов Ethernet. Все компьютеры
останутся в единой области коллизий и будут получать все передаваемые по
сети пакеты. Такое расширение сети может продолжаться до тех пор, пока
не будет достигнут максимум из четырех концентраторов. Если сеть
продолжает расти дальше, то можно заменить имеющиеся концентраторы на
другие модели с большим количеством портов или разбить сеть на две ЛВС
(или области коллизий), применив устройство другого типа, такое как мост,
маршрутизатор или коммутатор.
[^ Примечание ^
Для получения более подробной информации о порте для соединения
концентраторов и внутреннем функционировании концентраторов см. разд.
"Конфигурации концентраторов" в этой главе.
106
Часть II. Сетевое аппаратное обеспечение
Модули множественного доступа
сети Token Ring
Сети Token Ring также применяют концентраторы, хотя здесь они
называются модулями множественного доступа (MAU, multistation access unit).
Несмотря на.то, что MAU, судя по всем внешним проявлениям, выполняет
одинаковые с концентратором Ethernet функции, его внутреннее
функционирование достаточно сильно отличается. Вместо параллельной передачи
входящего трафика на все порты, как это происходит в концентраторе,
MAU раз за разом передает пакеты последовательно через каждый порт.
После отправки пакета рабочей станции, MAU ждет, пока последний вернется
обратно через тот же самый порт, прежде чем передать этот пакет на выход
следующего порта. Так формируется топология "логическое кольцо", от
которой получил свое имя соответствующий протокол.
MAU также имеют переключатели, которые позволяют исключать из кольца
определенные порты в случае возникновения каких-либо неполадок. Это
предотвращает нарушения в работе всего кольца, которые могли бы вызвать
неисправные рабочие станции.
Интеллектуальные концентраторы
Интеллектуальные концентраторы — это устройства, обладающие
некоторыми встроенными возможностями управления. Стандартный
ретранслирующий концентратор по существу является электрическим устройством,
которое передает входящие пакеты всем доступным портам, не различая их.
Интеллектуальный концентратор поступает подобным образом, но при этом
также отслеживает работу каждого порта. Возможности управления у разных
устройств могут сильно отличаться, но большинство интеллектуальных
коммутаторов применяют протокол SNMP (Simple Network Management
Protocol, простой протокол управления сетями) для передачи информации
консоли централизованного управления сетью, такой как Hewlett-Packard's
Open View. Другие устройства могут использовать терминал,
непосредственно подключенный к концентратору, или HTML-интерфейс дая доступа
посредством Web-браузера откуда-либо из сети.
Встроенные возможности управления предоставляют сетевому
администратору централизованный источник информации о концентраторах и
системах, подключенных к ним. В большой сети это устраняет необходимость в
осмотре службой технической поддержки каждого монтажного шкафа с
кабельными соединениями для того, чтобы выявить концентратор или
систему, вызвавшую неполадки. Консоль управления обычно отображает
графическую модель сети и сообщения для администратора в случае, когда
возникает проблема, связанная с любой из подключенных к концентратору
систем.
Глава 5. Повторители, концентраторы и мосты
107
В небольших ЛВС явной нужды в таких возможностях нет, но в
корпоративных сетях с сотнями или тысячами узлов технология, которая может
точно сообщить, какой порт, и у какого концентратора, неисправен, очень
полезна. Степень "интеллекта", встроенного в концентратор, сильно
варьируется от модели к модели. Сегодня на рынке встречаются гибридные
устройства с интеллектом, выходящим далеко за границы, необходимые для
стандартного концентратора, который позволяет этим устройствам также
выполнять функции моста, коммутатора или маршрутизатора.
Конфигурации концентраторов
Имеется широкий выбор концентраторов, различающихся размерами и
дополнительными возможностями, от простых небольших устройств для
обслуживания горстки компьютеров до огромных, смонтированных в стойке
концентраторов, предназначенных для больших корпоративных сетей. По своему
исполнению концентраторы разбиваются на три категории:
П автономные концентраторы;
П наращиваемые концентраторы;
□ модульные концентраторы.
Автономные концентраторы
Автономный концентратор (standalone hub) — это небольшая коробочка
размером с книгу в мягкой обложке, которая имеет от 4 до 16 портов. Как
свидетельствует название, устройство устанавливается отдельно, имеет свой
собственный шнур питания и легко умещается на столе или под ним. 4- или 5-
портовые мини-концентраторы хорошо подходят для домашней сети или сети
маленькой рабочей группы, и обеспечивают быстрое, специально
предусмотренное для этого случая расширение до большой сети. Более крупные по
размерам устройства поддерживают большее количество соединений и могут
иметь светодиоды, показывающие наличие импульсного сигнала связи в
присоединенном кабеле и, возможно, возникновение в сети коллизии.
Несмотря на название, автономный концентратор обычно обладает
способностью соединения с другими концентраторами в целях расширения сети в
пределах единой области коллизий. Следующие разделы посвящены
наиболее часто используемым для этой цели механизмам.
Порт для соединения концентраторов
Кабель, применяемый в сетях на витой паре, использует прямое соединение.
Это означает, что каждый из восьми контактов коннектора TU-45 на одном
конце кабеля соединен с соответствующим ему контактом на другом конце.
Однако, для того, чтобы UTP-соединение между двумя компьютерами
работало, передающая схема каждой системы должна быть соединена с
принимающими схемами других систем. Таким образом, где-то должно осуществ-
108
Часть II. Сетевое аппаратное обеспечение
ляться перекрещивание и традиционно оно выполняется концентратором.
Контакты каждого порта концентратора соединены с контактами всех
остальных портов посредством перекрещивающей схемы, которая
переставляет сигналы передаваемых и принимаемых данных.
^ Примечание ^
Для получения более подробной информации о кабельной системе сети и
перекрещивании сигналов см. главу 4.
Многие концентраторы имеют порты, которые обходят перекрещивающую
схему, что позволяет использовать их для соединения с другими
концентраторами. Такой порт обычно помечается меткой uplink и может иметь или не
иметь переключатель, который позволяет выбрать: будет порт задействован
под перекрещенное или же прямонаправленное соединение. Если в сети
имеется более одного концентратора, то их можно соединить через uplink-
порт (только на одном из концентраторов; в противном случае оба
концентратора будут выполнять перекрещивание, и соединение между
компьютерами, подключенными к обоим концентраторам, будет эквивалентно
прямому). Если концентратор не имеет uplink-порта, то его все еще можно
соединить с другим концентратором, используя стандартный порт и кросс-
кабель (иначе перекрещенный или разнонаправленный кабель), в котором
контакты для передачи сигнала на одном конце кабеля напрямую соединены с
контактами для приема на другом.
Uplink-порт обычно используется для соединения концентраторов, когда
они расположены на некотором расстоянии друг от друга и для их стыковки
предполагается применить тот же тип кабеля, что и во всей сети. При
выборе концентратора большое значение имеет количество портов для
подключения рабочих станций. Устройство с восемью объявленными портами
может иметь семь стандартных портов и один uplink-порт без переключателя.
К такому концентратору можно будет подключить только семь рабочих
станций. В целях возможного расширения, вне зависимости от размеров
сети, лучше приобретать концентраторы с количеством портов немного
большим, чем это необходимо.
Магистральные соединения
Некоторые автономные концентраторы имеют порт интерфейса
подключаемых устройств (АШУ Attachment Unit Interface), который можно задействовать
для создания сетевой магистрали (backbone), представляющей собой
отдельный сегмент сети для трафика между концентраторами. Например, многие
недорогие концентраторы lOBaseT имеют BNC-коннектор для соединения
концентраторов при помощи отрезка коаксиального кабеля "тонкий
Ethernet", хотя коннектор AUI может также поддерживать "толстый Ethernet",
оптоволоконный кабель или любую другую среду передачи данных. "Тонкий
Ethernet" теперь достаточно редко используется при монтаже новых сетей и
Глава 5. Повторители, концентраторы и мосты
109
этот метод не подходит для сетей Fast Ethernet (поскольку коаксиальный
кабель ограничен скоростью передачи 10 Мбит/с), но он достаточно хорошо
иллюстрирует сам принцип магистральных соединений.
^ Примечание ^Д
Это только показательный пример концепции применения сетевой магистрали, в
котором выделенный сетевой сегмент служит для соединения отдельных
сегментов или ЛВС. Более крупные сети и даже такие огромные, как Интернет,
используют магистрали (часто работающие на высоких скоростях) для обеспечения
прохождения трафика сетевых комплексов по более эффективным путям.
Когда несколько концентраторов lOBaseT Ethernet соединяются при помощи
uplink-портов, каждый отрезок кабеля является отдельным сегментом. Так
как нормативы сети Ethernet позволяют маршруту от одной системы до
другой состоять не более чем из пяти сегментов, соединенных четырьмя
повторителями, то ддя любой отдельной ЛВС действует ограничение в четыре
концентратора. Когда концентраторы соединяются шиной тонкого Ethernet,
как показано на рис. 5.2, то в уравнение добавляется только один сегмент.
Здесь путь между двумя системами включает, самое большее, три сегмента,
поскольку данные, передаваемые по шине, достигают всех концентраторов в
один и тот же момент.
UTR тонкий Ethernet UTR
Рис. 5.2. Так как два отрезка коаксиального кабеля "тонкий Ethernet"
на этом рисунке формируют одну шину, то путь между двумя рабочими
станциями состоит из трех сегментов, а не из четырех
При дальнейшем расширении сети можно столкнуться еще с одним
ограничением Ethernet, которое пока не было упомянуто. Соединение
концентраторов шиной называется смешанным сегментом (mixing segment), так как к нему
может подключаться больше двух устройств. Сегмент, который может
соединять только два устройства, такой как кабель UTP, соединяющий
концентраторы посредством uplink-портов, называется сегментом связи (link segment). Из
пяти сегментов, разрешенных в сети lOBaseT, только три их них могут быть
смешанными. Это ограничение известно как правило Ethernet 5-4-3.
К^ Примечание ^Д
Для получения более подробной информации о руководящих принципах
прокладки сети Ethernet см. главу 8.
110
Часть II. Сетевое аппаратное обеспечение
Наращиваемые концентраторы
Если увеличить вертикальный размер корпуса концентратора и его
сложность (а заодно и его стоимость), то получится устройство, называемое
наращиваемый концентратор (stackable hub), которое обеспечивает большую
расширяемость. Как свидетельствует название, эти концентраторы имеют
корпуса, разработанные так,, чтобы укладывать их один на другой, но это не
единственное расхождение. В отличие от автономных концентраторов,
которые могут располагаться в разных помещениях, но все еще оставаться
соединенными вместе, наращиваемые концентраторы обычно размещаются в
информационном центре или монтажном шкафу и соединяются между
собой короткими кабелями.
Когда наращиваемые концентраторы состыкованы вместе, они
функционируют как один большой концентратор. Кабели, соединяющие устройства, не
формируют отдельных сегментов, поэтому можно использовать больше
четырех концентраторов. Вдобавок эти устройства могут разделять свои
функции. Отдельный блок подобного интеллектуального концентратора может
управлять своими собственными портами так же, как это могут делать все
остальные блоки массива.
Наращиваемые концентраторы имеют свои собственные источники питания
и могут функционировать независимо. Таким образом, создается намного
более расширяемая среда по сравнению с автономными концентраторами.
Можно начать работать с одним блоком, не тратя основные средства на
приобретение шасси (как в случае с модульными концентраторами), и
присоединять дополнительные блоки по мере роста сети.
Модульные концентраторы
Модульные концентраторы (modular hubs) разработаны для поддержки самых
больших сетей и обеспечивают наивысшую наращиваемость и гибкость.
Модульный концентратор представляет собой шасси (иногда называемое
каркасом для плат), которое почти всегда смонтировано в виде стойки и
содержит несколько слотов для установки отдельных коммуникационных
модулей. Шасси предоставляет общий для всех модулей источник питания, а
также объединяющую плату, которая позволяет модулям взаимодействовать
друг с другом. Модули содержат порты, к которым подключаются кабели от
компьютеров. Когда несколько модулей вставляются в шасси, то достигается
эффект, как от одного большого концентратора.
Модульные концентраторы почти всегда имеют возможности управления и
являются очень гибкими устройствами, так как в одно шасси можно
вставить модули, поддерживающие различные технологии. Используя разные
модули, допустимо смешивать среды передачи данных, такие как 100BaseTX
и 100BaseFX, в одном концентраторе, смешивать протоколы, такие как
Ethernet и Token Ring, или вставлять платы, которые обеспечивают функции
Глава 5. Повторители, концентраторы и мосты
111
моста, коммутатора или маршрутизатора. Отсюда можно представить, что
модульные концентраторы наиболее дороги, и предназначаются для
больших, неизменных сетей.
^ Примечание j[
В некоторых случаях граница, разделяющая наращиваемые и модульные
концентраторы, становится неразличимой. Существуют наращиваемые
концентраторы со слотами расширения, которые допускают применение модулей с
дополнительными портами, возможностями управления и даже поддержкой
другой среды передачи, такой как оптоволоконная магистраль.
Выбор концентратора
При выборе концентратора очень важно учитывать вероятность в будущем
расширения сети и по возможности всегда следует приобретать
концентратор с несколько большим количеством портов, чем необходимо в данный
момент. Со временем может появиться желание подключить принтеры, а
также рабочие станции, непосредственно к концентратору. Помимо этого
надо представлять план расширения сети на тот случай, если она перерастет
возможности одного концентратора.
Планирование роста сети
Для небольших сетей эффективны автономные концентраторы, расширение
сети осуществляется подключением дополнительного концентратора к uplink-
порту (или к стандартному порту при помощи перекрещенного кабеля). Это
также подходящее решение, если необходимо разместить концентраторы в
различных помещениях, так как кабельное соединение двух концентраторов в
сети UTP Ethernet может быть на 10 метров длиннее. Однако надо учитывать
ограничение на количество повторителей, накладываемое стандартами
Ethernet. Четыре концентратора lOBaseT и два концентратора 100BaseT класса II —
вот все, что позволено использовать в сети Ethernet. Если предполагается, что
сеть может перерасти эти ограничения, то лучше приобрести наращиваемый
концентратор, который в дальнейшем можно расширить.
Наращиваемые концентраторы являются идеальным выбором для сетей
среднего размера, поскольку они сочетают в себе гибкость модульных
систем и сравнительно небольшие начальные затраты. Сначала можно
приобрести одно устройство и в дальнейшем добавлять остальные для того, чтобы
получить большее количество портов или дополнительные возможности,
такие как сетевое управление или поддержка других протоколов.
Так как, соединяясь, наращиваемые концентраторы образовывают единое
устройство, то можно не заботиться об ограничениях на допустимое
количество повторителей, пока вы имеете несколько раздельных массивов из кон-
112
Часть II. Сетевое аппаратное обеспечение
центраторов. Однако блок из наращиваемых концентраторов также
предполагает свои ограничения по расширяемости, при этом максимальное
количество концентраторов, которые могут в него входить, у различных моделей
варьируется.
Для соединения наращиваемых концентраторов друг с другом используют
короткие кабели, поэтому они должны быть размещены вместе, обычно в
монтажном шкафу или другом безопасном месте. Данное ограничение
требует более тщательного планирования сети по сравнению с автономными
концентраторами, которые можно разместить в любом месте, где нужны
дополнительные порты. Необходимо выбрать место размещения
наращиваемых концентраторов, равноудаленное от всех подключаемых к кенцентрато-
рам рабочих станций и с наличием подходящего источника питания. Важно
помнить, что если питание концентраторов отключится, то выйдет из строя
вся сеть, даже если сами ПК защищены источниками бесперебойного
питания (UPS).
Модульные концентраторы требуют самого тщательного планирования при
размещении среди всех концентраторов и наибольших начальных затрат из-
за того, что необходимо приобрести шасси, а также вставляемые в него
платы с разъемами. Вложения в модульные концентраторы обычно
долгосрочные, поскольку такие устройства лучше всего подходят для больших сетей,
требующих наибольшей гибкости и расширяемости. Предположим, что ваша
сеть в ближайшее время станет интенсивно расти и может потребовать
использования различных технологий. В качестве возможного сценария пред-
ставимо слияние двух компаний, влекущее за собой объединение двух
несопоставимых типов сетей. Решением подобной задачи может быть
приобретение модульных концентраторов у известного поставщика, который в
ближайшие пять лет сможет предоставить любые необходимые компоненты, а
также техническую поддержку.
Наращиваемые концентраторы достаточно легко перенести в другое место
(прокладка сетевого кабеля — отдельный разговор). Модульные
концентраторы обычно наглухо монтируются в информационном центре или
большом монтажном шкафу. Некоторые модульные решения включают
дополнительные возможности для обеспечения отказоустойчивости,
подобные резервным вентиляторам, источникам питания и питанию от
аккумуляторных батарей, а также возможностью "горячей" замены модулей в
случае неисправности.
Планирование модернизации сети
Другая первоочередная забота — это учет возможного в ближайшем будущем
перехода на более высокую скорость работы сети. Например, в сети lOBaseT
может понадобиться переход на Fast Ethernet, по крайней мере, для
нескольких рабочих станций точно.
Глава 5. Повторители, концентраторы и мосты
113
Концентраторы Ethernet могут поддерживать lOBaseT, Fast Ethernet или
сразу обе технологии. В отличие от плат сетевых адаптеров, не каждый
концентратор Fast Ethernet способен работать на 10 Мбит/с и на 100 Мбит/с.
В случае выбора односкоростных концентраторов понадобится организовать
отдельные сегменты для каждой пропускной способности и установить в
них соответствующие скоростям работы платы сетевых адаптеров. В двух-
скоростных концентраторах каждый порт автоматически выбирает
оптимальную скорость работы с рабочей станцией, подключенной к нему.
Двухскоростные концентраторы работают, поддерживая для каждой
скорости отдельный логический сегмент внутри устройства, и могут использовать
соответствующий двухпортовый коммутатор для того, чтобы передавать
данные между сегментами (сказанное означает, что в заданный сегмент могут
быть пропущены только данные, предназначенные конкретно для него).
В некоторых реализациях наращиваемых концентраторов коммутатор
встроен в один "мастер"-концентратор, который может обслуживать все другие
концентраторы-"клиенты" в наборе. Это экономит деньги, делая возможным
переключение между сегментами соединенных концентраторов без
приобретения для каждого блока избыточной коммутирующей схемы.
Дополнительно двухскоростные концентраторы упрощают процесс перехода
от "классического" Ethernet к Fast Ethernet. Нет необходимости
устанавливать в серверы и другие системы второй сетевой адаптер, так как
концентратор сам организует путь между двумя сетевыми сегментами. Также после
установки концентратора не нужно переустанавливать адаптеры в рабочих
станциях — системы lOBaseT будут продолжать функционировать
нормально. В любое удобное время в рабочей станции можно заменить сетевой
адаптер lOBaseT на модель 100BaseT. После перезагрузки рабочей станции
новый сетевой адаптер соединится с концентратором на скорости 100 Мбит/с и
будет добавлен в высокоскоростной сегмент.
Не удивительно, что двухскоростные концентраторы значительно дороже
односкоростных моделей. В зависимости от стадии процесса модернизации
может быть экономически выгоднее приобрести односкоростные
концентраторы. Например, если большая часть сети уже использует Fast Ethernet, и
осталось только несколько рабочих станций на 10 Мбит/с, то трата
дополнительных средств на двухскоростные концентраторы, возможно, не лучшее
решение. Вместо этого имеет смысл потратить время на модернизацию
оставшихся систем до Fast Ethernet. Однако, если во всей сети еще широко
применяется lOBaseT и переход на Fast Ethernet находится в стадии
планирования, двухскоростные концентраторы будут идеальным решением.
Мосты
Мост (bridge) — это устройство, также используемое для объединения
сегментов кабеля ЛВС, но в отличие от концентраторов мосты функционируют
114
Часть II. Сетевое аппаратное обеспечение
на Канальном уровне модели OSI и осуществляют отбор передаваемых через
них пакетов. Повторители и концентраторы же разработаны для передачи
всего получаемого ими трафика во все присоединенные сегменты кабеля.
Мост имеет два или более портов, подключенных к различным сегментам
кабеля, и работает в беспорядочном режиме (promiscuous mode), принимая все
пакеты, передаваемые по присоединенным сегментам. Для каждого
полученного мостом пакета устройство считывает адрес получателя из заголовка
протокола Канального уровня, и, если пакет предназначен для системы,
расположенной в другом сегменте, передает пакет в этот сегмент. Если
пакет послан системе в локальном сегменте, мост отбрасывает его, поскольку
данные уже достигли своего места назначения. Описанный процесс
называется фильтрацией пакетов (packet filtering).
Так же, как концентратор или повторитель, мост не вносит изменений в
пакет, каким бы ни было содержание кадра Канального уровня. В
результате можно не учитывать протоколы, работающие на Сетевом и вышележащих
уровнях, при использовании или установке моста.
Работая таким образом, мост уменьшает количество избыточного трафика в
сети, так как не пропускает ненужные пакеты. Широковещательные
сообщения, пропускаемые во все присоединенные сегменты, делают возможным
применение протоколов, которые опираются на широковещание, подобных
NetBEUI, без ручной настройки системы. Однако в отличие от
повторителей мост не пересылает данные в присоединенные сегменты до тех пор,
пока пакет не будет получен целиком. Поэтому две системы в разделенных
мостом сегментах могут передавать данные одновременно, не опасаясь
возникновения коллизии. Таким образом, сегменты, соединенные мостом,
остаются в единой области широковещания, но в разных областях коллизий.
Например, если производительность сети сильно упала из-за большого
трафика, сеть можно разделить на два сегмента, установив посередине мост.
Это позволит удерживать локальный трафик внутри сегментов и пропускать
широковещательный и прочий трафик, предназначенный для других
сегментов. Мосты так же, как концентраторы, выполняют ретранслирующие
функции, давая тем самым возможность увеличить длину кабеля.
Существуют три основных типа мостов.
□ Локальные. Локальный мост обеспечивает фильтрацию пакетов и
ретранслирующие услуги для сетевых сегментов одинакового типа. Такой
тип устройств также называется мостом МАС-уровня, поскольку данные,
обрабатываемые им, поднимаются по стеку протоколов только до уровня
управления доступом к среде или подуровня MAC (нижнего из двух
подуровней, которые составляют Канальный уровень, второй — это
подуровень управления логической связью или подуровень LLC). Это
простейший тип моста, так как он не нуждается в наличии перекодировки
пакетов и буферизации. Устройство просто передает пакеты через
соответствующие порты или отбрасывает их.
Глава 5. Повторители, концентраторы и мосты
115
□ Преобразующие. Преобразующий мост обеспечивает те же функции, что и
локальный мост, за исключением того, что он может соединять сегменты
с разными скоростями работы или различными протоколами. Например,
можно использовать преобразующий мост, чтобы присоединить Ethernet
к Token Ring, lOBaseT к 100BaseT или 100BaseTX к 100BaseT4. Для мостов
данного типа входящие пакеты поднимаются по стеку протоколов до
подуровня MAC, где они лишаются своих заголовков протокола Канального
уровня и передаются подуровню LLC. Затем данные инкапсулируются
соответствующим протоколом для каждого порта, через который мост
будет передавать выходящие пакеты. Указанное преобразование усложняет
сам мост (и увеличивает его стоимость) и вносит задержку в передачу
данных через весь сетевой комплекс, но остается эффективным
решением для объединения отдельных сетей в единую область широковещания.
□ Удаленные. Удаленный мост соединяет сетевые сегменты, расположенные
на значительном расстоянии друг от друга, используя соединение
глобальной сети, такое как модем или арендованная (выделенная) линия.
Соединения глобальной сети обычно медленнее и дороже, чем
соединения ЛВС. Мост сохраняет пропускную способность, минимизируя
передаваемый через соединение трафик, и в то же время предоставляя обоим
сегментам полный доступ к сети. Из-за разницы в скорости работы
локальной и глобальной линий связи удаленный мост обычно имеет
внутренний буфер для хранения полученных из ЛВС данных до тех пор, пока
они не будут отправлены удаленному узлу сети.
^ Примечание ]Д
В большинстве сетей, разрабатываемых сегодня, мосты заменяются
маршрутизаторами и коммутаторами, которые предоставляют более развитые услуги
по все более конкурентоспособным ценам. Для получения более подробной
информации о маршрутизаторах и коммутаторах см. главу 6.
Прозрачная маршрутизация
Чтобы эффективно выполнять фильтрацию получаемых пакетов, мост
должен знать, какие системы и в каком сегменте находятся. Это позволяет
определить, какие из пакетов нужно переслать дальше, а какие отбросить.
Мост хранит эту информацию во внутренней адресной таблице. Раньше
администраторы сети вручную создавали таблицы адресов для мостов, но
современные устройства заполняют таблицу автоматически. Данный процесс
называется прозрачной маршрутизацией (transparent bridging).
Как только "прозрачный" мост (также известный как обучающийся мост,
learning bridge) присоединяется к сетевым сегментам, он начинает заполнять
свою адресную таблицу. Учитывая адрес отправителя пришедших пакетов и
116
Часть II. Сетевое аппаратное обеспечение
интерфейс, на который они пришли, мост может построить таблицу адресов
узлов для каждого сегмента, подключенного к нему.
Чтобы проиллюстрировать это, представим себе сеть, состоящую из трех
сегментов (А, В и С), которые все присоединены к локальному мосту, как
показано на рис. 5.3. Когда мост включается первый раз, он получает через
интерфейс к сети А пакет Ът узла 1, который предназначен для узла 2
сети В. Так как мост теперь знает, что узел 1 расположен в сети А, он создает
в своей таблице запись для сети А, содержащую МАС-адрес узла 1.
п
П Сеть С Ш"Ц Рис- 5-3- "Прозрачный" мост
i f J распределяет пакеты, основываясь
,-*is*r._ сеть A -^^^^ZL Сеть В =*" на адресной таблице, заполняемой
^^jg^ 1 _х— „_,._|Ц „ сведениями из пакетов, обработанных
Узел 1 Мост Узел 2 ранее
В этот момент мост не имеет информации об узле 2 и сегменте, в котором
данный узел расположен. Поэтому он передает пакет в сети В и С, то есть
во все присоединенные сегменты за исключением того сегмента, откуда был
получен пакет. Это предусмотренный по умолчанию режим работы моста в
случае, если он получает пакет, предназначенный для системы, которой нет
в таблице. В такой ситуации мост передает пакет через все остальные
сегменты, чтобы он наверняка достиг места своего назначения.
Когда узел 2 получает пакет, он передает узлу 1 ответ. Так как узел 2
расположен в сети В, пакет ответа приходит на другой интерфейс моста. Теперь
мост может добавить в таблицу запись для сети В, содержащую адрес узла 2.
Изучая пакет, мост ищет в таблице адрес получателя пакета и выясняет, что
адрес принадлежит узлу 1 в сети А. Он передает пакет только через
интерфейс к сети А.
В случае, когда любая другая система в сети А передает пакет узлу 1, мост
отбрасывает пакет, так как знает, что нет необходимости передавать его в
другие сегменты. Однако он все еще использует эти пакеты для заполнения
адресной таблицы для сети А адресами передающих станций.
В конце концов, адреса всех узлов сети попадают в адресную таблицу моста,
и он может направлять входящие пакеты через соответствующие выходные
порты.
^ Примечание ^
Одна из характеристик, часто прилагаемая к описанию различных моделей
мостов, это— число адресов, которые устройство может сохранить в своей
таблице. Обычно объем памяти, выделяемой для хранения этих данных, на-
Глава 5. Повторители, концентраторы и мосты
117
много больше, чем кому-либо может понадобиться в действительности. Это
хорошо, так как можно быть уверенным, что приобретаемое устройство сможет
поддерживать сеть должным образом.
Передача в замкнутых мостами контурах
Когда сегменты сети соединены при помощи мостов, неисправность моста
может стать катастрофой. По этой причине администраторы часто
соединяют сегменты избыточными мостами, чтобы быть уверенными, что в случае
повреждения моста узел будет иметь доступ ко всей сети.
Сеть А
Сеть С
d
СетьВ
Мост
£У
Мост
Рис. 5.4. Когда каждый сегмент
соединен с другими одним мостом,
возникает опасность нарушения
работы сети
На рис. 5.4 три сегмента соединены двумя мостами. Если один из мостов
выйдет из строя, то один сегмент будет отрезан от остальной сети. Для
решения этой проблемы и обеспечения отказоустойчивости можно добавить
третий мост, соединяющий два конечных сегмента, как показано на рис. 5.5.
Таким образом, каждая система всегда будет иметь два возможных пути к
другим сегментам.
i
Сеть А
Мост
н^Р
Мост
Сеть В
,
Сеть С
Мост
Рис. 5.5. Присоединение каждого
сегмента к двум мостам
обеспечивает отказоустойчивость
Установка избыточных мостов — хорошее решение, но оно может вызвать'
возникновение серьезных проблем. Когда компьютер (узел 1) расположен в
подсоединенном к двум мостам сегменте, как показано на рис. 5.6, оба
моста получают первый переданный системой пакет и добавляют адрес машины
в свои таблицы для этого сегмента (сеть А). Затем оба моста передадут один
и тот же пакет в другой сегмент (сеть В). В результате, каждый мост получит
118
Часть II. Сетевое аппаратное обеспечение
пакет, переданный другим мостом. Заголовок пакета будет указывать в
качестве отправителя узел 1, но оба моста получат его через интерфейс сети В.
В итоге, мосты могут изменить (а могут и не изменить) свои адресные
таблицы так, что узел 1 будет находиться в сети В, а не в А. Если это
произойдет, то любые дальнейшие передачи от узла 2, предназначенные узлу 1,
будут игнорироваться, так как мосты полагают, что узел 1 находится в сети В,
хотя на самом деле он в сети А.
Рис. 5.6. Избыточные мосты
обеспечивают отказоустойчивость,
но также создают замкнутые
контуры и широковещательный
шторм
Результатом возникновения такого замкнутого контура (bridging loop) будут
потеря данных вследствие того, что мосты ошибочно будут отбрасывать
кадры, и ухудшение производительности сети. В конце концов, неправильные
записи в таблицах адресов будут изменены или истечет их срок действия, но
на некоторое время узел 1 будет отрезан от систем из других сегментов сети.
Это не самая страшная проблема. Хуже, если узел 1 пошлет
широковещательное сообщение. Каждый мост передаст его в сеть В, где оно будет
получено другим мостом, который в свою очередь передаст сообщение снова.
Вследствие того, что мосты всегда пропускают широковещательные пакеты,
несколько копий одного и того же сообщения будут бесконечно
циркулировать между двумя сегментами, постоянно передаваясь обоими мостами. Этот
процесс называется широковещательным штормом (broadcast storm). Он может
полностью заблокировать весь сетевой трафик, и сообщения не будут
доходить до адресатов.
Алгоритм связующего дерева
Чтобы решить проблему бесконечных циклов и широковещательных
штормов в сети с избыточными мостами, Digital Equipment Corporation
разработала алгоритм связующего дерева (SPA, spanning tree algorithm). Этот алгоритм
сохраняет отказоустойчивость, обеспечиваемую избыточными мостами, и
устраняет бесконечные циклы. В дальнейшем алгоритм связующего дерева
был переработан ШЕЕ и формализован в виде стандарта 802. Id.
Глава 5. Повторители, концентраторы и мосты
119
Работа алгоритма заключается в выборе одного моста для каждого сегмента
с несколькими доступными мостами. На выбранный мост возлагаются все
задачи по перенаправлению и фильтрации пакетов для данного сегмента.
В это время остальные мосты бездействуют, но остаются в полной
готовности на случай отказа выбранного моста.
В процессе выбора каждому мосту назначается уникальный идентификатор
(используется один из МАС-адресов моста, плюс значение приоритета), так
же, как и отдельным портам каждого моста (используется МАС-адрес
порта). Каждый порт дополнительно ассоциируется с эффективностью
(стоимостью) пути, оценивающей затраты на передачу пакета в ЛВС через
данный порт. Эффективности путей обычно назначаются администратором
в случае, если передача через один порт выгоднее, чем пересылка через
другой, или же им присваиваются значения по умолчанию.
После того, как всем компонентам назначены идентификаторы, мост с
наименьшим значением идентификатора становится корневым мостом (root
bridge) для всей сети. Каждый из оставшихся мостов определяет, какой из
его портов имеет наименьшую эффективность пути к корневому мосту
(называемую стоимостью корневого пути), и назначает искомый порт
корневым портом этого моста.
В конце концов, в каждом сегменте сети определяется выделенный
(отмеченный) мост (designated bridge), а также выделенный (отмеченный) порт
(designated port) этого моста. Только отмеченному порту выделенного моста
разрешено фильтровать и пересылать пакеты для соответствующего сегмента
сети. Остальные (избыточные) мосты в данном сегменте остаются
работающими на случай выхода из строя выделенного моста, но не активными до
тех пор, пока в этом не будет необходимости. Теперь в каждом сегменте
функционирует только один мост, и пакеты могут передаваться без
возникновения циклов.
Чтобы выполнить все необходимые вычисления, мосты должны обмениваться
между собой сообщениями в формате, определенном стандартом 802.Id
(рис. 5.7). Эти сообщения называются блоками данных протокола мостов
(BPDUs, bridge protocol data units) и содержат поля, перечисленные ниже.
□ Идентификатор протокола (2 байта). Всегда содержит значение 0.
□ Версия (1 байт). Всегда равна 0.
□ Тип сообщения (1 байт). Всегда содержит значение 0.
□ Флаги (1 байт). Содержит два 1-битных флага:
• Бит 1. Изменение топологии — указывает на то, что сообщение было
послано для того, чтобы сигнализировать об изменении в составе сети;
• Бит 2. Подтверждение изменения топологии — используется для
подтверждения получения сообщения с установленным битом 1.
120
Часть II. Сетевое аппаратное обеспечение
у —к!
Идентификатор протокола
(2 байта)
Версия (1 байт)
Тип сообщений (1 байт)
Флаги (1 байт)
Идентификатор корня (8 байтов)
Стоимость корневого пути
(4 байта)
Идентификатор моста (8 байтов)
Идентификатор порта (2 байта)
Возврат сообщения (2 байта)
Максимальный возраст (2 байта)
Интервал приветствия (2 байта)
Задержка передачи (2 байта)
Рис. 5.7. Формат сообщения блока данных протокола мостов,
используемого в процессе работы алгоритма связующего дерева
□ Идентификатор корня (8 байтов). Идентифицирует корневой мост, то
есть указывает присвоенное ему двухбайтовое значение приоритета,
следующее за шестибайтовым МАС-адресом.
□ Стоимость корневого пути (4 байта). Заполняется величиной
эффективности пути от моста, пославшего BPDU-сообщение, до корневого моста.
□ Идентификатор моста (8 байтов). Содержит 6-байтовый аппаратный
адрес моста, пославшего сообщение, и 2-байтовое значение заданного
этому мосту приоритета.
Глава 5. Повторители, концентраторы и мосты
121
П Идентификатор порта (2 байта). Определяет порт, через который было
отправлено сообщение.
□ Возраст сообщения (2 байта). Указывает на время, прошедшее с момента
отправки сообщения.
□ Максимальный возраст (2 байта). Задает ограничение возраста, по
достижении которого сообщение должно быть удалено.
□ Интервал приветствия (2 байта). Фиксирует временной интервал между
конфигурационными сообщениями корневого моста.
□ Задержка передачи (2 байта). Специфицирует промежуток времени, в
течение которого мосты должны ожидать завершения работы алгоритма
связующего дерева после изменения топологии сети. Если еще не все
мосты закончили работу алгоритма, то преждевременные передачи могут
вызвать появление циклов.
Сообщения BPDU инкапсулируются стандартными кадрами протокола
Канального уровня, использующими значение SAP 01000010 и групповой адрес
"всем мостам". Мосты вырабатывают сообщения самостоятельно, но при
этом не перенаправляют их в другие сети. Сообщения BPDU пересылаются
только в том сетевом сегменте, к которому непосредственно подключены
мосты.
Как и процесс заполнения таблицы адресов, алгоритм связующего дерева
начинает работать сразу после присоединения мостов к сети и включения
их питания. Первоначально каждый мост считает себя корневым, что
соответствует стоимости пути, равной 0. По мере приема сообщений BPDU от
других мостов сегмента он сравнивает извлеченную из сообщений
информацию и определяет, какой из мостов больше подходит для выполнения
присущих им функций в данном сегменте. Алгоритм принятия этого
решения основан на выстроенных надлежащим образом значениях следующих
критериев:
□ идентификатор корня;
□ стоимость корневого пути;
□ идентификатор моста;
□ идентификатор порта.
Для каждого критерия меньшая величина предпочтительнее большей. Если
мост получает сообщение BPDU с более приемлемой величиной, чем в его
собственном сообщении, то он прекращает передачу через порт, на который
пришло сообщение. В сущности, это означает отказ от обязанностей в
пользу более подходящего моста. Мост также использует значения из входящего
сообщения BPDU для того, чтобы пересчитать величины в полях
сообщений, которые будут посылаться через другие порты.
122
Часть II. Сетевое аппаратное обеспечение
^ Примечание ]Д
Выполнение алгоритма связующего дерева должно быть завершено до того,
как мосты начнут передавать сетевой трафик. В зависимости от реализации
моста, алгоритм может закончить свою работу даже до начала формирования
таблицы адресов.
После того, как алгоритм связующего дерева выбрал мост для каждого
сетевого сегмента, он должен продолжать отслеживать состояние сети с той
целью, чтобы повторить процесс выбора в случае сбоя или отключения моста.
Все мосты сети хранят сообщения BPDU, полученные от других мостов, и
следят за их возрастом. Как только возраст сообщения достигает
максимально допустимого значения, это сообщение отбрасывается, и алгоритм
связующего дерева стартует заново.
Кроме того, корневой мост периодически (через временные промежутки,
определяемые значением поля "интервал приветствия") генерирует новые
сообщения BPDU со значением поля "возраст сообщения", равным 0. Такие
действия вынуждают другие мосты в сети "поддерживать порядок". То есть,
если один из мостов сетевого сегмента перестает посылать сообщения
BPDU, остальные мосты снова с начала до конца выполняют алгоритм для
того, чтобы выбрать для сегмента новый выделенный мост. 4-байтовое
сообщение изменения топологии сигнализирует остальным мостам о
необходимости повторно запустить алгоритм. Данное сообщение укороченного
формата BPDU состоит только из полей идентификатора протокола, версии
и типа сообщения, где первые два поля обнулены, а поле "тип сообщения"
имеет значение 128.
Мосты с разделяемой нагрузкой
В случае удаленных мостов, соединяющих сетевые сегменты через
глобальную сеть, неразумно платить за резервные выделенные линии или другие
дорогие линии электронной связи и позволять им оставаться незадейство-
ванными в результате выполнения алгоритма связующего дерева. Для
решения этой проблемы предназначены мосты с разделяемой нагрузкой, которые
могут использовать резервный канал связи через ГВС для передачи данных
без угрозы возникновения циклических пересылок.
Ретрансляция с маршрутизацией от источника
Ретрансляция с маршрутизацией от источника является альтернативой
прозрачной маршрутизации. Она была разработана IBM для применения в
многосегментных сетях Token Ring и стандартизирована в IEEE 802.5. В
сети, использующей прозрачную маршрутизацию, путь пакета в другой
сегмент определяется выделенным мостом, выбранным в результате работы
алгоритма связующего дерева. В случае ретрансляции с маршрутизацией от
Глава 5. Повторители, концентраторы и мосты
123
источника (source route bridging) путь до системы-получателя определяется
передающей стороной и включается в каждый отдельный пакет.
Для выявления возможных маршрутов через сеть до заданного места
назначения система сетевого комплекса Token Ring передает кадр ARB (All Rings
Broadcast, широковещание на все "кольца"), который все мосты пересылает во
все присоединенные к ним кольца. Когда каждый мост обрабатывает кадр,
он добавляет к пакету свой код маршрута (RD, route designator),
идентифицирующий мост и порт. Просматривая список кодов маршрутов, мосты
предотвращают циклические передачи, не передавая пакет одному и тому же
мосту дважды.
Если до системы-адресата существует больше одного маршрута, то ее
достигнут несколько кадров ARB, содержащих информацию о возможных путях
к ней. Система-получатель выработает ответ на каждый полученный кадр
ARB, используя при этом список кодов маршрутов для маршрутизации
обратного пакета в сторону отправителя.
Когда система-инициатор кадров ARB получит ответ, она выберет
наилучший маршрут до получателя, основываясь на одном или нескольких
следующих критериях:
□ время, затраченное на возврат пакета отправителю;
□ количество пересылок между источником и приемником;
□ предельный размер кадра, который система может использовать.
После выбора одного из маршрутов система Token Ring генерирует пакеты
данных, включая информацию маршрутизации в заголовок кадра.
Формат кадра ARB и пакета данных с информацией маршрутизации такой
же, как у стандартного кадра IEEE 802.5, за исключением первого бита в
поле адреса источника, который называется индикатором наличия
информации маршрутизации (RII, routing information indicator). Бит RII, установленный
в 1, указывает на то, что пакет содержит сведения о маршрутизации. Сама
информация маршрутизации есть не что иное, как список мостов, который
пакет будет использовать во время перемещения по сети. Список кодов
маршрутов называется полем информации маршрутизации (RIF, routing
information field), которое является частью информационного поля,
расположенного сразу после поля адреса источника (рис. 5.8).
Поле информации маршрутизации состоит из двухбайтовой секции
управления маршрутизацией и какого-то числа той же длины секций указателей
маршрута, как показано на рис. 5.9. Секция управления маршрутизацией
содержит поля, перечисленные ниже.
□ Индикатор широковещания (3 бита). Специфицирует вариант
маршрутизации, используемой кадром, в соответствии с приведенными ниже
значениями.
124
Часть II. Сетевое аппаратное обеспечение
000 — не широковещательная. Указывает на то, что пакет содержит
предопределенный маршрут до получателя в секциях указателя
маршрута поля RIF.
100 — широковещание по всем маршрутам. Требует передачи пакета
через все мосты сети (без прохождения одного и того же моста
дважды), каждый из которых должен добавить свою секцию указателя
маршрута, идентифицирующего этот мост и порт.
110 — широковещание по одному маршруту. Является указанием на
передачу пакета только через мосты, выделенные алгоритмом
связующего дерева, причем каждый мост должен добавить секцию указателя
маршрута, идентифицирующего данный мост и порт, в поле RIF.
Указатель
информации .
маршрутизации
(1 бит)
Поле
информации ¥
маршрутизации
(4 байта)
'*w ,.,:,;. _
N
bJ
Начальнй разделитель (1 байт)
Поле управления доступом (1 байт)
Поле управления кадром (1 байт)
Адрес источника (6 байтов)
Данные (переменные длины)
Контрольная последовательность
кадра (4 байта)
Конечный разделитель (1 байт)
Поле статуса кадра (1 байт)
Рис. 5.8. Заключенные в стандартный кадр Token Ring индикатор наличия
информации маршрутизации и поле информации маршрутизации, используемые
в технологии ретрансляции с маршрутизацией от источника
Глава 5. Повторители, концентраторы и мосты
125
П Длина (5 битов). Содержит текущую суммарную длину поля информации
маршрутизации, которая находится в пределах от 2 до 30 байт.
□ Бит направления (1 бит). Устанавливает направление перемещения
пакета. В зависимости от значения этого бита промежуточный узел должен
считывать сегменты указателя маршрута поля RIF слева направо (0) или
справа налево (1).
□ Наибольший кадр (3 бита). Указывает граничный размер кадра, который
может обеспечиваться маршрутом. Этот размер называется максимальным
передаваемым блоком (MTU, maximum transfer unit). Изначально он
устанавливается передающей системой. Мосты уменьшают это значение в тот
момент, когда передают пакет в сегменты, поддерживающие только
кадры меньшего размера. Допустимы следующие значения размеров
максимальных передаваемых блоков (MAC MTU):
• 000 — 552 байта;
• 001 - 1064 байт;
• 010 — 2088 байт;
• 011 - 4136 байт;
• 100 — 8232 байта.
□ Не используются (4 бита).
Указатели
широковещания (3 бита)
Длина (5 битов)
Бит направления (1 бит)
Наибольший кадр (3 бита)
Не используются (4 бита)
Сегмент управления
маршрутизацией
Сегмент указателя
маршрута
N
Номер кольца (12 битов)
Номер моста (4 бита)
Рис. 5.9. Поле информации маршрутизации (RIF) задает мосты, которые пакет
будет использовать во время передачи через сеть
Стандарт IBM для ретрансляции с маршрутизацией от источника
первоначально допускал размещать в одном пакете максимум 8 секций указателя
маршрута, но стандарт IEEE 802.5 увеличил их число до 14. Большинство
126
Часть II. Сетевое аппаратное обеспечение
производителей мостов придерживаются стандарта IBM, впрочем, с учетом
IEEE 802.5, новые реализации мостов IBM поддерживают до 14 кодов
маршрутов. Каждая секция указателя маршрута в поле RIF содержит два поля.
□ Номер кольца (12 бит). Однозначно идентифицирует сетевой сегмент
(кольцо).
□ Номер моста (4 бита). Указывает на определенный мост в сети, используя
значение, которое уникально только в пределах сетевого сегмента (кольца).
Ретрансляция с маршрутизацией от источника — сравнительно
неэффективный метод, так как он основывается на большом количестве
широковещательных передач, распространяющихся во все сегменты сети. Каждая
рабочая станция должна иметь свою собственную информацию
маршрутизации для каждой из систем, с которыми осуществляется взаимодействие.
Такое положение может привести к тому, что система-получатель будет
вынуждена обработать большое количество кадров ARB до того, как она
получит первый байт данных приложения.
Соединение мостом сетей
Ethernet и Token Ring
Вообще говоря, сети Ethernet используют прозрачную маршрутизацию, а
сети Token Ring — ретрансляцию с маршрутизацией от источника. Так что
же произойдет, если присоединить сегмент Ethernet к Token Ring при
помощи моста? Ответить сложно, так как для реализации данного пути
имеется множество серьезных препятствий и не существует строго определенных
стандартов, обеспечивающих решение поставленной задачи.
Ниже приведены некоторые основные несовместимости этих двух
протоколов Канального уровня.
□ Порядок расположения битов. Системы Ethernet полагают, что первым
битом МАС-адреса является младший бит, в то время как системы Token
Ring считают таковым старший бит.
□ Размер MTU. Кадры Ethernet имеют максимальный размер передаваемого
блока данных (MTU), равный 1500 байтам, в то время как кадр Token
Ring намного больше. Мосты не умеют разбивать пакеты на фрагменты,
как это делают маршрутизаторы для того, чтобы передать пакет через
сегмент с меньшим размером MTU, а затем по достижении места
назначения собрать его. Слишком большие пакеты, достигающие моста
сегмента с меньшим MTU, могут быть только отброшены.
□ Особенности Token Ring. Сети Token Ring используют биты статуса кадра,
указатели приоритета и другие возможности, которые не имеют
эквивалента в Ethernet.
Глава 5. Повторители, концентраторы и мосты
127
Вдобавок, два метода маршрутизации имеют свои собственные
несоответствия. Прозрачные мосты не понимают специальных функций сообщений
ARB, применяемых в ретрансляции с маршрутизацией от источника, и не
могут использовать поле RIF пакетов Token Ring. Мосты ретрансляции с
маршрутизацией от источника, напротив, не понимают сообщений
алгоритма связующего дерева, вырабатываемых прозрачными мостами, и не знают,
что делать при получении кадров без информации маршрутизации.
Существуют два основных метода преодоления этих несоответствий, но ни
один из них не является идеальным решением. Вот эти методы:
П преобразующая ретрансляция;
П прозрачная ретрансляция с маршрутизацией от источника.
Преобразующая ретрансляция
В преобразующей ретрансляции (translation bridging) специальный мост
видоизменяет кадры Канального уровня между форматами Ethernet и Token Ring.
Для этого процесса не существует стандарта, так что методы, используемые
различными производителями, могут сильно отличаться. Преобразование
основывается на определенном необходимом компромиссе, так как не
существует способа полностью задействовать все возможности, заложенные в
каждый из протоколов. Некоторые из этих технологий, реализованные в
различных преобразующих мостах, описаны в нижеследующих абзацах.
Одна из основных функций подобного моста заключается в отображении
полей кадра Ethernet на поля кадра Token Ring и наоборот. Мост
переставляет в обратном порядке биты в адресах отправителя и получателя для
дальнейшей передачи пакетов и может предпринимать действия, основанные на
значениях битов статуса, приоритета, резервирования и контроля кадров
Token Ring, равно как и обойтись без них. Мосты могут просто отбрасывать
эти биты при преобразовании от Token Ring к Ethernet или устанавливать их
в предопределенные значения при переходе от Ethernet к Token Ring.
Чтобы согласовать разницу в размерах MTU сетевых сегментов,
преобразующий мост может установить значение наибольшего кадра поля RIF
пакетов Token Ring равным MTU для сети Ethernet (1500 байт). До тех пор, пока
реализации Token Ring на рабочих станциях считывают это поле и
соответственно подгоняют размер своего кадра, проблемы не должно возникнуть,
но любые кадры размером больше, чем MTU в сегментах Ethernet, будут
отброшены мостом, соединяющим две сети.
Самое большое отличие между двумя типами соединения мостами
заключается в том, что в сетях Ethernet информация маршрутизации хранится
непосредственно мостами, в то время как в сетях Token Ring ее хранят рабочие
станции. Для того чтобы преобразующий мост Мог поддерживать оба типа
сети, он должен выглядеть со стороны Ethernet как прозрачный мост, и как
мост ретрансляции с маршрутизацией от источника со стороны Token Ring.
128
Часть II. Сетевое аппаратное обеспечение
Для сети Token Ring преобразующий мост поддерживает номер кольца и
номер моста так же, как стандартный мост с маршрутизацией от источника.
Номер кольца в этом случае представляет всю область Ethernet, а не просто
сегмент, присоединенный к мосту. Когда пакеты из сети Token Ring
проходят через мост, информация из их полей RIF удаляется и кэшируется
мостом. С этого места стандартная прозрачная маршрутизация доставляет
пакеты к месту их назначения в сети Ethernet.
Когда пакет, созданный рабочей станцией Ethernet, предназначается
системе в сети Token Ring, преобразующий мост ищет информацию
маршрутизации системы в своем кэше и добавляет, если это возможно, поле RIF к
пакету, содержащему маршрут для сети. Если в кэше нет маршрута, или пакет
широковещательный, то мост осуществляет его широковещание по одному
маршруту.
Прозрачная ретрансляция
с маршрутизацией от источника
IBM также предложила стандарт, который объединяет две основные
технологии применения мостов. Соответственно, он был назван прозрачной
маршрутизацией от источника (SRT, source route transparent). Рассматриваемая
технология стандартизирована в Приложении С документа IEEE 802. Id.
SRT-мосты могут пересылать пакеты, полученные из сети с
маршрутизацией от источника или сети с прозрачной маршрутизацией, применяя общий
для обоих сетей алгоритм связующего дерева. Стандартный алгоритм
связующего дерева, служащий в сетях Token Ring для передачи сообщений
широковещания по одному маршруту, не совместим с алгоритмом,
применяемым в Ethernet согласно спецификации 802.Id. Упомянутое приложение
согласовывает оба алгоритма.
SRT-мосты проверяют значение бита RII для того, чтобы определить,
содержит ли пакет RIF-информацию, и, соответственно, какой метод следует
использовать: маршрутизацию от источника или, в противном случае, —
прозрачную маршрутизацию. Однако смешивание двух технологий не
безупречно, и администраторы сети могут посчитать более простым решением
соединение сегментов Ethernet и Token Ring при помощи коммутатора или
маршрутизатора, нежели чем использование для такого соединения
преобразующих или SRT-moctob.
Глава 6
Маршрутизаторы
и коммутаторы
Маршрутизация (routing) и коммутация (switching) являются базовыми
концепциями для построения корпоративных сетевых комплексов и
формирования инфраструктуры самой большой интерсети — Интернета. Эта глава
рассматривает способы соединения сетей и сетевых сегментов при помощи
маршрутизаторов и коммутаторов, обеспечивающих почти неограниченную
масштабируемость сети.
Маршрутизаторы
В главе 5 были рассмотрены способы создания больших ЛВС с единой
областью коллизий при помощи повторителей, концентраторов и мостов, которые
соединяют сегменты сети на Физическом и Канальном уровнях модели OSI.
Повторители и концентраторы представляют собой простые электрические
устройства, удлиняющие сегменты сети за счет усиления сигналов.
Соединение мостами имеет преимущества по сравнению с увеличением размеров ЛВС
простым добавлением концентраторов или повторителей, так как мосты
отфильтровывают пакеты, не предназначенные для систем в других сегментах
сети. Таким образом, уменьшается лишний трафик, а широковещательные
сообщения по-прежнему распространяются по всей сети.
Следующий шаг в процессе расширения сети заключается в соединении
двух отдельных ЛВС на Сетевом уровне. Это — задача для маршрутизатора.
Последние более разборчивы по сравнению с мостами, в передаваемом
между двумя сетями трафике, и могут "разумно" выбирать более эффективный
путь к месту назначения. Из-за того, что маршрутизаторы функционируют
на Сетевом уровне, они также способны интегрировать разнородные сети.
Например, можно соединить сети Ethernet и Token Ring, так как пакеты,
попавшие к маршрутизатору, отделяются от заголовков Канального уровня
и передаются вверх по стеку протоколов на Сетевой уровень, оставаясь в
виде протокольных блоков данных (PDU, protocol data unit),
инкапсулированных используемым протоколом Сетевого уровня (рис. 6.1). После
соответствующей обработки маршрутизатор инкапсулирует PDU в новый заголовок
Канального уровня с использованием протокола другой сети.
130
Часть II. Сетевое аппаратное обеспечение
Продвижение
пакета
Удаляется заголовок
протокола
Канального уровня
w ■ ■
Входящие данные
£ h
т Сетевой
| уровень |
Канальный
| уровень |
J Физический [
уровень
Т4!
К
к
Ь*
Добавляется новый
заголовок протокола
Канального уровня
1 "-''■' J w
Исходящие данные
Маршрутизатор
Рис. 6-1- Маршрутизаторы могут соединять сети различных типов, поскольку
они перед обработкой пакета отделяют от него заголовок протокола
Канального уровня, а затем перед передачей добавляют новый заголовок
Большинство людей представляют себе маршрутизаторы как дорогие,
специализированные устройства для крупных корпоративных сетей. Во многих
случаях это, конечно, совершенно верно, но маршрутизатор может также
действовать и в значительно меньших масштабах. Если, например,
домашний компьютер используется для связи по телефонной линии с системой,
расположенной в офисе, и доступа к ресурсам корпоративной сети, то
офисная система функционирует как маршрутизатор. Похожим образом
осуществляется соединение систем в ЛВС с Интернетом — компьютер,
непосредственно подключенный к Интернету, является маршрутизатором.
Маршрутизаторы бывают аппаратными или программными и могут
варьироваться от простых до чрезвычайно сложных.
Маршрутизаторы зависят от протокола. Они должны поддерживать
протокол Сетевого уровня, используемый каждым пакетом. Безусловно, наиболее
широко применяемым сегодня протоколом Сетевого уровня является Internet
Protocol (IP, межсетевой протокол), который лежит в основе Интернета и
большинства частных сетей. Однако некоторые частные сети используют на
Сетевом уровне протокол Internetwork Packet Exchange (IPX, межсетевой
обмен пакетами) фирмы Novell. Компьютер, присоединенный к двум или
более сетям, называется групповой системой (multihomed system). Серверы Novell
NetWare с двумя или более установленными платами сетевых адаптеров
всегда могут работать, как IPX-маршрутизаторы, и современные системы
включают многопротокольное маршрутизирующее программное
обеспечение, которое также поддерживает IP. Групповые Windows-системы тоже
могут работать как маршрутизаторы. В системы Windows NT и 2000
встроены возможности многопротокольных программных маршрутизаторов,
которые поддерживают IP и IPX. Системы Windows 95 и Windows 98 могут
маршрутизировать IPX, но не IP. Протокол NetBEUI, строго говоря, немарш-
рутизируемый, но все системы — Windows NT, 2000, и 9х поддерживают
доступ к сети по телефонной линии на основе NetBEUI.
Глава 6. Маршрутизаторы и коммутаторы
131
Однако большинство маршрутизаторов в крупных сетях являются
отдельными устройствами, по существу представляющими собой компьютеры,
выделенные для выполнения одной функции. Производители поставляют
маршрутизаторы различных размеров, от небольших устройств для
присоединения сети рабочей группы к сетевой магистрали до крупногабаритных
модульных, смонтированных в стойке устройств со стоимостью,
выраженной шестизначным числом. Тем не менее, несмотря на то, что
маршрутизаторы отличаются заложенными в них возможностями, такими как число
сетей, к которым они могут быть подключены, поддерживаемыми
протоколами и объемом трафика, который они могут обработать, по сути, их
основные функции одинаковы.
Применение маршрутизаторов
Хотя основная функция маршрутизатора — это объединение сетей и передача
между ними трафика, маршрутизаторы могут играть в сетевых проектах
несколько различных ролей. Тип маршрутизатора, выполняющего определенные
функции, оказывает влияние на его размеры, стоимость и возможности.
Простейший тип маршрутизации представляет собой связь двух удаленных ЛВС
посредством соединения глобальной сети (WAN, wide area network). Например,
филиал крупной корпорации может иметь WAN-соединение с головным
офисом, расположенным в другом городе (рис. 6.2).
Коммутируемое
соединение,
ISDN или
выделенная
линия
Корпоративная сеть
ifrni—\
£+ [===•
Маршрутизатор
Маршрутизатор
Удаленный офис
Рис. 6.2. Маршрутизаторы могут использовать глобальную сеть
для соединения двух ЛВС
Чтобы взаимодействие между двумя офисными сетями было возможно,
каждая из этих ЛВС должна быть подключена к маршрутизатору, а последние
связаны между собой посредством соединения глобальной сети. Соединение
глобальной сети может иметь форму выделенной телефонной линии, ISDN-
или DSL-соединения, или даже модемного подключения. Технология,
используемая для соединения двух сетей, несущественна до тех пор, пока
маршрутизаторы в обоих офисах связаны между собой. Маршрутизаторы в
этом примере необходимы из-за того, что технологии глобальных и
локальных сетей имеют значительные отличия. Невозможно установить
соединение Ethernet между двумя городами точно так же, как выделенные телефон-
132
Часть II. Сетевое аппаратное обеспечение
ные линии не применяются для коммутации рабочих станций с файловым
сервером, расположенным в соседней комнате.
В немного более сложном варианте система большой интерсети может
состоять из нескольких ЛВС, каждая из которых подключена к сетевой
магистрали через маршрутизатор (рис. 6.3). Здесь маршрутизаторы понадобились
по той причцне, что одна отдельно взятая ЛВС не в состоянии
поддерживать необходимое количество рабочих станций. Помимо этого,
отдельные ЛВС могут быть расположены в разных частях здания или в
соседних зданиях, что может потребовать для их соединения другого типа сети.
Например, соединение соседних зданий требует среды передачи данных,
приспособленной для наружного использования, такой как оптоволокно,
тогда как ЛВС внутри зданий могут применять менее дорогую медную
кабельную разводку. Существуют маршрутизаторы, которые могут связывать
различные типы сетей, вне зависимости от используемых протоколов.
Рис. 6.3. Маршрутизаторы также могут присоединять ЛВС
к сетевой магистрали
Рассмотренные два примера применения маршрутизаторов часто
объединяются. Большой корпоративный сетевой комплекс, задействующий
магистраль для соединения нескольких ЛВС, конечно, всегда будет стремиться
обеспечить себе выход в Интернет. Можно сделать выводы, что необходим
еще один маршрутизатор, поддерживающий какой-либо вид
WAN-соединения с поставщиком услуг (провайдером) сети Интернет (ISP, Internet service
provider). Тогда пользователи в любой части корпоративной сети смогут
получить доступ в Интернет.
Оба эти сценария используют маршрутизаторы для соединения
сравнительно небольшого количества сетей, и являются карликами по сравнению с
сетью Интернет, которая представляет собой маршрутизируемое соединение
тысяч ЛВС, разбросанных по всему миру. Чтобы сделать возможным
перемещение пакетов по этому лабиринту из маршрутизаторов и достигнуть при
этом приемлемой эффективности, маршрутизаторы располагаются в виде
Глава 6. Маршрутизаторы и коммутаторы
133
иерархической структуры, которая ведет от небольших, локальных ISP к
региональным провайдерам, в свою очередь получающим услуги от
больших, национальных поставщиков услуг сети Интернет (рис. 6.4). Трафик,
исходящий от систем небольших ISP, передается вверх по этому
виртуальному дереву через более высокие уровни сети к главным магистралям и
снова возвращается вниз — уже к месту назначения.
Национальные
ISP
Региональный } Региональные
ISP < ISP
[р-ср
Местные ISP
ЖЬ\> 8ь Ж
R-марш рутизаторы
Рис. 6.4. Интернет использует иерархию маршрутизаторов
для пересылки трафика в любую точку сети
Конечные
пользователи
Можно проследить маршрут пакетов через Интернет от исходной системы до
системы-получателя при помощи утилиты трассировки. В системах UNIX она
называется traceroute, в системах Windows NT/2000/9x — Tracert.exe. Эта
утилита, вызываемая из командной строки, использует сообщения ICMP для
отображения имен и адресов всех промежуточных маршрутизаторов,
лежащих на пути к системе, заданной IP-адресом или именем DNS. Обычно
трассировочная информация (здесь представлен экран, сгенерированный
системой Windows 95) выглядит следующим образом:
Tracing route to zacker.com [192.41.15.74] over a maximum of 30
hops:
213 ms 226 ms 230 ms
2
3
4
5
212
250
242
290
ms
ms
ms
ms
208
263
218
269
ms
ms
ms
ms
205
219
214
263
ms
ms
ms
ms
hil-qbu-pth-vty254.as.wcom.net
[206.175.104.254]
hil-ppp2-fas2-l.wan.wcom.net
[209.154.35.35]
205.156.214.145
hyt-corel-atml-0-3.wan.wcom.net
[205.156.223.134]
hyt-peerl~fdd4-0.wan.wcom.net
[205.156.223.68]
134
Часть II. Сетевое аппаратное обеспечение
6
7
8
9
10
11
12
13
238
392
326
498
■к
327
360
372
ms
ms
ms
ms
ms
ms
ms
Trace complet
369
370
•
341
342
389
376
379
e.
ms
ms
ms
ms
ms
ms
ms
251
448
239
*
289
359
355
325
ms
ms
ms
ms
ms
ms
ms
hyt-mae-east-pos3-0.wan.wcom.net
[205.156.223.98]
fO.iadO.verio.net [192.41.177.121]
iadO.iad3.verio.net [ 12 9.250.2.178]
iad3.dfw2.verio.net [129.250.2.209]
dfw2.dfw3.verio.net [12 9.250.3.74]
d fw3.pvul.ve rio.net [129.250.2.41]
pvul.vwhpvul.verio.net
[129.250.16.118]
zaker.com [192.41.15.74]
Функции маршрутизатора
Основная функция маршрутизатора — обработать каждый пакет,
полученный от одной из сетей, к которым он подключен, и передать пакет дальше в
пункт его назначения через другую сеть. Перед маршрутизатором стоит
задача выбрать сеть, которая обеспечит лучший маршрут к месту назначения
для каждого пакета. Каждый маршрутизатор на пути пакета обозначается
как транзит (hop), и конечная цель состоит в том, чтобы доставить пакет с
наименьшим количеством транзитов. В частных сетях пакету может
понадобиться три или четыре (или более) транзитов, чтобы достигнуть цели. В
Интернете пакет легко может передаваться через 20 и более маршрутизаторов,
лежащих на его пути.
Маршрутизатор, по определению, присоединен к двум или более сетям. Он
получает информацию об этих сетях непосредственно от протоколов,
которые он поддерживает. Например, если рабочая станция в сети 1 (рис. 6.5)
передает пакет системе в сети 2, маршрутизатор, присоединенный к сетям 1,
2 и 3, может прямо определить, в какой из двух сетей (2 или 3) находится
система-получатель, и, соответственно, направить туда пакет.
Г!
mm | шт Рис. 6.5. Маршрутизаторы имеют
"=*=?_ сеть 1 tlS Г"" Сеть 3 - U-J непосредственные знания о сетях,
~ISl ELЛ"...-: j»« к которым они присоединены
Таблицы маршрутизации
Для осуществления "разумного" распределения пакетов маршрутизаторы
поддерживают список сетей, называемый таблицей маршрутизации (routing
table). Для того чтобы компьютеры могли взаимодействовать через сеть, ка-
Глава 6. Маршрутизаторы и коммутаторы
135
ждый из них должен иметь свой собственный адрес. Помимо этого, для
идентификации конкретного компьютера его адрес должен также указывать
на сеть, в которой он расположен. В сетях TCP/IP, например, стандартный
32-битный IP-адрес состоит из идентификатора сети и номера узла. Таблица
маршрутизации содержит записи, которые включают в себя идентификатор
для -каждой присоединенной сети. Когда маршрутизатор получает пакет,
адресованный рабочей станции в сети 3, он ищет в адресе получателя пакета
идентификатор сети, сверяет его с таблицей маршрутизации и передает
пакет в сеть с тождественным идентификатором.
Это достаточно простая задача, пока маршрутизатор присоединен ко всем
ЛВС интерсети. Однако, если сеть крупная и использует несколько
маршрутизаторов, то каждый отдельный маршрутизатор не имеет непосредственных
знаний обо всех ЛВС. На рис. 6.6 маршрутизатор А, как и раньше,
присоединен к сетям 1, 2 и 3 и содержит идентификаторы этих сетей в своей
таблице маршрутизации, но не обладает непосредственными знаниями о
сети 4, которая присоединена к комплексу через другой маршрутизатор.
Как же маршрутизатор А узнает, куда передавать пакеты, когда они
адресованы рабочей станции в удаленной сети? Ответ заключается в том, что
маршрутизаторы в своих сводных таблицах содержат информацию о сетях,
расположенных за пределами тех ЛВС, к которым они непосредственно
присоединены. Таблица маршрутизации может содержать информацию о множестве
различных сетей. В частных сетевых комплексах нередкой является ситуация,
когда каждый маршрутизатор поддерживает записи для всех соединенных
сетей. Однако, в Интернете так много сетей и маршрутизаторов, что одна
таблица маршрутизации не может вместить в себя информацию обо всех них и
функционировать при этом эффективно. Поэтому маршрутизатор,
присоединенный к Интернету, отправляет пакеты другому маршрутизатору, который,
предположительно, имеет более точные знания о сети, куда адресован пакет.
шт
Сеть 4
Т
Маршрутизатор В
п п п п
is. »«,„ jge. 65»j»g»] ™^~ -Is».
Се'ть2 Рис. 6.6. Маршрутизатор А
I не имеет непосредственной
информации о сети 4, так как
она присоединена к другому
£Яинш>,--- СетЫ HJfr^l Сеть3
Концентратор Маршрутизатор А маршрутизатору
Таблицы маршрутизации в Windows
Каждый компьютер в сети TCP/IP имеет таблицу маршрутизации, даже если
он присоединен только к одной сети. По крайней мере, таблица маршрута-
136
Часть II. Сетевое аппаратное обеспечение
зации идентифицирует шлюз по умолчанию для данной системы и
инструкции, согласно которым обрабатывается трафик, отправленный в локальную
сеть и по адресу обратной связи (127.0.0.0). Типичная таблица
маршрутизации для системы Windows NT, 2000 или 9х выглядит следующим образом:
Network Address
0.0.0.0
127.0.0.0
192.168.2.0
192.168.2.5
192.168.2.255
224.0.0.0
255.255.255.255
Netmask
0.0.0.0
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
224.0.0.0
255.255.255.255
^ Примечание J|
Gateway Address
192.168.2.100
127.0.0.1
192.168.2.5
127.0.0.1
192.168.2.5
192.168.2.5
192.168.2.5
Interface
192.168.2.5
127.0.0.1
192.168.2.5
127.0.0.1
192.168.2.5
192.168.2.5
0.0.0.0
Metric
1
1
1
1
1
1
1
Чтобы вывести таблицу маршрутизации в Windows-системе и в большинстве
UNIX-систем, наберите netstat -nr в командной строке.
Записи в таблице расположены горизонтально. Назначение информации в
каждом из столбцов приведено ниже.
□ Сетевой адрес (Network Address). Содержит адрес сети, для которой
приведена информация маршрутизации. В общем случае для большинства
записей в этом поле размещается адрес сети, но оно также может
содержать информацию маршрутизации для определенного узла. Последняя
называется маршрутом узла (host route).
П Маска подсети (Netmask). Задает так называемую маску подсети,
используемую для определения, какие из битов в сетевом адресе являются
идентификатором сети.
□ Адрес шлюза (Gateway Address). Указывает IP-адрес шлюза
(маршрутизатора), который система должна использовать для посылки пакетов по
заданному сетевому адресу. Если это запись для сети, к которой система
подключена непосредственно, тогда поле содержит адрес сетевого
интерфейса системы.
□ Интерфейс (Interface). В этом столбце сохраняется IP-адрес сетевого
интерфейса системы, служащий для отправки трафика по адресу шлюза.
П Метрика маршрута (Metric). Указывает расстояние между системой и
сетью назначения, обычно выражается в количестве транзитов,
необходимых для того, чтобы трафик достиг целевого адреса.
f^~ Примечание ^Д
TCP/IP и технология Интернет часто используют термин "шлюз" в качестве
синонима термину "маршрутизатор". В основной терминологии сетевых технологий
Глава 6. Маршрутизаторы и коммутаторы
137
шлюз— это интерфейс Прикладного уровня между сетями, такой как шлюз
электронной почты или шлюз между ЛВС и мэйнфреймом, который
подразумевает некоторое преобразование, осуществляемое высокоуровневым
протоколом. Тем не менее, когда Windows-система ссылается на свой шлюз по
умолчанию, то это уже будет ссылка на обычный маршрутизатор, функционирующий
на Сетевом уровне.
Система, использующая данную таблицу маршрутизации, имеет только одну
плату сетевого адаптера с IP-адресом 192.168.2.5. Это можно выяснить из
четвертой записи, которая связывает указанный адрес с адаптером обратной
связи (loopback adapter, 127.0.0.1). Система присоединена к ЛВС с
идентификатором 192.168.2. Последнее следует из третьей строки таблицы, которая
направляет весь трафик, предназначенный для этой сети, через собственный
адаптер системы, используемый в качестве шлюза, поскольку нет
необходимости в маршрутизаторе для доступа системы к локальной сети. Такое
соединение называется прямым маршрутом (direct route), в силу того, что адрес
получателя в IP-заголовке указывает на ту же машину, что и адрес
получателя в заголовке протокола Канального уровня. Запись 0.0.0.0 указывает на
шлюз по умолчанию, служащий для пересылки трафика, адресованного
сети, которой нет в таблице. В данном случае запись указывает системе, что
трафик следует направлять через сетевой адаптер к узлу 192.168.2.100,
идентификатор которого является IP-адресом маршрутизатора, соединяющего
сеть с Интернетом.
Если система соединяется с Интернетом при помощи модема, то поля
Gateway и Interface записи с сетевым адресом 0.0.0.0 будут содержать адрес,
присвоенный модемному соединению сервером из сети провайдера. В этом
случае модем функционирует как сетевой интерфейс, подобный плате сетевого
адаптера, и имеет свой собственный IP-адрес.
Последние три записи в таблице определяют маршруты для
широковещательных и многоадресных сообщений. Документ RFC "Assigned Numbers"
(Назначенные номера) содержит адреса сетей класса D, которые
присваиваются определенным многоадресным группам, которые все находятся в
сети 224.0.0.0. Идентификатор 255.255.255.255 — это стандартный адрес для
широковещания. Запись 192.168.2.255 относится к широковещательным
сообщениям локальной сети.
Таблицы маршрутизации в UNIX
Другие операционные системы отображают таблицу маршрутизации немного
иначе и могут включать в нее дополнительную информацию, но основные
элементы и функции таблицы остаются теми же. Дальше следует пример
таблицы маршрутизации UNIX-системы, базирующейся на System V:
Destination Gateway Flags Refcnt Use Interface
127.0.0.1 127.0.0.1 UH 1 298 loO
138
Часть II. Сетевое аппаратное обеспечение
Default
192.168.2.0
192.168.2.4
192.168.5.0
192.168.3.0
192.168.2.76
192.168.2.21
192.168.2.1
192.168.2.1
192.168.2.1
UG
и
UG
UG
UG
2
40
4
10
2
50360
111979
5678
8765
1187
1е0
1е0
1е0
1е0
1е0
Столбцы таблицы имеют указанное ниже назначение.
П Получатель (Destination). Задает адрес сети или узла, для которой
предоставляется информация маршрутизации.
□ Шлюз- (Gateway). В поле указывается адрес шлюза (маршрутизатора),
предназначенного для передачи трафика указанной сети или узлу.
□ Флага (Flags). Отражают специальные характеристики каждой записи
таблицы маршрутизации, используя перечисленные ниже значения:
• U — показывает, что маршрут действующий;
• Н — указывает на то, что это маршрут скорее к узлу, чем к сети;
• G — отмечает тот факт, что данный маршрут использует шлюз для
достижения указанного сетевого адреса (в противоположность
непосредственному соединению с заданной сетью);
• D — установка этого флага говорит о том, что запись была добавлена в
таблицу в результате ICMP-сообщения переадресации.
□ Счетчик соединений (Refcnt). Содержит числовое значение,
соответствующее количеству соединений данной системы с другой системой по
указанному маршруту.
□ Использование (Use). Является счетчиком количества пакетов,
переданных системой по этому маршруту.
□ Интерфейс (Interface). Указывает на сетевой интерфейс компьютера,
который система должна использовать для доступа к заданному шлюзу.
Таким образом, из рассматриваемой таблицы можно видеть, что система
непосредственно присоединена к сети 192.168.2, так как запись не имеет
флага G, который указывает на необходимость использования шлюза для
доступа к сети. Поэтому в поле Gateway указан IP-адрес собственного
сетевого интерфейса компьютера. Последние три записи таблицы относятся к
другим сетям той же системы, которые доступны через один и тот же
маршрутизатор (192.168.2.1). В записи default указан адрес другого
маршрутизатора (в данном случае это маршрутизатор, обеспечивающий доступ в
Интернет) для всех пакетов, адрес места назначения которых отличается от
идентификаторов сетей, перечисленных в таблице.
Поэтому, возвращаясь к предыдущему примеру, добавим, что
маршрутизатор А имеет в своей таблице маршрутизации записи для всех ЛВС сетевого
комплекса, которые описывают, каким образом следует передавать пакеты
Глава 6. Маршрутизаторы и коммутаторы
139
каждой из этих сетей. Записи для сетей, к которым маршрутизатор
подключен непосредственно, указывают интерфейс для доступа к этим сетям, а в
записях для удаленных сетей содержится адрес другого маршрутизатора.
Когда пакеты достигают указанного маршрутизатора, этот процесс
повторяется снова, и данные могут быть переданы дальше еще одному
маршрутизатору. В сети Интернет такой процесс может повторяться десятки раз. Ни
один маршрутизатор не знает полного пути, который пакет должен
преодолеть, чтобы достигнуть своего места назначения. Каждый маршрутизатор
отвечает только за следующий транзит. Фактически, когда передается файл
или осуществляется другое действие, требующее посылки множества
пакетов, непрерывно изменяющееся состояние сети может вынудить некоторые
пакеты следовать до одного и того же адресата различными путями.
Анализ таблицы маршрутизации
Вне зависимости от того, работает система как маршрутизатор или нет, в
обязанности протокола Сетевого уровня, подобного IP, входит определение
для каждого пакета следующего узла, куда он должен быть отправлен. IP-
заголовок каждого пакета содержит адрес системы, которая является
конечным местом назначения, но прежде чем каждый пакет будет передан
протоколу Канального уровня, IP использует таблицу маршрутизации для того,
чтобы определить, по какому адресу должен быть осуществлен следующий
транзит пакета. Это действие происходит по причине того, что протокол
Канального уровня, подобный Ethernet, может адресовать пакет только
системе в локальной сети, которая может и не быть конечным пунктом
назначения. Чтобы определить адрес перехода, протокол IP считывает у каждого
обрабатываемого пакета адрес назначения и ищет в таблице маршрутизации
совпадающую запись, предпринимая для этого действия в указанном порядке.
1. Вначале IP сканирует таблицу маршрутизации в поисках маршрута к узлу,
который в точности совпадает с адресом, содержащимся в пакете. Если
такой существует, пакет передается шлюзу, указанному в записи таблицы.
2. Если совпадающего адреса не существует, IP при помощи маски подсети
определяет адрес сети и ищет в таблице маршрутизации записи,
включающие этот адрес. Если совпадающее значение найдено, пакет
передается либо соответствующему шлюзу (если система не подключена
непосредственно к сети назначения), либо отмеченному сетевому интерфейсу
(если система-получатель находится в локальной сети).
3. В случае, если в таблице маршрутизации нет заданного адреса сети, IP
ищет маршрут по умолчанию (default или 0.0.0.0) и передает пакет,
указанному шлюзу.
4. Если же таблица не содержит определения маршрута по умолчанию, IP
возвращает отправителю пакета (либо приложению, создавшему пакет,
либо системе, передавшей его) сообщение о том, что место назначения
не достижимо.
140
Часть II. Сетевое аппаратное обеспечение
Статическая и динамическая маршрутизация
Следующий логичный вопрос, касающийся процесса маршрутизации, это —
каким образом записи попадают в таблицу? Система может сама создать
записи для шлюза по умолчанию, локальной сети, широковещательных
сообщений и групповых адресов, поскольку располагает всей необходимой для этого
информацией. Логично, что для сетей, которые не подключены
непосредственно к маршрутизатору, записи в таблице маршрутизации должны быть
созданы внешним процессом. Существует два основных метода образования
записей в таблице маршрутизации: статическая маршрутизация, которая
основывается на занесении записей вручную, и динамическая маршрутизация,
использующая внешний протокол для сбора информации о сети.
В сравнительно небольших, стабильных сетях статическая маршрутизация
является удобной альтернативой, потому что требует определения записи в таблице
маршрутизации всего один раз. Вручную конфигурировать таблицы рабочих
станций не нужно, поскольку обычно такие сети имеют только один сетевой
интерфейс и могут иметь доступ ко всему сетевому комплексу через один шлюз.
Однако, маршрутизаторы связаны со множеством сетевых интерфейсов и им
обычно доступны несколько шлюзов. Соответственно, они должны знать, какой
маршрут использовать для передачи пакетов в определенную сеть.
Для создания статических записей в таблице маршрутизации компьютера
используется программа, поставляемая вместе с операционной системой.
Стандартным средством для этого в системах UNIX и Windows является
текстовая утилита, которая называется route (в UNIX) или Route.exe (в
Windows NT, 2000 или 9х). В некоторых случаях доступны графические утилиты,
которые позволяют решать ту же задачу. Например, система Windows NT
Server 4.0 с установленной службой Routing and Remote Access Server
позволяет создавать статические маршруты, используя интерфейс, показанный на
рис. 6.7. Сервер Novell NetWare с установленным протоколом TCP/IP для
создания статических маршрутов имеет программы Inetcfg.nlm и Tcpcon.nlm с
интерфейсом на основе меню.
1 Static Route
Destination:
Network mask:
Gateway:
Metric:
interface:
j 192.168. 3 . 4
I 255.255.255. 0
| 192.168. 2 . 10
I1 2j
j[1] 3Com Etherlink III Adapter
OK | Cancel |
ШШ
d
Рис. 6.7. Программа Routing and
Remote Access Server Manager позволяет
создавать статические маршруты,
используя стандартное
диалоговое окно
Глава 6. Маршрутизаторы и коммутаторы
141
Созданные таким способом статические маршруты остаются в таблице
маршрутизации до тех пор, пока не будут вручную изменены или удалены, и
это может быть проблемой. Если указанный в статическом маршруте шлюз
выйдет из строя, то система будет впустую продолжать посылать ему пакеты.
В такой ситуации необходимо либо восстановить шлюз, либо по всей сети
изменить статические маршруты, которые на него указывают для того,
чтобы системы продолжили снова функционировать нормально.
В больших сетях статические маршруты становятся совершенно неудобными
не только из-за огромного количества записей в таблице маршрутизации, но
также потому, что состояние сети может меняться очень часто и слишком
быстро, и администратор не в состоянии поддерживать на каждой системе
действительные на текущий момент таблицы маршрутизации. Поэтому в
больших сетях применяют динамическую маршрутизацию, при которой
специальные протоколы маршрутизации собирают информацию о других
маршрутизаторах в сети и, соответственно, изменяют таблицы
маршрутизации. Однажды сконфигурированная динамическая маршрутизация не
требует или почти не требует вмешательства администраторов сети, так как
протоколы могут создавать, изменять или удалять записи в таблице
маршрутизации в соответствии с требованиями изменяющегося состояния сети.
Интернет всецело зависит от динамической маршрутизации по причине
постоянных изменений, которые невозможно обработать вручную.
Выбор наиболее эффективного маршрута
Структура многих сетевых комплексов, даже сравнительно небольших,
содержит множество маршрутизаторов, которые обеспечивают резервные пути к
заданным участкам сети. Таким образом, при создании сетевого комплекса,
состоящего из нескольких соединенных группой маршрутизаторов ЛВС,
может быть более практична ячеистая конфигурация, как показано на рис. 6.8. В
этом случае, если один из маршрутизаторов выйдет из строя, все системы по-
прежнему смогут передавать трафик любой другой системе в любой сети.
Когда сетевой комплекс разработан подобным образом, другая важная
часть процесса маршрутизации состоит в выборе лучшего маршрута к
заданному месту назначения. Применение в сети динамической
маршрутизации обычно приводит к тому, что все возможные маршруты к заданной
сети будут занесены в таблицу маршрутизации. Каждый маршрут включает
метрику, указывающую, сколько транзитов требуется для достижения
данной сети. В большинстве случаев эффективность определенного маршрута
определяется значением метрики, так как каждый транзит включает
обработку пакетов другим маршрутизатором, что вносит небольшую задержку.
Когда маршрутизатор направляет пакет сети, представленной несколькими
записями в таблице маршрутизации, он выбирает маршрут с меньшим
значением метрики.
142
Часть II. Сетевое аппаратное обеспечение
Рис. 6.8. При использовании взаимосвязанных маршрутизаторов
пакеты от одной рабочей станции могут путешествовать к месту
назначения в другой сети различными путями
Отбрасывание бракованных пакетов
Задачей маршрутизаторов является передача пакетов к их месту назначения
по маршруту с наименьшим числом транзитов, но они также отслеживают
количество транзитов еще по одной причине. Когда один или несколько
маршрутизаторов работают неправильно или неверно сконфигурированы,
возможно, что пакеты будут ходить в цикле и бесконечно передаваться от
одного маршрутизатора к другому.
Чтобы предотвратить возможное зацикливание, в IP-заголовок включено
поле Time-to-Live (TTL, время жизни), значение которого задает система-
отправитель при создании пакета. (В Windows-системах по умолчанию
устанавливается величина, равная 128.) Когда пакет передается через сеть, каждый
обрабатывающий его маршрутизатор уменьшает значение этого поля на 1.
Если по. какой-либо причине пакет был передан через маршрутизаторы такое
количество раз, что значение указанного поля уменьшилось до 0, тогда
последний маршрутизатор удаляет пакет из сети и отбрасывает его. Затем
маршрутизатор возвращает системе-отправителю пакета ICMP-сообщение
Time to Live Exceeded in Transmit (время жизни истекло в процессе
передачи) для того, чтобы проинформировать ее о проблеме.
Фрагментация пакетов
Маршрутизаторы могут соединять сети значительно отличающихся типов, и
процесс передачи дейтаграмм от одного протокола Канального уровня к
другому может требовать дополнительных действий, помимо простого
удаления одного заголовка и добавления нового. Самая большая проблема,
которая может возникнуть во время процесса преобразования, это случай,
когда один протокол поддерживает кадры большего размера, чем другой.
Например, если маршрутизатор соединяет сети Token Ring и Ethernet, он
должен принимать 4500-байтовые дейтаграммы из одной сети и затем
передавать их через сеть, которая может переносить только 1500-байтовые
дейтаграммы. Маршрутизаторы определяют максимальный передаваемый блок
(MTU, maximum transfer unit) определенной сети, опрашивая интерфейс к
ней. Чтобы сделать возможной такую передачу, маршрутизатор разбивает
Глава 6. Маршрутизаторы и коммутаторы
143
дейтаграмму на фрагменты подходящего размера и затем инкапсулирует
каждый фрагмент в правильный заголовок протокола Канального уровня. В
зависимости от количества и типа сетей, задействованных при передаче,
описанный процесс фрагментации может повторяться несколько раз.
К примеру, пакет, созданный в сети Token Ring, может быть разбит на
фрагменты по 1500 байт для того, чтобы подстроиться к маршруту через сеть
Ethernet, а затем каждый из этих более маленьких пакетов, в свою очередь,
будет разделен на фрагменты по 512 байт для передачи через Интернет.
Заметим однако, что, несмотря на то, что маршрутизаторы фрагментируют
пакеты, они никогда не дефрагментируют их. Даже если дейтаграмма
размером 576 байт передается через сеть Ethernet, приближаясь к своему месту
назначения, маршрутизатор никогда не соберет ее обратно в 1500-байтовую
дейтаграмму.
^ Примечание ^Д
Для получения более подробной информации об IP-процессе фрагментации
см. разд. "Фрагментация" в главе 11.
Маршрутизация и ICMP
Internet Control Message Protocol (ICMP, протокол контроля сообщений в
сети Интернет) предоставляет маршрутизаторам и системам, использующим
его, несколько очень важных функций. Главная среди них — это
возможность обмена ICMP-сообщениями между маршрутизаторами для передачи
информации маршрутизации от одного маршрутизатора к другим.
Маршрутизаторы посылают системам-отправителям ICMP-сообщение Redirect
(переадресация), если им известен маршрут, лучший, чем использует
система. Например, если рабочая станция отправляет пакет маршрутизатору А, и
он определяет, что следующий транзит должен быть к маршрутизатору В, то
маршрутизатор А через ICMP-сообщение проинформирует рабочую
станцию, что для доступа к указанному месту назначения ей следует
использовать маршрутизатор В. После этого рабочая станция соответствующим
образом изменит запись в своей таблице маршрутизации.
Маршрутизаторы также генерируют различные типы ICMP-сообщений
Destination Unreachable (место назначения недостижимо) в случае, если не
могут передать пакеты дальше. Если маршрутизатор получает пакет,
предназначенный для рабочей станции в локальной сети, и не может его доставить
из-за того, что рабочая станция выключена, он вырабатывает сообщение
Host Unreachable (узел не достижим) и отправляет его системе-источнику
пакета. Когда маршрутизатор не в состоянии передать пакет другому
маршрутизатору, обеспечивающему доступ к месту назначения, он
вырабатывает сообщение Network Unreachable (сеть не достижима).
144
Часть //. Сетевое аппаратное обеспечение
ICMP-сообщения Router Solicitation и Router Advertisement (запрос и
объявление маршрутизатора) позволяют рабочим станциям обнаружить
маршрутизаторы в локальной сети. Узел вырабатывает сообщение Router Solicitation
и передает его при помощи либо широковещательной передачи, либо
многоадресной передачи, всем маршрутизаторам в данной подсети (адрес 224.0.0.2).
Маршрутизаторы, получившие сообщение, отвечают сообщением Router
Advertisement, которое узел использует для обновления своей таблицы
маршрутизации. В дальнейшем маршрутизаторы генерируют периодические
обновления для того, чтобы информировать узел о том, что они продолжают
функционировать. Windows 2000 и Windows NT с установленной
обновленной службой Routing and Remote Access могут дополнять или
корректировать свои таблицы маршрутизации информацией, извлеченной из ICMP-
сообщений Router Advertisement. Поддержка этих сообщений в аппаратных
маршрутизаторах варьируется от модели к модели.
ICMP-сообщения Redirect и Router Solicitation/Advertisement сами по себе
не формируют протокола маршрутизации, так как они не предоставляют
системе сравнительной информации об эффективности различных
маршрутов. Записи таблицы маршрутизации, созданные и измененные при помощи
этих сообщений, все еще относятся к статическим маршрутам.
^ Примечание j|
Для получения более подробной информации о сообщениях ICMP, их
форматах и функциях см. разд. "ICMP" главы 11.
Протоколы маршрутизации
Маршрутизаторы, поддерживающие динамическую маршрутизацию, для
обмена информацией о себе с другими маршрутизаторами в сети используют
специализированные протоколы. Динамическая маршрутизация не изменяет
сам процесс маршрутизации, она просто реализует другой способ создания
записей в таблице маршрутизации. Существуют два типа протоколов
маршрутизации: протоколы внутреннего шлюза и протоколы внешнего шлюза.
Частные сетевые комплексы обычно используют только протоколы
внутреннего шлюза (interior gateway protocols), это связано со сравнительно
небольшим количеством маршрутизаторов в них, из которых практически все
могут обмениваться информацией между собой.
В Интернете другая ситуация. Невозможно сделать так, чтобы каждый
маршрутизатор в сети Интернет обменялся сообщениями с тысячами других
маршрутизаторов. Количество трафика, вызванного этим процессом, было бы
просто огромным, и маршрутизаторы имели бы очень мало времени для того,
чтобы заниматься другими делами. Вместо этого была разработана
двухуровневая система (решение, характерное для Интернета), которая разделила ги-
Глава 6. Маршрутизаторы и коммутаторы
145
гантскую сеть на обособленные части, называемые автономными системами (а
иногда также административными зонами или просто доменами).
Автономные системы (АС) обычно представляют собой частные сетевые
комплексы, которые управляются административной структурой, какой
может быть корпорация, образовательное учреждение или
правительственное агентство. Маршрутизаторы внутри АС используют протокол
внутреннего шлюза, такие как Routing Information Protocol (RIP, протоколы
информации маршрутизации) или Open Shortest Path First (OSPF, первоочередное
открытие кратчайших маршрутов), для обмена между собой информацией
маршрутизации. На границах АС расположены маршрутизаторы, которые
обмениваются сообщениями с другими АС в Интернете, используя протокол
внешнего шлюза (как показано на рис. 6.9). Наиболее широко
распространенными в Интернете протоколами внешнего шлюза являются Border
Gateway Protocol (BGP, пограничный межсетевой протокол) и Exterior Gateway
Protocol (EGP, протокол внешнего шлюза).
Анонимная система
ч
*
Г" "
Пр<
внут
ш
Г555Г
т i
*->
ол
него
а
1
\%Гт\
ы*
У
Протокол
внешнего -
шлюза
Анонимная система
j<J% [Я?"
„——.J
*
Пр
вну!
U
[■"■"
*-♦
т
*->
*
i
СОЛ
него
за
w
11 1
•: I
i 1
Г 1
1KB" ;
Рис. 6.9. Автономные системы обмениваются информацией маршрутизации,
используя протокол внешнего шлюза
^ Примечание jj
Термин протокол внешнего шлюза — это не только общее название
протоколов маршрутизации, применяемых для взаимодействия автономных систем, но
и наименование специализированного протокола, служащего для обмена
данными между АС.
Таким образом, передаваемые по сети Интернет пакеты проходят через
маршрутизаторы, которые содержат информацию, необходимую только для
того, чтобы передать пакет правильной АС. Как только пакеты достигают
146
Часть II. Сетевое аппаратное обеспечение
границы целевой АС, начиная с этого места маршрутизаторы содержат
более специфичную информацию о сетях внутри АС. Изложенная концепция
больше напоминает способ, согласно которому связываются IP-адреса и
доменные имена в Интернете. Внешние записи касаются только различных
адресов сетей или доменов. За поддержку адресов узлов и имен узлов внутри
сети или домена отвечают-администраторы каждой сети.
Следующий раздел рассматривает наиболее широко используемые сегодня
протоколы маршрутизации.
Протокол информации маршрутизации
Протокол информации маршрутизации (RIP, Routing Information Protocol)
является наиболее широко используемым протоколом внутреннего шлюза. По
большей части это вызвано тем, что он поддерживается множеством
операционных систем и прост в установке и эксплуатации. RIP фактически не
требует какого-либо конфигурирования. Первоначально разработанный для
Xerox Network Services (XNS, сетевые службы Xerox) и включенный в
Berkeley UNIX (BSD 4.2 и более поздние версии), RIP имеет форму демона и в
большинстве UNIX систем называется routed (произносится как route-dee).
Позднее (в 1988 году) стандартизированный Internet Engineering Task Force
(IETF, проблемная группа проектирования сети Интернет) в документе
RFC 1058, протокол был реализован в подавляющем большинстве
аппаратных маршрутизаторов, так же, как и в операционных системах Windows NT,
Windows 2000 и Novell NetWare. Novell NetWare долгое время использовала
RIP для обмена информацией о маршрутизаторах IPX, но в настоящее
время он также применяется для IP-маршрутизации. Реализации протокола в
Windows NT и 2000 также поддерживают как IP, так и IPX.
Маршрутизаторы, задействующие обмен сообщениями RIP, используют
User Datagram Protocol (UDP, протокол пользовательских дейтаграмм) и
порт 520, как предписывает RFC "Assigned Numbers". Когда маршрутизатор
включается, он посылает всем маршрутизаторам в сети RIP-сообщение
запроса при помощи широковещательной или многоадресной передачи (в
зависимости от версии RIP). Другие маршрутизаторы отвечают, передавая
свои полные таблицы маршрутизации в RIP-сообщениях ответа, и
повторяют сообщения каждые 30 секунд. Маршрутизаторы также могут
использовать сообщения RIP для запроса информации об определенном маршруте.
Количество транзитов для RIP, задаваемое полем метрики в таблице
маршрутизации, ограничено, и максимальное допустимое значение установлено
равным 15. Сети и узлы, удаленные более чем на 15 транзитов, считаются
недостижимыми. Это ограничение отражает тот факт, что протокол
разработан для использования в частных сетевых комплексах и не для Интернета,
поскольку маршрутизаторы Интернета часто требуют более 15 транзитов.
Данное ограничение количества транзитов не зависит от поля Time-to-Live
заголовка IP, хотя RIP-маршрутизаторы генерируют те же самые ICMP-сооб-
Глава 6. Маршрутизаторы и коммутаторы
147
щения Destination Unreachable, когда превышается предельное количество
транзитов.
Записи таблицы маршрутизации RIP также имеют значение тайм-аута,
равное 3 минутам. Если запись не обновлялась поступающими сообщениями
RIP в течении 3 минут, то маршрутизатор увеличивает ее метрику до 16, что
для RIP означает бесконечность. Еще через минуту запись окончательно
удаляется из таблицы.
Формат сообщения RIP
Сообщения RIP состоят из 4-байтового заголовка и одного или более 20-
байтовых маршрутов. Отдельное сообщение может содержать до 25
маршрутов при общем размере дейтаграммы UDP, равном 512 байтам (включая 8-
байтовый заголовок UDP). Если в таблице маршрутизации более 25 записей,
маршрутизатор создает дополнительные сообщения до тех пор, пока не
будет передана вся таблица.
12 3 4 5 6 7 8
Команда
12 3 4 5 6 7 8
Версия
1234567812345678
Не используется
Идентификатор адресного семейства
Не используется
IP-адрес
Не используется 1
Не используется
Метрика
Заголовок RIP
Маршрут RIP
Рис. 6.10. Заголовок RIP и формат маршрута
Формат сообщения RIP показан на рис. 6.10. Назначение полей заголовка
приведено ниже.
□ Команда, 1 байт. Определяет тип сообщения, может принимать одно из
двух значений.
• 1 — запрос. Передача запроса всей таблицы маршрутизации или
определенного маршрута всем маршрутизаторам в локальной сети.
• 2 — ответ. Передача записей таблицы маршрутизации.
□ Версия, 1 байт. Указывает версию RIP, функционирующего в системе,
создавшей пакет. Может принимать значения 1 или 2.
□ Не используется, 2 байта.
Ниже указано назначение полей в каждом 20-байтовом маршруте.
□ Идентификатор адресного семейства, 2 байта. Указывает протокол
Сетевого уровня, которому предназначена информация маршрутизации,
заключенная в сообщении. Значение для IP — 2.
148
Часть II. Сетевое аппаратное обеспечение
D Не используется, 2 байта.
□ IP-адрес, 4 байта. Адрес сети или узла, доступных через маршрутизатор,
создавший сообщение.
□ Не используется, 4 байта.
□ Не используется, 4 байта.
□ Метрика, 4 байта. В поле указывается число транзитов между системой,
создавшей сообщение, и сетью или узлом, заданными значением поля
"IP-адрес".
Проблемы RIP
RIP известен как дистанционно-векторный протокол маршрутизации. Это
означает, что каждый маршрутизатор в сети отправляет свою таблицу
маршрутизации соседним маршрутизаторам. После чего маршрутизаторы
просматривают предоставленную информацию и выбирают лучший маршрут к
каждой сети назначения и добавляют его в свою таблицу маршрутизации.
Дистанционно-векторная маршрутизация сравнительно проста и достаточно
эффективна в случае определения лучшего маршрута к заданной сети. Тем
не менее, она порождает несколько фундаментальных проблем. Процесс
обновления таблиц маршрутизации на всех маршрутизаторах сети,
вызванный изменениями в сети (такими как неисправность или добавление нового
маршрутизатора), называется конвергенцией.
Дистанционно-векторные протоколы, подобные RIP, имеют достаточно
низкую скорость конвергенции из-за того, что обновления генерируются
каждым маршрутизатором асинхронно, т. е. без синхронизации или
подтверждения. Поэтому они приводят к состоянию, известному как проблема
"счета до бесконечности" (count-to-infinity problem). Проблема итоговой
бесконечности возникает, когда маршрутизатор выявляет в сети неисправность,
изменяет соответствующую запись в таблице маршрутизации, а затем эта
запись обновляется в результате объявления от другого маршрутизатора
прежде, чем он сможет осуществить широковещательную передачу своих
обновлений. В таком случае маршрутизаторы продолжают передавать свои
обновления, увеличивая значение метрики данной записи до тех пор, пока оно
не достигнет бесконечности (16). В итоге процесс корректирует сам себя, но
каждый раз при изменении в сети возникает задержка, замедляющая весь
процесс маршрутизации.
Также RIP широко критикуется за количество производимого
широковещательного трафика. Каждый RIP-маршрутизатор сетевого комплекса
осуществляет широковещательную передачу своей таблицы маршрутизации
каждые 30 секунд. В зависимости от размера сети, такая передача может
включать несколько сообщений RIP на каждый сервер. Однако одно из
преимуществ широковещательной передачи заключается в том, что она позволяет
системам обрабатывать сообщения объявления маршрутов без объявления
Глава 6. Маршрутизаторы и коммутаторы
149
своих таблиц маршрутизации. Это называется muxuu (silent) RIP и более
применимо для систем-узлов, не являющихся маршрутизаторами.
RIP также не включает маску подсети для каждого маршрута в сообщении
объявления. Данный протокол разработан для оперирования с адресами
сетей, соответствующими классам IP-адресов, которые могут быть определены
по первым трем битам адреса. Если адрес сети из записи таблицы
маршрутизации соответствует классу адреса, протокол использует ассоциированную
с этим классом маску подсети. Если это не так, протокол задействует маску
подсети того сетевого интерфейса, через который было получено сообщение
RIP. Если маска не подходит, протокол полагает, что запись таблицы
содержит маршрут к узлу, и использует маску подсети 255.255.255.255. Такое
предположение может вызвать неправильную передачу трафика для
определенных типов сетей, содержащих подсети переменной длины или
разъединенные подсети.
RIP также не поддерживает какие-либо формы аутентификации для
задействованных маршрутизаторов. RIP-маршрутизатор принимает и
обрабатывает сообщения от любых источников, делая возможным повреждение таблиц
маршрутизации во всей сети в результате получения неверной информации
от маршрутизатора-"злоумышленника".
Стандарт RIP v2
Другие протоколы внутреннего шлюза, такие как OSPF, были разработаны в
ответ на недостатки исходного стандарта RIP, который также был
впоследствии усовершенствован. RIP версии 2 первоначально был опубликован как
RFC 1388, затем предлагался как проект стандарта в RFC 1723, и
окончательно был утвержден как стандарт IETF и опубликован в ноябре 1998 г., в
качестве RFC 2453. Исходный выпуск Windows NT Server 4.0 поддерживает
RIP vl, но обновление Routing and Remote Access Server (RRAS) добавляет
поддержку для RIP v2, определенного в RFC 1723. Серверные продукты
Windows 2000 так же, как и большое число современных аппаратных
маршрутизаторов, поддерживают RIP v2.
RIP v2 решает многие проблемы, имеющие место в версии 1. Некоторые из
них приведены ниже.
О Широковещательный трафик. RIP v2 поддерживает многоадресные
передачи для объявления маршрутизаторов. RFC "Assigned Numbers" присваивает
маршрутизаторам RIP v2 групповой адрес 224.0.0.9. Передачи,
осуществляемые по этому адресу, обрабатываются только маршрутизаторами и не
влияют на другие системы. Использование передачи по групповому адресу
является дополнительной возможностью всех маршрутизаторов RIP v2.
' Широковещательная передача также по-прежнему поддерживается.
Единственным возможным препятствием для применения многоадресной
передачи является наличие в сети систем, использующих тихий RIP, в случае,
если они не могут отслеживать групповые адреса трафика RIP.
150
Часть //. Сетевое аппаратное обеспечение
П Маски подсети. В отличие от RIP vl, RIP v2 включает маску подсети для
каждого объявляемого маршрута. Это дает протоколу возможность
поддерживать сети, содержащие подсети переменной длины или
разъединенные подсети.
□ Аутентификация. В RIP v2 реализована аутентификаци, нужная для
приобретения уверенности в том, что приходящие сообщения RIP исходят от
авторизованных маршрутизаторов. RRAS в Windows NT и Windows 2000
поддерживают только пароли, но некоторые аппаратные маршрутизаторы
могут использовать для этих целей более развитые механизмы
аутентификации, подобные Message Direct 5 (MD5).
Формат сообщения RIP v2
Формат сообщения для RIP v2 такой же, как и для RIP vl, за исключением
того, что поле "Версия" содержит значение 2, а поля, которые в
оригинальном формате не используются, служат для размещения дополнительной
информации. Формат сообщения RIP v2 показан на рис. 6.11. Назначение
полей заголовка следующее:
□ Команда, 1 байт. Определяет тип сообщения, может принимать два
значения.
• 1 — запрос. Передача запроса всей таблицы маршрутизации или
определенного маршрута всем маршрутизаторам в локальной сети.
• 2 — ответ. Передача записей таблицы маршрутизации.
□ Версия, 1 байт. Указывает версию RIP, функционирующего в системе,
создавшей пакет. Может принимать значение 1 или 2.
□ Домен маршрутизации, 2 байта. Идентифицирует процесс
маршрутизации, для которого предназначено сообщение. Используя различные
значения этого поля, администратор может создавать отдельные домены
маршрутизации и разделять информацию маршрутизации в каждом из
них. По умолчанию устанавливается значение 0.
Ниже приведено назначение полей в каждом 20-байтовом маршруте.
□ Идентификатор адресного семейства, 2 байта. Указывает протокол
Сетевого уровня, которому предназначена информация маршрутизации,
заключенная в сообщении. Значение для IP — 2.
□ Тэг маршрута, 2 байта. Содержит значение, которое позволяет
определить, откуда появился маршрут внутри данной автономной системы, был
он предоставлен протоколом внешнего шлюза или другой автономной
системой.
□ IP-адрес, 4 байта. Указывает адрес сети или узла, доступных через
маршрутизатор, создавший сообщение.
Глава 6. Маршрутизаторы и коммутаторы
151
□ Маска подсети, 4 байта. Содержит маску, которая используется для
выявления битов идентификатора сети из битов идентификатора узла в поле
IP-адреса.
□ IP-адрес следующего транзита, 4 байта. Определяет шлюз, который
маршрутизатор должен использовать для отправки трафика сети или узлу,
указанным в поле IP-адреса. В большинстве случаев маршрутизатор
должен использовать шлюз, от которого он получил маршрут, но это поле
предназначено для предотвращения распространения неоптимальной
информации маршрутизации. Например, маршрут к узлу должен
указывать системам в одной сети, как им направлять трафик непосредственно
узлу, а не маршрутизатору, и данное поле может быть использовано для
указания адреса этого узла. Другой пример, когда на маршрутизаторе
запущены и OSPF и RIP, он может использовать RIP для объявления
информации маршрутизации, полученной от OSPF. В таком случае поле IP-
адреса следующего транзита может содержать адрес маршрутизатора OSPF,
который является источником информации.
□ Метрика, 4 байта. Поле заполняется количеством транзитов между
системой, создавшей сообщение, и сетью или узлом, заданными значением
поля "IP-адрес".
12345678123456781234567812345678
Заголовок RIP
Маршрут RIP
Команда
Версия
Домен маршрутизации
Идентификатор адресного семейства
Тэг маршрута
IP-адрес
Маска подсети
IP-адрес следующего транзита
Метрика
Рис. 6.11. Заголовок RIP v2 и формат маршрута
Для обеспечения информации аутентификации RIP v2 использует первый
20-байтовый маршрут в сообщении, в формате, приведенном на рис. 6.12.
Назначение полей приведено ниже.
□ Идентификатор адресного семейства, 2 байта. Содержит шестнадцатерич-
ное значение FF FF, указывающее, что данный маршрут используется
для сообщений аутентификации. Маршрутизаторы RIP vl не распознают
это значение и поэтому игнорируют маршрут.
□ Тип аутентификации, 2 байта. Используемый тип аутентификации. Для
аутентификации с паролем имеет значение 2.
□ Пароль, 16 байтов. Содержит пароль в формате, заданном значением
поля типа аутентификации.
152
Часть II. Сетевое аппаратное обеспечение
1234567812345678123456781234567
Идентификатор адресного семейства
Тип аутентификации
Пароль
Рис. 6.12. Сегмент аутентификации RIP v2
Маршрутизация на основе состояния канала
Дистанционно-векторная маршрутизация имеет существенный недостаток —
она основывает свои метрики маршрутов исключительно на количестве
транзитов между двумя сетями. Когда интерсеть состоит из нескольких
ЛВС, расположенных в одном месте и использующих один и тот же
протокол Канального уровня, количество транзитов служит эффективным
индикатором. В случае же, когда задействованы связи через глобальную сеть,
один транзит может относиться как к маршрутизаторам в соседних
комнатах, так и к трансатлантической связи. А это дает фомадную разницу во
времени, требуемом на преодоление этих двух транзитов.
Альтернатива дистанционно-векторной маршрутизации называется
маршрутизацией на основе состояния канала. Она используется в протоколе Open
Shortest Path First (OSPF, первоочередное открытие кратчайших маршрутов).
OSPF —- это протокол внутреннего шлюза, который был документально
оформлен IETF в 1989 г. и опубликован как RFC 1131. Текущая
спецификация, утвержденная как стандарт IETF, была опубликована в апреле 1998 г., в
качестве RFC 2328. В настоящее время большинство маршрутизаторов,
включая RRAS в Windows NT, Windows 2000 и Novell NetWare, в добавление
к RIP поддерживают OSPF.
В отличие от RIP и большинства других протоколов TCP/IP, OSPF не
переносится внутри транспортных протоколов, таких как UDP и TCP.
Сообщения OSPF инкапсулируются непосредственно в IP-дейтаграммы и
адресуются порту 89 других маршрутизаторов.
Маршрутизация на основе состояния канала, реализованная в OSPF,
применяет алгоритм Дейкстра для вычисления эффективности маршрута на
базе нескольких критериев.
О Количество транзитов. Несмотря на то, что протоколы маршрутизации на
основе состояния канала используют количество транзитов для
определения эффективности маршрута, это только часть уравнения.
П Скорость передачи. Скорость, на которой работают различные линии, —
важная составляющая эффективности маршрута. Быстрые линии явно
более предпочтительны, чем медленные.
Глава 6. Маршрутизаторы и коммутаторы
153
П Загруженность линий. Протоколы маршрутизации на основе состояния
канала при оценке маршрута игнорируют линии, которые в текущий
момент чрезмерно перегружены трафиком.
П Стоимость маршрута. Стоимость маршрута — это метрика, назначаемая
администратором сети как вклад для оценки пригодности различных
маршрутов. Стоимость может относиться к буквальной экономической
дороговизне линии или любым другим уместным факторам.
Маршрутизация на основе состояния канала более сложна, чем RIP, и
требует от маршрутизатора больших усилий, но ее оценка сравнительной
эффективности маршрутов более точна, а также она имеет более высокую
скорость конвергенции, чем RIP. Дополнительно OSPF уменьшает количество
широковещательных передач, вырабатываемых протоколом маршрутизации,
так как при возникновении изменений в конфигурации в сети другим
маршрутизаторам посылаются только обновления, в отличие от RIP, который
периодически передает всю таблицу маршрутизации.
Несколько преимуществ OSPF, без сомнения, обусловлены улучшениями,
сделанными в спецификации RIP версии 2. Например, все маршруты OSPF
содержат маску подсети, и все сообщения OSPF аутентифицируются
принимающим маршрутизатором прежде, чем они будут обработаны. Также
протокол может использовать информацию маршрутизации, полученную от
внешних источников, таких как протоколы внешнего шлюза. Помимо этого,
OSPF предоставляет возможность создавать отдельные области внутри
автономных систем, которые обмениваются между собой информацией
маршрутизации. Только определенные маршрутизаторы, которые называются
пограничными маршрутизаторами (area borders routers), обмениваются
информацией с другими областями. Это ограничение сокращает объем сетевого
трафика, генерируемого протоколом маршрутизации.
В отличие от RIP, OSPF может содержать несколько маршрутов к
определенному месту назначения. Когда два маршрута к одному и тому же адресу
сети имеют одинаковые метрики, OSPF распределяет трафик между ними.
RIP версии 2 сравним с OSPF по возможностям и определенно является более
предпочтительной альтернативой для небольших сетей, которые не имеют
серьезных проблем с трафиком. Однако в интерсетях, которые сильно зависят
от соединений глобальной сети или содержат множество маршрутизаторов с
большими таблицами маршрутизации, что вызывает значительный сетевой
трафик, OSPF является более предпочтительным вариантом.
Коммутаторы
Традиционная конфигурация интерсети включает несколько ЛВС,
соединенных маршрутизаторами, для формирования сети, большей по размерам,
чем это позволяет отдельная ЛВС. Это необходимо из-за того, что каждая
154
Часть II. Сетевое аппаратное обеспечение
ЛВС строится на основе сетевой среды передачи, которая используется
совместно множеством компьютеров. Необходимо ограничить количество
систем, которые могут разделять среду передачи, прежде чем сеть будет "забита"
трафиком. Маршрутизаторы изолируют трафик в отдельных ЛВС, передавая
только пакеты, адресованные системам в других ЛВС.
Совместно
используемый
концентратор
Коммутатор
Сервер
Рис. 6.13. Коммутаторы ретранслируют входящий трафик, но только через
определенный порт, для которого он предназначен
Маршрутизаторы применялись десятилетиями, но новый тип устройств,
называемый коммутатор ЛВС (LAN switch), произвел революцию в
проектировании сетей и сделал возможным создание ЛВС почти неограниченного
размера. Коммутатор (или коммутирующий концентратор) по существу
представляет собой многопортовое устройство-мост, у которого каждый
порт связан с отдельным сегментом сети. Внешне похожий на
концентратор, коммутатор принимает входящий трафик через свои порты, но в
отличие от концентратора, который передает исходящий трафик через все
множество портов, коммутатор направляет трафик только через один порт,
необходимый для достижения места назначения (рис. 6.13). Например, если
имеется небольшая сеть рабочей группы, внутри которой каждый компью-
Глава 6. Маршрутизаторы и коммутаторы
155
тер подключен к порту одного коммутирующего концентратора, то каждая
система имеет соединение, равнозначное выделенному, с любой другой
системой. В этом случае не существует совместно используемой сетевой среды
передачи, и, соответственно, нет коллизий или перегруженности трафика. В
качестве дополнительного бонуса, обеспечивается повышенная
безопасность, поскольку отсутствие разделяемой среды передачи не позволяет
неавторизованным рабочим станциям просматривать и захватывать трафик, не
предназначенный им.
Коммутаторы функционируют на уровне 2 эталонной модели OSI —
Канальном уровне, соответственно, они используются для создания одной
большой сети вместо нескольких небольших сетей, соединенных
маршрутизаторами. Сказанное также означает, что коммутаторы могут поддерживать
любой протокол Сетевого уровня. Подобно прозрачным мостам,
коммутаторы могут изучать топологию сети и выполнять функции, идентичные
пересылке и фильтрации пакетов. Некоторые коммутаторы также поддерживают
полнодуплексные соединения и автоматическую регулировку скорости.
В традиционной схеме большого сетевого комплекса несколько ЛВС
присоединяются к магистральной сети посредством маршрутизаторов.
Магистральная сеть представляет собой ЛВС с разделяемой средой передачи, точно
такую же, как и все остальные ЛВС. Тем не менее, она должна переносить
весь трафик интерсети, вырабатываемый горизонтальными сетями. Поэтому
магистральная сеть, что естественно, использует более быстрый протокол.
В сетях с коммутацией рабочие станции присоединяются к отдельным
коммутаторам рабочих групп, которые, в свою очередь, соединяются с одним
высокопроизводительным коммутатором. Таким образом, для любой
системы в сети становится возможным установить выделенное соединение с
любой другой системой (рис. 6.14). Эта схема может быть расширена дальше,
так, чтобы так же включить промежуточный уровень коммутаторов
подразделений. Серверы, к которым должны иметь доступ все пользователи, для
лучшей производительности следует присоединить прямо к коммутатору
подразделения или коммутатору верхнего уровня.
Замена концентраторов коммутаторами — это превосходный способ увеличить
производительность сети без изменения протоколов или модификации
отдельных рабочих станций. Даже "классическая" сеть Ethernet демонстрирует
поразительное улучшение, когда каждая рабочая станция получает полную
пропускную способность в 10 Мбит/с, даже если разделяет ее с 20 или 30
другими системами. Полнодуплексные коммутаторы могут удвоить
эффективную пропускную способность до 20 Мбит/с. Несмотря на то, что большинство
предлагаемых на рынке коммутаторов ЛВС разработаны для сетей Ethernet
(и Fast Ethernet), также доступны коммутаторы для Token Ring и FDDI.
156
Часть II. Сетевое аппаратное обеспечение
Высокопроизводительная J
рабочая J=
станция Z-
Гигабитный
коммутатор
Высокопроизводительный
сервер
Мегабитные
коммутаторы
е^
а
эс
|*«**V«
IVVVVVW
/'-■ ~ \ Л Л
/ ~ \
Г ^1
Локальные сети подразделений/рабочих групп
Рис. 6.14. Иерархия коммутаторов может заменить маршрутизаторы
и концентраторы
Ц^ Примечание jj
Сети с асинхронным режимом передачи (ATM, Asynchronous Transfer Mode)
также основаны на коммутации, но ATM — это сетевая технология с
установлением соединения и коммутацией каналов, и ее коммутаторы не совместимы
с коммутаторами для стандартных ЛВС.
Сеть, целиком основанная на коммутации, обеспечивает прекрасную
производительность, с другой стороны, коммутаторы намного дороже
стандартных ретранслирующих концентраторов, и большинство сетей комбинирует
эти две технологии для достижения золотой середины. Можно, например,
присоединить стандартные концентраторы к портам коммутатора и
разделить пропускную способность коммутируемого соединения между группами
машин, чем распределять ее между несколькими дюжинами машин.
Типы коммутаторов
Существуют два основных типа коммутации: без буферизации и с
промежуточным хранением. Коммутатор без буферизации пакетов считывает только
МАС-адрес входящего пакета, ищет его в своей таблице перенаправления, и
немедленно начинает передавать пакет через порт, обеспечивающий доступ
к месту назначения, без какой-либо дополнительной обработки, такой как
проверка ошибок, и даже до того, как будет получен весь пакет. Этот тип
коммутаторов сравнительно недорогой и наиболее широко применяется для
Глава 6. Маршрутизаторы и коммутаторы
157
уровня рабочей группы или уровня подразделения, где отсутствие контроля
ошибок не сказывается на производительности всей сети. Незамедлительная
передача входящих пакетов уменьшает задержку, которая возникает в
результате диагностики ошибок и другой обработки. Однако, если порт
назначения занят, коммутатор буферизирует входящую информацию в памяти,
что в любом случае вызывает задержку, причем без дополнительных
преимуществ, предоставляемых проверкой ошибок.
Коммутатор с промежуточным хранением пакетов, как следует из названия,
целиком сохраняет входящий пакет в буферной памяти, прежде, чем
передать его через порт назначения. Пока пакет находится в памяти, коммутатор
проверяет его на наличие ошибок циклической контрольной суммы (CRC,
Cyclic Redundancy Check) и выполнение других условий, таких как
недопустимо малая или большая длина пакета, а также неправильная
длительность передачи. Коммутатор немедленно отбрасывает любые пакеты с
ошибками; не содержащие ошибок пакеты передаются через
соответствующий порт. Два рассматриваемых способа коммутации не исключают один
другого. Некоторые коммутаторы могут работать в режиме без буферизации
пакетов до тех пор, пока не будет достигнут заданный уровень количества
ошибок, а затем переходят к операциям с промежуточным хранением. Как
только количество ошибок становится ниже указанного уровня, коммутатор
переключается обратно в режим без буферизации.
^ Примечание j[|
Для получения более подробной информации о пакетах-"гигантах" и пакетах-
"карликах", неправильной длительности передачи и других проблемах,
связанных с передачей данных, см. главу 8.
Коммутаторы ЛВС реализуют описанные функции, используя одну из трех
аппаратных конфигураций. Матричная коммутация, также называемая
координатной коммутацией, образует решетку из входных и выходных соединений,
такую, как показано на рис. 6.15. Информация, поступающая через любой
вход порта, может быть передана на выход через любой порт. Из-за того, что
это решение основано на аппаратных средствах, не требуется вовлечения CPU
или программных средств в процессы коммутации. В случаях, когда
информация не может быть передана немедленно, коммутатор буферизирует ее до
тех пор, пока выходной порт не будет разблокирован.
В коммутаторе с общей памятью вся входящая информация сохраняется в
буферной памяти, которая является общей для всех портов коммутатора, и
затем передается выходному порту (рис. 6.16). Наиболее широко
распространенная технология (иллюстрируемая рис. 6.17), называемая
коммутацией с шинной архитектурой, передает весь трафик по общей шине, используя
временное мультиплексирование для того, чтобы предоставить каждому
порту равную возможность доступа к шине. В этой модели каждый порт
158
Часть II. Сетевое аппаратное обеспечение
имеет свой собственный отдельный буфер и управляется
специализированной интегральной схемой.
Входные
буферы "
гг
-4* I
•
о
1
2
3
>> 4 Выход
5
6
7
0 12 3 4 5 6 7
Вход
Порты
ввода/вывода
Общая память
Рис. 6.15. Матричная коммутация
использует решетку из входных
и выходных цепей
шшшшш
Рис. 6.16. Коммутация с общей памятью
Буферы —
Порты
ввода/вывода
-г. i
Общая шина i
I 'I II -ill 1 ' ] Г ' | 1
J 1 J 1 •■- ' i 1 . 1 . l.I L J 1 1
Рис. 6.17. Коммутация с шинной архитектурой
Существуют коммутаторы для сетей любых размеров от недорогих
коммутаторов рабочих групп, разработанных для небольших офисных сетей, до
модульных устройств с намного более высокой ценой.
Маршрутизация в сравнении
с коммутацией
Вопрос, что из двух: маршрутизатор или коммутатор, выбрать для
использования в сети, достаточно сложен. Коммутация быстрее и дешевле, чем мар-
Глава 6. Маршрутизаторы и коммутаторы
159
шрутизация, но в большинстве сетевых конфигураций она сопровождается
несколькими проблемами. Применение коммутаторов устраняет подсети и
создает один плоский сетевой сегмент, который вмещает в себя все
компьютеры. Любые две системы могут взаимодействовать через выделенное
соединение, которое по существу является временной сетью из двух узлов.
Проблемы появляются, когда рабочие станции посылают широковещательные
сообщения. Из-за того, что сеть с коммутацией формирует единую область
коллизий, широковещательные сообщения распространяются по всей сети,
и каждая система должна их обработать, что может занять громадную часть
от пропускной способности сети.
Одно из преимуществ создания множества автономных сетей и соединения
их при помощи маршрутизаторов заключается в ограничении
распространения широковещательных сообщений пределами отдельной сети.
Маршрутизаторы также обеспечивают безопасность, ограничивая передачи в
отдельные подсети. Для того чтобы избежать потерь пропускной способности,
вызываемых широковещанием, необходимо задействовать в сети с
коммутацией определенные концепции маршрутизации. Такая потребность привела
к появлению новых технологий, которые сочетают маршрутизацию и
коммутацию в различных соотношениях. Некоторые из этих технологий
рассмотрены в следующих разделах.
Виртуальные ЛВС
Виртуальная ЛВС (VLAN, virtual LAN) — это группа систем в сети с
коммутацией, которая функционирует как подсеть и взаимодействует с другими
виртуальными ЛВС через маршрутизаторы. Физическая сеть остается все
еще коммутированной, однако, виртуальные ЛВС существуют как
надстройка над коммутирующей структурой (рис. 6.18). Администраторы сети
создают виртуальные ЛВС, указывая МАС-адреса, порты или IP-адреса систем,
которые будут частью каждой подсети. Широковещание в виртуальной ЛВС
ограничено ее пределами, подобно маршрутизируемым сетям. Так как
виртуальные ЛВС не зависят от физической структуры сети, системы в
определенных подсетях могут быть расположены где угодно, и одна система даже
может быть членом нескольких виртуальных ЛВС.
Несмотря на тот факт, что все компьютеры виртуальных ЛВС соединены
коммутаторами, для взаимодействия систем в различных виртуальных ЛВС
все еще необходимы маршрутизаторы. Виртуальные сети, основанные
исключительно на коммутации уровня 2, то есть такие, которые используют
для определения систем-членов конфигурацию порта- или МАС-адреса,
должны иметь порт, вьщеленный для соединения с маршрутизатором. Для
этого типа виртуальных ЛВС администратор сети либо выбирает
определенные порты коммутатора для назначения членам виртуальной сети, либо
создает список МАС-адресов рабочих станций.
160
Часть II. Сетевое аппаратное обеспечение
®
©Виртуальнаялокальная /р\ /т>у
сеть отдела маркетинга \^J \Q)
3
Коммутатор
рабочей области
Корпоративный коммутатор
Коммутатор
рабочей области
Рис. 6.18. Виртуальные ЛВС представляют собой соединенные
маршрутизаторами псевдоподсети из коммутируемых рабочих станций
По причине необходимости дополнительной обработки пакетов
маршрутизация медленнее, чем коммутация. Существует обобщающее правило,
акцентирующее это отличие и звучащее как "коммутируйте, где можете, —
маршрутизируйте, где должны", поскольку маршрутизация применяется только для
взаимодействия между виртуальными ЛВС, а внутри последних все
взаимодействия коммутируемые. Данное правило достаточно эффективно до тех пор,
пока основной сетевой трафик (от 70 до 80 процентов) проходится на системы
в одной виртуальной ЛВС. Скорость передачи в пределах виртуальной сети
максимальна — в этом заключается ценность внутреннего взаимодействия.
Когда возникает слишком большой трафик между системами в различных
подсетях, маршрутизация сильно замедляет процесс передачи и скорость
коммутаторов становится по большей части излишней.
Коммутация уровня 3
Коммутация уровня 3 также применяется при организации виртуальных
ЛВС, но используемое в этом методе сочетание функций маршрутизации и
коммутации делает взаимодействие между виртуальными сетями более
эффективным. Эта технология известна под несколькими именами, в
зависимости от производителя оборудования, а именно как IP-коммутация,
многоуровневая маршрутизация, маршрутизация без буферизации и Fast IP. Суть
концепции звучит как "сначала маршрутизируй, коммутируй потом".
Маршрутизатор здесь все еще необходим для осуществления соединения между
системами в различных виртуальных ЛВС, но как только соединение уста-
Глава 6. Маршрутизаторы и коммутаторы
161
новлено, последующий трафик передается через коммутирующую структуру
уровня 2, которая намного быстрее.
Большинство аппаратных устройств, называемых коммутаторами уровня 3,
сочетают функции маршрутизатора и коммутатора в одном блоке.
Устройство способно выполнять все стандартные функции маршрутизатора, но также
может передавать информацию, используя высокоскоростные коммутаторы,
и все это по значительно меньшей цене, нежели стандартный
маршрутизатор. Коммутаторы уровня 3 оптимизированы для соединений в ЛВС и
региональных вычислительных сетях, но не для глобальных сетей.
Коммутация уровня 3 еще не достигла той высоты, с которой поставщики
могут предлагать полностью совместимые решения, но эта технология
потенциально представляет собой идеальный путь для модернизации
интерсетей, которые сейчас базируются на маршрутизаторах и ретранслирующих
концентраторах. Замена маршрутизаторов, соединяющих с магистралью сети
рабочих групп или подразделений, коммутаторами уровня 3 сохраняет всю
функциональность маршрутизаторов, одновременно увеличивая скорость
передачи информации. В конечном счете, перенося соединения рабочих
станций от ретранслирующего концентратора к коммутатору уровня 2,
можно перейти к сети со средой передачи, разделяемой не повсеместно, за
исключением соединений через глобальную сеть, которые все еще
осуществляются через стандартные маршрутизаторы.
Глава 7
Глобальные сети
Протоколы Физического и Канального уровней, используемые для
построения локальных вычислительных сетей (ЛВС), достаточно эффективны для
сравнительно небольших расстояний. Даже при организации соединений
между зданиями оптоволоконные решения позволяют применять для всей
сети протоколы ЛВС, такие как Ethernet и FDDI. Однако, если возникает
необходимость организовать соединение на более длинное расстояние, то
мы попадаем в совершенно иной мир протоколов глобальных сетей (WAN,
wide area network). Глобальная сеть — это сеть, обеспечивающая передачу
информации на значительные расстояния с использованием специальных
каналов связи, называемых соединениями глобальной сети.
Соединения глобальной сети позволяют объединить сети в различных
городах и странах, давая пользователям возможность иметь доступ к ресурсам в
удаленных сетях. Многие компании берут за основу глобальные линии связи
между офисами для обмена электронной почтой и информацией баз
данных, а также для групповой работы или даже для доступа к файлам и
принтерам удаленных серверов. Банки и авиалинии, например, могут находиться
в постоянном контакте со всеми другими филиалами для того, чтобы
своевременно обновлять свои базы данных. Но соединения глобальной сети
могут быть также реализованы и в более меньших масштабах, например, как
в случае системы, которая периодически дозванивается в удаленную сеть
для отправки и получения новых сообщений электронной почты.
Соединения глобальной сети
Соединения глобальной сети требуют наличия маршрутизатора или моста на
каждом конце соединения для предоставления интерфейса к отдельным
локальным сетям, как показано на рис. 7.1. Это сокращает количество
трафика, передаваемого по линии связи. Мосты удаленной связи (remote link bridges)
соединяют при помощи аналоговой или цифровой глобальной линии связи
локальные сети с одинаковыми протоколами Канального уровня,
расположенные в разных местах. Мосты предотвращают передачу через линию
связи лишнего трафика, фильтруя пакеты в соответствии с их МАС-адресами
Канального уровня. Тем не менее, мосты пропускают в глобальную линию
Глава 7. Глобальные сети
163
связи широковещательный трафик. В зависимости от скорости линии связи
и специфики ее применения, последнее может приводить к сокращению
пропускной способности линии.
Ш
Г-1
<*►!
Соединение
глобальной сети
-4ф>П5?=г
Маршрутизатор
Маршрутизатор
р"П|
П
Рис. 7.1. Глобальные линии связи соединяются с локальными сетями
при помощи маршрутизаторов или мостов
Если глобальная линия связи имеет узкоспециализированное назначение,
такое как доступ к электронной почте, то применение мостов,
функционирующих на Канальном уровне, может быть нерациональным, так как они
обеспечивают слабый контроль над трафиком, которому разрешается
передаваться по каналу связи. Маршрутизаторы, с другой стороны,
обеспечивают разделение двух ЛВС полностью. Широковещательные сообщения через
глобальную связь не передаются, и администраторы могут осуществлять
строгий контроль над трафиком, передаваемым между локальными сетями.
Вдобавок, маршрутизаторы позволяют задействовать для каждой сети свой
протокол Канального уровня, поскольку они работают на Сетевом уровне
модели OSI.
В то время, как мосты всегда представляют собой автономные устройства,
маршрутизаторы, используемые для соединения двух сетей через
глобальную линию связи, могут представлять собой как компьютер, так и
специализированное устройство. Когда пользователь связывается с удаленным
узлом посредством модема и получает доступ к другим системам в сети, то
этот узел работает как маршрутизатор. Однако для других технологий,
отличных от коммутируемой линии, в большинстве случаев применяется
выделенный маршрутизатор. Мост или маршрутизатор, расположенный в кон1
це глобальной линии связи, всегда присоединяется к локальной сети, какое
бы оборудование не было выбрано для интерфейса Физического уровня с
глобальной сетью, будь то модем, CSU/DSU или NT1.
164
Часть II: Сетевое аппаратное обеспечение
Выбор технологии глобальной сети
Выбор типа соединения глобальной сети для какой-то определенной цели
обычно приводит к компромиссу между скоростью и стоимостью. Протоколы
ЛВС, как правило, работают со скоростью где-то от 10 до 100 Мбит/с или
выше, но расходы на поддержание соединений глобальной сети,
функционирующих с такой эффективностью, обычно лежат за пределами возможностей
большинства организаций. Цены зависят от используемой технологии,
например, выделенная линия Т1, работающая со скоростью 1,544 Мбит/с, в
США обычно требует затрат на сумму нескольких тысяч долларов в месяц, и
ее стоимость напрямую зависит от протяженности. Другие сервисы
предоставляют большую или меньшую пропускную способность, соответственно, по
более высокой или низкой цене. Стоимость соединения также зависит от
территориального расположения поставщика услуг и подписчика. В Европе,
например, выделенные линии используются редко и они астрономически
дороги (был случай, когда предложенная арендная цена для не очень
протяженной линии Т1 во Франции в 1996 г. составила 35 000 $ в месяц!), но ISDN
здесь намного более распространена, чем в США, и сравнительно доступна.
В силу указанных причин глобальные линии связи почти всегда медленнее,
чем сети, которые они соединяют. Вследствие этого при разработке сети
очень важно определить, какая пропускная способность ей необходима.
Часто нецелесообразно эксплуатировать глобальную линию связи таким же
образом, как используются соединения в локальной сети. Необходимо
ограничить количество трафика, передаваемого по линии связи, или составить
расписание выполнения задач, требующих связи через соединение
глобальной сети таким образом, чтобы они приходились на часы наименьшей
загрузки линий. Например, задача репликации базы данных может легко
монополизировать канал связи на долгое время, ограничивая тем самым
обычный трафик пользователей. Многие приложения, которые требуют
периодического обновления данных, включая сервисы каталогов, такие как
Active Directory, домены Windows NT и NDS, позволяют указать время,
когда эти действия могут осуществляться.
Прежде чем выбрать технологию глобальной сети, необходимо определить,
для какого типа деятельности она будет использоваться. Различные функции
требуют разной пропускной способности, а также разного ее характера.
Электронная почта, например, не только ожидает сравнительно небольшой
пропускной способности, но также позволяет, чтобы ее трафик носил
периодический характер. Профессиональные области применения глобальной
сети, такие как передача полноэкранного видеоизображения, не только
нуждаются в огромной пропускной способности, но и в ее постоянстве для
того, чтобы избежать перебоев в работе сервиса. Потребности большинства
организаций лежат где-то между этими двумя крайностями, но важно пом-
Глава 7. Глобальные сети
165
нить, что постоянная пропускная способность иногда может быть важнее,
чем скорость передачи.
В табл. 7.1 перечислены наиболее распространенные области применения
глобальных сетей и приблизительно оцененные пропускные способности,
которые им необходимы. При анализе этих значений следует принимать во
внимание количество людей, пользующихся этими услугами. Так, тысячи
пользователей, посылающих запрос к базе данных, расположенной на
удаленном сервере, могут суммарно задействовать емкость канала связи, такую
же, как один поток полноэкранного видеоизображения.
Таблица 7.1. Области применения глобальных сетей и примерная
пропускная способность, которая для них требуется
Область применения
Скорость передачи
Персональные связи
Передача электронной почты
Программы удаленного управления
Передача оцифрованных телефонных
переговоров
Запрос к текстовой базе данных
Цифровое аудио
Доступ к изображениям
Сжатое видеоизображение
Медицинские трансляции
Графическое представление документов
Отображение научной информации
Полноэкранное видеовещание
От 300 до 9600 бит/с или выше
От 2400 до 9600 бит/с или выше
От 9600 бит/с до 56 Кбит/с или выше
64 Кбит/с
До 1 Мбит/с
От 1 Мбит/с до 2 Мбит/с
От 1 Мбит/с до 8 Мбит/с
От 2 Мбит/с до 10 Мбит/с
До 50 Мбит/с
От 10 Мбит/с до 100 Мбит/с
До 1 Гбит/с
От 1 до 2 Гбит/с
В табл. 7.2 перечислены наиболее популярные технологии, применяемые
для обеспечения соединений глобальной сети, и соответствующие им
скорости передачи. Здесь важно учитывать наряду со скоростью передачи
линии связи также и ее природу. Частный канал, такой как Т1, обеспечивает
постоянную, выделенную, цифровую линию связи между двумя точками,
работающую с неизменной пропускной способностью. В таком случае
оплачиваются все 24 часа в день, вне зависимости от того, используется линия
все это время или нет, и нет возможности получить пропускную
способность больше выделенной. Интерфейс базового доступа (BRI, Basic Rate
Interface) обеспечивает подключение к цифровой сети с интеграцией услуг
(ISDN, Integrated Services Digital Network), также предоставляя цифровую
166
Часть II. Сетевое аппаратное обеспечение
линию связи с фиксированной пропускной способностью, но эта линия, в
отличие от Т1, не является постоянной. В этом случае можно связываться с
различными местами назначения, не внося изменения в оборудование, так
же просто, как по стандартной телефонной линии, и отсоединяться, когда
связь не нужна. Это может помочь сэкономить деньги, если оплата услуг
является поминутной, как это часто бывает.
Таблица 7.2. Технологии глобальных сетей и их скорости передачи
Тип соединения Скорость передачи
Коммутируемое соединение по модему До 56 Кбит/с (в США 53 Кбит/с в связи с
ограничениями, наложенными FCC)
Х.25 От 64 Кбит/с до 2 Мбит/с
Integrated Services Digital Network (ISDN) До 128 Кбит/с или 1,544 Мбит/с
Усеченный канал Т1 64 Кбит/с
Т1 1,544 Мбит/с
ТЗ 44,736 Мбит/с
Frame Relay От 56 Кбит/с до 44,736 Мбит/с
Digital Subscriber Line (DSL) До 51,84 Мбит/с
Synchronous Optical Network (SONET) От 51,9 Мбит/с до 2,5 Гбит/с
Asynchronous Transfer Mode (ATM) От 25 Мбит/с до 2,46 Гбит/с
К^ Примечание ^^
Величины, приведенные в данной таблице, представляют собой максимальную
пропускную способность, заложенную в указанные технологии, и по многим
причинам эти значения не всегда соответствуют действительной пропускной
способности, достигаемой при их использовании. В реальном мире пропускная
способность, как правило, ниже.
Некоторые технологии глобальных сетей обеспечивают ширину полосы по
требованию (bandwidth on demand). Это означает, что пропускная
способность соединения растет в соответствии с предъявляемыми требованиями.
Иногда, как в случае сети с ретрансляцией кадров (Frame Relay), этот
процесс является автоматическим. Соединение немедленно подстраивается под
трафик в случае неожиданного роста его интенсивности, и хотя возможно
это будет дополнительной нагрузкой на линию связи, но приложение будет
обслужено. В других случаях, если прогнозируется увеличение загрузки
линий, то необходимо заранее потребовать соответствующую полосу
пропускания от поставщика услуг, что, скорее всего, все еще будет более
предпочтительным вариантом в сравнении с установкой дополнительной выделен-
Глава 7. Глобальные сети
167
ной линии или другими долговременными решениями, направленными на
адаптацию к временным условиям.
Например, предположим, что большое количество фирм каждый год в
период сдачи налоговых отчетов испытывает разительное увеличение
загруженности линий связи глобальной сети, и пропускная способность линий
восстанавливается обратно только после 15 апреля. Установка
дополнительных выделенных линий только на период в несколько месяцев будет
абсолютно непрактичным решением из-за высокой стоимости работ и
оборудования. С другой стороны, соединение с ретрансляцией кадров или даже
интерфейс первичного (основного) метода доступа (primary rate interface) к сети
ISDN могут быть сконфигурированы так, чтобы имелась возможность
подстройки под временное увеличение требований, к пропускной способности и
возврата к исходному уровню услуг при отсутствии такой необходимости.
В следующих разделах рассматриваются некоторые технологии из числа
наиболее часто применяемых ддя организации соединений глобальных сетей.
Коммутируемые соединения
Соединение глобальной сети не обязательно требует больших инвестиций в
оборудование и затрат на установку. Стандартное соединение при помощи
асинхронного модема через коммутируемую телефонную линию,
используемое для подключения к поставщику услуг Интернет (ISP, Internet service
provider), технически является глобальной линией связи, и в некоторых
случаях, это как раз то, что нужно. Например, пользователь, работающий дома
или в дороге, может дозвониться до сервера и подключиться к ЛВС, чтобы
получить доступ к электронной почте и другим сетевым ресурсам. Точно
таким же образом коммутируемое соединение может вполне подходить для
соединения небольшого филиала с центральным офисом корпорации для
достижения аналогичных целей. Соединение может устанавливаться через
регулярные интервалы времени согласно установленному расписанию, или
когда пользователь пошлет запрос к удаленному ресурсу.
Скорость связи по коммутируемой линии через модем ограничена пределом
в 33,6 Кбит/с до тех пор, пока на одной из сторон линии связи не
применяется цифровое соединение. В этом случае максимальная возможная
скорость составляет 56 Кбит/с (только для трафика, преобразуемого из
цифровой формы в аналоговую; трафик с переходом из аналоговой формы сигнала
в цифровую ограничен скоростью 31,2 Кбит/с). Однако в США и Канаде
Федеральная комиссия связи (FCC) ввела ограничение 53 Кбит/с на
скорость передачи по стандартным телефонным линиям. Чаще всего только ISP
и большие корпорации имеют необходимое оборудование для работы с
самыми высокими скоростями. По крайней мере, увеличение скорости часто
не является настолько значимым для того, чтобы оправдать затраты. Связь
168
Часть II. Сетевое аппаратное обеспечение
через аналоговый модем также зависит от качества задействованных линий.
Большинство телефонных компаний сертифицирует свои линии только для
голосовой связи и не выполняет работ, направленных на улучшение
качества передачи данных. В результате очень редко встречаются коммутируемые
соединения, достигающие полной пропускной способности 53 Кбит/с.
В большинстве случаев коммутируемые соединения с глобальной сетью в
качестве маршрутизатора используют компьютер, хотя встречаются
автономные устройства, выполняющие те же функции. Наиболее часто в
качестве средства организации соединения для доступа в удаленную сеть
выступает стандартная, оборудованная модемом, рабочая станция под управлением
Windows NT, 2000 или 9х. Рабочая станция соединяется с ЛВС и
конфигурируется для работы как сервер удаленного доступа. Удаленный
пользователь, также работающий в операционной системе Windows, дозванивается до
модема рабочей станции, подключается к ней и получает доступ к сети
через соединение этой рабочей станции с ЛВС. На удаленной системе может
быть запущен клиент электронной почты, Web-браузер или другое
приложение, разработанное для доступа к сетевым ресурсам или просто к
файловой системе сетевых серверов.
Компьютер также может обслуживать несколько коммутируемых
соединений при условии наличия соответствующего программного обеспечения и
оборудования. Windows 9x и Windows NT Workstation, например, могут
поддерживать только одного удаленного пользователя, a Windows NT Server —
до 256 удаленных пользователей одновременно. Существует и доступно
разнообразное оборудование, позволяющее одному компьютеру обслуживать
большое количество модемов. Для удаленного доступа в большом масштабе
специальные базовые аппаратные средства, используемые поставщиками
услуг и крупными корпорациями, могут разбивать одну выделенную линию,
такую как Т1 или ТЗ, на отдельные каналы, поддерживающие множество
коммутируемых или других соединений. Процесс разбиения одного
соединения на несколько каналов называется мультиплексированием (multiplexing).
Помимо соединения отдельного компьютера с сетью, коммутируемые
соединения могут связывать между собой две удаленные сети. Сервис
маршрутизации и удаленного доступа (Routing and Remote Access service) для
Windows NT Server, например, позволяет сконфигурировать соединение для
предоставления канала по требованию (dial-on-demand). Когда пользователь в
одной ЛВС выполняет операцию, которая требует доступа в другую ЛВС,
сервер автоматически дозванивается до сервера в другой сети, устанавливает
связь и начинает маршрутизировать трафик. Если линия находится в
состоянии простоя в течение заданного периода времени, соединение
разрывается. Также существуют автономные маршрутизаторы, которые действуют
подобным образом, позволяя пользователям при необходимости
соединяться с удаленной сетью или Интернет. Эти средства сокращают до минимума
время подключения, таким образом уменьшая загрузку телефонных линий и
Глава 7. Глобальные сети
169
обеспечивая пользователям доступ в глобальную сеть без потребности в
ручной установке соединения. Единственным признаком того, что ресурс
удаленный, является задержка, возникающая на время, пока модем
дозванивается и соединяется с удаленной сетью.
Обратное мультиплексирование
Некоторые узлы могут использовать коммутируемые соединения в качестве
резервных для того, чтобы обеспечить доступ в удаленную сеть в случае
возникновения неполадок выделенной линии или другой технологии, а также
для увеличения пропускной способности выделенной линии в периоды
высокой интенсивности трафика. Процесс объединения пропускной
способности нескольких соединений в один канал называется обратным
мультиплексированием (inverse multiplexing) или демультиплексированием (рис. 7.2).
Соединения основного доступа к ISDN в обязательном порядке применяют
обратное мультиплексирование для объединения двух В-каналов на 64 Кбит/с в
один канал 128 Кбит/с. Также этот метод используют некоторые
маршрутизаторы, которые могут складывать пропускную способность выделенных
линий. Однако, в последнее время обратное мультиплексирование стало
применяться и в непрофессиональных средствах, предназначенных для
домашних условий и малого бизнеса.
Модемы Модемы
/ Коммутируемые линии \
Обратное TDM Обратное TDM
Рис. 7.2. Обратное мультиплексирование объединяет потоки данных,
передаваемых по отдельным линиям
Windows 98, NT и 2000, например, все включают возможность, называемую
multilink, которая позволяет пользователю объединить пропускную
способность нескольких модемов для формирования одного высокоскоростного
соединения. Однако, в случае применения всех упомянутых средств
обратного мультиплексирования для обеспечения соединения с разделением
сигнала для передачи через разные линии связи необходимо, чтобы на другом
конце соединения было установлено соответствующее оборудование,
реализующее обратную процедуру, разделяющую сигнал. Это означает, что для
реализации указанной возможности в случае связи с Интернетом, например,
необходимо найти ISP, поддерживающего соответствующий процесс на
стороне сервера.
170
Часть II. Сетевое аппаратное обеспечение
Некоторые маршрутизаторы со способностью обратного
мультиплексирования также способны автоматически устанавливать дополнительные
коммутируемые соединения, когда трафик, передаваемый через линию, достигает
определенного порога. Эта возможность получила различные названия,
такие как channel aggregation (композиция каналов), bonding (связывание) и rubber
bandwidth ("резиновая"полоса пропускания).
Выделенные линии
Выделенная линия (leased line) представляет собой отдельное, постоянное
соединение между двумя пунктами, которое осуществляется посредством
телефонной разводки. Линия называется выделенной, поскольку соединение
активно 24 часа в сутки и не соревнуется за полосу пропускания с другими
процессами. Линия является постоянной из-за того, что для установления
соединения не используются телефонные номера и дозвон, а также
невозможно соединиться с другими местами без модификации оборудования.
Для установки выделенной линии необходимо связаться с поставщиком
телефонных услуг, местных или междугородных, и заключить договор, в
котором обговаривается пропускная способность этой линии связи и ее
стоимость. Цена обычно включает стоимость работ по установке, стоимость
оборудования и месячную абонентскую плату. Стоимость линии почти
всегда зависит от ее пропускной способности и расстояния между
соединяемыми пунктами.
Преимуществом выделенной линии является то, что она все время
обеспечивает оговоренную пропускную способность и является более
защищенной, чем любая из телефонных линий, поскольку находится в
индивидуальном пользовании. Когда предоставляются услуги, такие как выделенная
линия между двумя соединяемыми территориально разделенными пунктами,
то в действительности не обязательно создается новое физическое
соединение, такое как отдельный провод, проложенный по длине всей дистанции.
Выделенная линия устанавливается между каждой из двух соединяемых
сторон и ближайшей точкой присутствия поставщика услуг, а дальше для
соединения используется стандартное коммутирующее оборудование
поставщика. При этом поставщик услуг гарантирует, что его оборудование может
обеспечивать оговоренную пропускную способность и качество сервиса.
Аппаратные средства выделенных линий
Выделенные линии могут быть аналоговыми или цифровыми, но более
часто встречаются цифровые линии. Аналоговая выделенная линия — это
обычная телефонная линия, которая просто постоянно открыта. На обоих концах
линии необходимо наличие модемов, осуществляющих преобразование
цифрового сигнала в аналоговую форму для передачи по линии и обратно в
Глава 7. Глобальные сети
171
цифровую форму при приеме. В некоторых случаях линия может быть более
качественной, чем стандартная телефонная линия для передачи речи. Такой
тип выделенной линии встречается сравнительно редко, так как в случае,
если данные по каналу не передаются непрерывно, часто оказывается
дешевле использовать коммутируемое соединение с какой-либо формой
технологии предоставления канала связи по запросу, таким образом, не надо
платить за соединение во время его простоя.
Цифровые выделенные линии более распространены, поскольку для сетевых
соединений не требуется цифро-аналогового преобразования, и качество
сигнала в цифровой линии обычно превосходит характеристики аналоговых
линий, вне зависимости от того, выделенные они, или коммутируемые.
Доступны цифровые линии с разной пропускной способностью, наиболее
широко применяемыми из них являются линии Т1. Работающая со скоростью
1,544 Мбит/с, Т1 представляет собой цифровую линию связи, которая может
использоваться как отдельный канал передачи данных или разбиваться на
24 канала по 64 Кбит/с каждый. Каждый такой канал может независимо
передавать речь или данные. Многие поставщики услуг позволяют арендовать
один и более таких каналов. Такая услуга называется сервисом усеченных
каналов Tl (fractional Tl) и позволяет получить необходимую пропускную
способность. Эта служба также дает возможность увеличить пропускную
способность соединения, добавляя по мере необходимости дополнительные
64 Кбит/с каналы. Следующий шаг в увеличении пропускной
способности — это соединение стандарта ТЗ, в основном используемое ISP и
поставщиками других услуг. Оно работает со скоростью 44,736 Мбит/с и
эквивалентно 28 линиям Т1. (Если кого-нибудь это интересует, то Т4 работает со
скоростью 274,176 Мбит/с.)
Линия Т1 требует двух витых пар проводников, и первоначально она была
кондиционированной (conditioned), т. е. требовала установки повторителей на
расстоянии 3000 футов (914,4 м) от каждой из конечных точек и через
каждые 6000 футов (1828,8 м) между ними. Однако сегодня схема кодирования
сигналов, названная HDSL (High-rate Digital Subscriber Line, высокоскоростная
цифровая абонентская линия), делает возможным передавать цифровые
сигналы по линиям данного типа на более длинные дистанции без
использования ретранслирующего оборудования.
Устройства, требуемые на каждом из концов цифровой выделенной линии,
называются CSU/DSU (Channel Service Unit/Data Service Unit, модуль обслужи-
вания канала/модуль обслуживания данных) и фактически являются двумя
различными устройствами, объединенными в один модуль. CSU
обеспечивает абонентское окончание цифровой линии и удерживает соединение
активным, даже когда присоединенный мост, маршрутизатор, офисная АТС
(РВХ, private branch exchange) или другое устройство в действительности не
использует его. CSU также осуществляет функции тестирования и
диагностики линии. DSU — это устройство, преобразующее сигналы, получаемые
172
Часть, II. Сетевое аппаратное обеспечение
от мостов, маршрутизаторов или РВХ в биполярные цифровые сигналы,
передаваемые по линии. Внешне блоки CSU/DSU, как правило, похожи на
модем, поэтому иногда их некорректно называют цифровыми модемами.
(Практически, многие устройства для соединения сети или компьютера с
телефонной сетью или Интернетом, включая оборудование ISDN и
кабельных сетей, часто некорректно называются модемами.) Взятый отдельно,
модуль CSU/DSU стоит где-то в районе 1000 $, но на другом конце
соединения требуется идентичное устройство.
CSU/DSU с одной стороны присоединяется к выделенной линии при
помощи RJ-коннектора, а с другой, обеспечивающей интерфейс к локальной
сети (рис. 7.3), посредством разъема V.35 или RS-232. Этот интерфейс
может быть мостом или маршрутизатором в случае передачи данных и РВХ —
в случае передачи речи. Линия может быть организована либо в виде
единого канала данных, либо разбита на несколько отдельных каналов
мультиплексором, расположенным между CSU/DSU и интерфейсом.
Т1
__»»J_
CSU/DSU
Мультиплексор
Данн
^
"*
j.
Ые Щ^ \bmmm
И-,!...,
Маршрутиза
£. Речь
В ЛВС
тор
Рис. 7.3. CSU/DSU обеспечивает интерфейс между ЛВС и выделенной линией
Цифровые выделенные линии для создания отдельных каналов применяют
мультиплексирование с разделением времени (TDM, time division multiplexing), при
котором весь поток данных разделяется на временные сегменты,
последовательно назначаемые каждому каналу (рис. 7.4). Каждый отрезок времени
выделяется определенному каналу, вне зависимости от того, используется он или
нет. Таким образом, если одна линия для передачи речи на скорости
64 Кбит/с, являющаяся частью Т1, простаивает, то ее пропускная способность
тратится впустую, невзирая на степень загруженности остальных каналов.
klm;
ч
у
Мультиплексор
с разделением |
времени |
юшшшшшш
Ж]
&L
Мультиплексор
с разделением
времени
К-
Рис. 7.4. Мультиплексирование с разделением времени разбивает поток данных
на дискретные сегменты определенной длительности
Глава 7. Глобальные сети 173
Области применения выделенных линий
Т1 и другие выделенные линии служат для нескольких различных целей.
Бизнес-клиенты с офисами, расположенными в разных местах, могут
использовать выделенные линии для организации частных сетей для передачи
данных и речи. В случае такой сети пользователи по своему желанию могут
иметь доступ к сетевым ресурсам, находящимся в любом месте, и
телефонные звонки могут передаваться пользователям других офисов. Сложность
построения подобной сети заключается в необходимости ячеистой
топологии выделенных линий, т. е. каждый офис в целях обеспечения надежности
должен быть соединен со всеми другими офисами отдельными
выделенными линиями. Например, организации с четырьмя площадками потребуется
6 выделенных линий, как показано на рис. 7.5, а в случае восьми
площадок — уже 28 выделенных линий! Можно соединить площадки
последовательно, используя семь линий, но в случае неисправности маршрутизатора
или одной из линий сеть будет разделена надвое.
| Узел В ]
Узел С j
Рис. 7.5. Частная глобальная сеть, которая
использует выделенные линии, требует
отдельного соединения для каждых двух узлов
Этот тип сети может предоставить прекрасную производительность и
хорошую защищенность, но он также может быть чересчур дорогим. Месячная
аренда линии Т1 зависит от длины соединения. Короткий транзитный
участок в пределах площади города и его пригородов может стоить 1500 $ в
месяц, в то время как соединение на большее расстояние, например, от одного
побережья США до другого, может потребовать платы 20 000 $ в месяц или
даже больше, и эти расходы не включают стоимость оборудования и его
установку. Таким образом, если организация имеет восемь филиалов,
разбросанных по всей стране, то месячная аренда выделенных линий может
достигать суммы в 250 000 $ или больше.
Альтернативой частной сети данного типа может быть применение
выделенных линий для соединения каждого филиала с сетью общего
пользования при помощи технологии, такой как Frame Relay или ATM,
позволяющей обеспечить требуемую пропускную способность. Каждый из филиалов
будет требовать только одной выделенной линии до местного поставщика
услуг, вместо выделенных линий до каждого из филиалов. Для получения
174
Часть II. Сетевое аппаратное обеспечение
более подробной информации об этой альтернативе см. разд. "Службы
коммутации пакетов " далее в этой главе.
В настоящее время большинство организаций используют менее дорогие
технологии для создания соединений глобальной сети между своими
офисами. Тем не менее, выделенные линии часто используются для соединения
с ISP. Одно соединение Т1 может одновременно обслуживать нужды сотен
средних пользователей.
ISDN и DSL
ISDN (Integrated Services Digital Network, цифровая сеть связи с интеграцией
услуг) и коммуникации DSL (Digital Subscriber Line, цифровая абонентская
линия) являются услугами, которые используют готовую разводку
традиционной телефонной сети (POTS, Plain Old Telephone Service) для передачи
данных со значительно более высокой скоростью. В обоих случаях
подключаемое место должно быть сравнительно близко к ближайшей точке присутствия
(POP, point of presence) телефонной компании, содержащей телефонную
коммутационную аппаратуру. Базовый доступ к ISDN, например, требует,
чтобы подключаемое рабочее место располагалось не дальше 18 000 футов
(примерно 5,5 км) от POP. Расстояния для DSL зависят от скорости
передачи. ISDN и DSL иногда называют технологиями "последней мили", так как
они разработаны для доставки с высокой скоростью данных от пользователя
к POP.
Медный кабель, проложенный от POP к месторасположению пользователя,
традиционно является самым слабым связующим звеном в телефонной
системе. Как только сигнал достигает POP, он движется через коммутаторы
телефонной компании с высокой скоростью. Трафик может выдерживать эту
скорость на всем протяжении линии связи за исключением "узких мест" на
обоих концах соединения. Помимо того, что указанные технологии в
настоящее время в основном предлагаются в качестве соединения домашних
пользователей с Интернетом, они также могут подходить для соединения
между офисами через глобальную сеть.
ISDN
ISDN — цифровая двухточечная телефонная система, которая в течение
последнего десятилетия получила широкое распространение, но в США не
нашла такого широкого признания, как надеялись ее сторонники.
Первоначально планировалось, что ISDN заменит существующие цифровые
телефонные системы, но теперь она позиционируется как альтернативная
технология для домашних пользователей, которым необходимы сетевые
соединения с высокой пропускной способностью, и для связей между офис-
Глава 7. Глобальные сети
175
ными сетями. В США ISDN заслужила репутацию сложной, трудной для
установки и не особенно надежной технологии, и в некоторой степени
такое мнение справедливо. На протяжении нескольких лет обращения к
большинству местных телефонных компаний относительно услуг ISDN
сопровождались только непониманием и страшными историями о множестве
трудностей при установке. Сейчас ситуация отчасти изменилась, и многие
ISP предлагают для домашних пользователей готовый к непосредственному
использованию сервис, в котором ISP берет на себя весь процесс установки
ISDN, включая заключение соглашения с телефонной компанией. Для
деловых целей ISDN в Северной Америке применяется не часто, но в Европе
это достаточно популярное решение.
Сервис ISDN предоставляет выделенные линии, которые могут обеспечить
высокую пропускную способность, на много больше, чем в состоянии дать
стандартные телефонные службы, но, в отличие от выделенных линий, они не
являются постоянными. Устройства ISDN дозваниваются по номеру, чтобы
установить соединение, подобно стандартному телефону. Это означает, что
пользователи в случае необходимости могут устанавливать соединение с
различными местами. По указанной причине ISDN известна как служба с
коммутацией каналов (circuit-switching service), поскольку она создает временный
двухточечный канал между двумя сторонами-участниками. Для некоторых
домашних и бизнес-пользователей, соединяющихся с Интернетом, этот факт
надо понимать как то, что можно сменить ISP без каких-либо изменений со
стороны телефонной компании. Для организаций, использующих ISDN для
соединений глобальной сети между офисами, это означает, что можно
дозваниваться до разных офисных сетей, когда требуется доступ к их ресурсам,
вместо поддержки отдельного соединения с каждым офисом.
Указанное непостоянство также означает, что в большинстве случаев
оплачивается только фактически задействуемая пропускная способность.
Большинство договоров на услуги ISDN включают поминутный тариф, а также
оплату установки и месячную абонентскую плату. В отличие от выделенной
линии, линию ISDN можно разрывать на время бездействия соединения.
Для домашних пользователей, ищущих решение для доступа в Интернетом,
поминутный тариф делает ISDN более дорогим решением по сравнению с
другими вариантами, доступными на сегодня. Однако для делового
применения соединение высокоскоростного доступа ISDN во многих случаях
может быть намного дешевле, чем выделенная линия, и при этом обеспечивать
фактически такой же уровень сервиса.
В отличие от модемных соединений, использующих стандартные
телефонные линии, соединения ISDN являются почти мгновенными, в силу того,
что они цифровые, подобно соединениям компьютерной сети, и аналогово-
цифровое преобразование для них не требуется. ISDN может переносить
различные виды трафика, такие как речь, факсимильные сообщения и раз-
176
Часть II. Сетевое аппаратное обеспечение
личного рода данные, но для этих целей требуется специальная аппаратура,
необходимая для преобразования аналоговых сигналов устройств в
цифровую форму. Цифровая природа ISDN является совершенной
противоположностью традиционного подхода, при котором цифровые сигналы
переводятся модемом в аналоговую форму. Множество устройств может использовать
один канал, применяя мультиплексирование с разделением времени для
того, чтобы разделить полосу пропускания. Данная сторона технологии не
столь востребована: сегодня несколько поставщиков продают
ISDN-телефоны и некоторые другие устройства, но их не так много, как тех, кто продает
терминальные адаптеры ISDN, применяемые для соединения с
компьютером или маршрутизатором.
Сервисы ISDN
Существует два основных сервиса ISDN, которые базируются на элементах,
обеспечивающих пропускную способность линии: В-каналах на 64 Кбит/с и
D-каналах со скоростью 16 или 64 Кбит/с. По В-каналам передаются
данные и речь, D-каналы переносят только служебную информацию.
Существующие интерфейсы ISDN перечислены ниже.
□ BRI (Basic Rate Interface, базовый интерфейс). Также известен как 2B+D,
так как состоит из двух В-каналов по 64 Кбит/с и одного D-канала на
16 Кбит/с. BRI в основном нацелен на использование домашними
пользователями для подключения к коммерческим сетям и Интернету.
□ PRI (Primary Rate Interface, основной интерфейс). Состоит из 23 В-
каналов и одного D-канала 64 Кбит/с с общей пропускной
способностью, равной пропускной способности выделенной линии типа Т1. (То
есть 1,544 Мбит/с. В Европе применяются телефонные каналы типа Е1
со скоростью 2,048 Мбит/с, соответственно, PRI включает 30 В-каналов.)
PRI больше ориентирован на бизнес-клиентов и выступает в качестве
альтернативы выделенным линиям, которая может предоставить
сравнимую пропускную способность и качество сигнала, но обладает большей
гибкостью.
Т. Примечание ]Д
Другой тип сервиса называется B-ISDN (Broadband ISDN, широкополосная
ISDN). Его нельзя непосредственно сопоставлять с BRI и PRI, так как он
определяет интерфейс коммутации ячеек, который использует SONET на
Физическом уровне и ATM на Канальном для того, чтобы передавать речь, данные и
видеоизображение со скоростями, превосходящими 155 Мбит/с.
Одно из основных преимуществ ISDN — это возможность объединять по
мере необходимости пропускную способность нескольких каналов,
используя обратное мультиплексирование. Каждый В-канал имеет свой отдельный
номер, состоящий из десятичных цифр, поэтому для домашнего пользовате-
Глава 7. Глобальные сети
177
ля один В-канал службы BRI может передавать речь, а другой — данные,
или оба канала могут быть объединены, формируя одно соединение
128 Кбит/с с Интернетом или частной сетью. Служба PRI может объединять
любое количество В-каналов в любой комбинации, формируя соединения с
различной пропускной способностью.
Вдобавок, сервисы ISDN поддерживают коммутацию с предоставлением
полосы по требованию, которая может предоставить соединению
дополнительные В-каналы, чтобы компенсировать временное увеличение
требований к пропускной способности. В зависимости от имеющегося
оборудования, можно увеличивать пропускную способность соединения согласно
заранее определенному расписанию или динамически подстраивать его,
если интенсивность трафика превысила определенный уровень. По причине
того, что оплачиваются только те каналы, какие действительно
используются, соединения ISDN могут быть намного экономичнее, чем выделенные
линии, за которые нужно платить вне зависимости от того, используются
они или нет.
Обмен данными в ISDN
В-каналы ISDN передают только пользовательский трафик в форме речи
или данных. D-канал отвечает за передачу всего трафика управления,
необходимого для установления и разрыва соединения между соединяемыми
сторонами. Трафик этих каналов состоит из данных протоколов, которые
охватывают три нижних уровня модели OSI. Физический уровень
устанавливает соединение с коммутацией каналов между оборудованием
пользователя и коммутатором телефонной компании, который работает со скоростью
64 Кбит/с, а также обеспечивает функции диагностики, такие как
тестирование методом возвратной петли или мониторинг сигнала. Этот уровень
также отвечает за мультиплексирование, которое позволяет устройствам
совместно задействовать один канал.
На Канальном уровне мосты и РВХ, использующие соединение ISDN,
применяют протокол LAPD (Link Access Procedure for D channel, метод доступа
к соединению для D-канала), определенный Сектором стандартизации
телекоммуникаций Международного союза электросвязи (ITU-T) в документах,
начиная с Q.920, и заканчивая Q.923 для того, чтобы обеспечить службы
ретрансляции кадров и коммутации кадров. Этот протокол (он похож на
протокол LAP-B, применяемый в Х.25) использует адресную информацию,
предоставляемую оборудованием ISDN, для создания виртуальных путей
через коммутационную структуру сети телефонной компании к
планируемому пункту назначения. В результате формируется соединение частной
сети, более всего напоминающее выделенную линию.
Сетевой уровень отвечает за установление, поддержку и завершение
соединений между устройствами ISDN. В отличие от выделенных линий и похо-
178
Часть II. Сетевое аппаратное обеспечение
жих на них технологий, которые держат соединение постоянно открытым,
ISDN должна использовать механизм квитирования (обмена так
называемыми "квитанциями") для поддержки соединения между двумя точками.
Процесс установления соединения ISDN включает обмен сообщениями
между тремя объектами: вызывающим устройством, коммутатором (в POP) и
принимающим вызов устройством. Как обычно, сообщения Сетевого уровня
инкапсулируются внутрь кадров Канального уровня. Механизм соединения
состоит из перечисленных ниже шагов.
1. Вызывающее устройство передает коммутатору сообщение SETUP.
2. Если сообщение SETUP приемлемо, коммутатор возвращает
вызывающему устройству сообщение CALL PROC (call proceeding, вызов
рассмотрен) и перенаправляет вызов SETUP устройству-получателю.
3. Если принимающее устройство одобрило сообщение SETUP, оно звонит
по телефону (либо буквально, либо в переносном смысле) и отправляет
коммутатору сообщение ALERTING, который, в свою очередь,
перенаправляет его вызывающему устройству.
4. Когда принимающее устройство отвечает на звонок (опять либо
буквально, либо в переносном смысле), оно отправляет коммутатору сообщение
CONNECT, который пересылает его вызывающему устройству.
5. После этого вызывающее устройство отправляет коммутатору сообщение
CONNECT ACK (подтверждение установки соединения), откуда он
перенаправляется на принимающее устройство. Теперь соединение
установлено.
Оборудование ISDN
ISDN не требует каких-либо изменений в стандартной телефонной медной
кабельной системе. Пока расстояние до POP не превышает 18 000 футов
(около 5,5 км), можно преобразовать существующую телефонную линию в
ISDN, добавив на каждый из концов линии соответствующие аппаратные
средства. Телефонная компания применяет специальную схему кодирования
данных (2B1Q в Северной Америке и 4ВЗТ в Европе), чтобы обеспечить
более высокую скорость передачи данных по стандартному кабелю. Все сети
ISDN должны иметь устройство, называемое NT1 (Network Termination 1),
которое присоединяется к телефонной линии на каждом конце (рис. 7.6).
Служба телефонной компании предоставляет то, что называется
интерфейсом U, работающим через одну витую пару проводов. Оконечное устройство
NT1 присоединяется к интерфейсу U и преобразует сигналы для передачи
по четырехпроводному интерфейсу S/T, используемому терминальным
оборудованием ISDN (то есть оборудованием, которое непосредственно
устанавливает соединение).
Глава 7. Глобальные сети
179
ISDN-телефон
Местная линия связи
Коммутация
соединения
сети ISDN
телефонной
компании
Рис. 7.6. Соединения ISDN применяют NT1 для осуществления
перехода от интерфейса U к интерфейсу S/T
^~ Примечание j|
В некоторых случаях интерфейс S/T может использовать шесть или восемь
проводов. Дополнительные провода обеспечивают резервное питание для
телефонов на случай выхода из строя местного питания. В отдельных случаях
электроэнергия может также подаваться по стандартным четырем проводам.
В Северной Америке задача приобретения NT1, которые доступны в
нескольких формах, как коммерческий продукт, возлагается на потребителя.
В Европе и Японии, где ISDN более распространена, NT1 находится в
собственности телефонной компании и предоставляется ею, пользователи
должны обеспечить только терминальное оборудование. Для интерфейса
PRI отдельное NT1 требуется только в случае, когда планируется
использовать более одного типа терминального оборудования, например,
терминальный адаптер для компьютера и ISDN-телефон. Если интерфейс будет
использоваться только для передачи данных, то доступны устройства, которые
объединяют NT1 с терминальным адаптером. Такие комбинированные
устройства могут иметь форму платы расширения для ПК или автономного
модуля, по внешнему виду напоминающего наружный модем. Еще раз замечу,
что устройства, часто называемые ISDN-модемами, технически вовсе не
являются модемами, так как они не осуществляют преобразования сигнала
между аналоговой и цифровой формами.
Устройства, которые подключаются непосредственно к интерфейсу S/T,
такие как ISDN-телефоны и ISDN-факсы, относятся к терминальному
оборудованию типа 1 (ТЕ1, terminal equipment 1), Несовместимые с ISDN
устройства, например, стандартные аналоговые телефоны и факсимильные аппара-
180
Часть II. Сетевое аппаратное обеспечение
ты, приписываются к терминальному оборудованию типа 2 (ТЕ2, terminal
equipment 2). Чтобы присоединить устройство ТЕ2 к интерфейсу S/T,
необходимо иметь промежуточный терминальный адаптер (ТА, terminal adapter).
К NT1 можно подключить до семи устройств, как ТЕ1, так и ТЕ2.
DSL
DSL (Digital Subscriber Line, цифровая абонентская линия) или иногда
xDSL — это общее название для группы родственных технологий, которые
обеспечивают услуги глобальной сети, в чем-то схожие с услугами ISDN, но
с более высокой скоростью. Подобно ISDN, DSL использует стандартную
телефонную проводку для того, чтобы передавать данные от пользователя к
POP телефонной компании при помощи индивидуального двухточечного
соединения. От точки присутствия сигналы распространяются через
стандартную коммутационную аппаратуру к другому соединению DSL,
расположенному в месте назначения. Также, подобно ISDN, расстояние между
пользователем и POP ограничено. Чем выше скорость передачи, тем меньше
должно быть это расстояние.
Скорости передачи сервисов DSL сильно варьируются, и многие службы
(ADSL, VDSL, RADSL) функционируют асимметрично, то есть имеют
различную скорость при передаче и приеме. Разница в скорости возникает из-
за того, что связки проводов в POP более восприимчивы к перекрестным
помехам, когда данные приходят со стороны пользователя, нежели когда
данные передаются по направлению к пользователю. Переходное затухание,
являющееся результатом перекрестных помех, требует, чтобы скорость
передачи была ниже, если данные следуют в этом направлении.
DSL — сравнительно новая технология, и в основном она продвигается как
решение для доступа в Интернет. Асимметричность трафика в этом случае
не является проблемой, так как средние пользователи Интернета получают
из сети намного больше данных, чем передают в обратном направлении.
Однако для соединений глобальной сети симметричные сервисы более
предпочтительны. DSL отличается от ISDN тем, что ее соединения
постоянны, им не присваиваются номера и они не требуют процедуры
установления соединения. Соединение индивидуально и постоянно активно, и этим
более напоминает выделенную линию. Вдобавок, сравнительно низкие цены
и высокая скорость передачи дают сервису DSL потенциальную
возможность затмить в ближайшие годы технологии ISDN и выделенных линий.
Стандартные телефонные линии задействуют только малую часть полосы
пропускания, которую может предоставить кабель POTS. DSL работает,
занимая частоты, лежащие выше стандартной телефонной полосы
пропускания (от 300 до 3200 Гц), и использует усовершенствованные методы
кодирования сигналов для передачи данных на более высоких скоростях.
Некоторые службы DSL используют только те частоты, что лежат вне диапазона
стандартной голосовой связи. Это дает возможность передавать обычный
Глава 7. Глобальные сети
181
речевой трафик одновременно с цифровыми данными. Другими словами,
представьте себе высокоскоростное соединение с Интернетом, которое
позволяет говорить по телефону во время путешествий по Web, и все это при
помощи одной стандартной телефонной линии.
Различные службы DSL имеют обозначения, отличающиеся первым
символом. Вот почему технология иногда называется xDSL, где х играет роль
метки-заполнителя. Эти сервисы и их характеристики приведены в табл. 7.3.
Таблица 7.3. Службы DSL и их характеристики
Служба
Скорость
передачи
Длина линии
Возможность
одновременной передачи
речи
Область
применения
HDSL (High- Полнодуплексная От 12 000 до Нет
rate Digital передача 1,544 Мбит/с 15 000 футов
Subscriber (2 витые пары), и больше при
Line) 2,048 Мбит/с (3 витые использовании
пары) повторителей
SDSL Полнодуплексная 10 000 футов Есть
(Symmetrical передача 1,544 Мбит/с
Digital Sub- или 2,048 Мбит/с
scriber Line) (1 витая пара)
ADSL От 1,544 до
(Asymmetrica 8,448 Мбит/с для нис-
I Digital Sub- ходящего потока и от
scriber Line) 640 Кбит/с до
1,544 Мбит/с для
восходящего потока
RADSL
(Rate-
Adaptive
Digital
Subscriber Line)
ADSL Lite
VDSL (Very-
high-rate
Digital
Subscriber Line)
От 1,544 до
8,448 Мбит/с для
нисходящего потока и от
640 Кбит/с до
1,544 Мбит/с для
восходящего потока
До 1 Мбит/с для
нисходящего потока и до
640 Кбит/с для
восходящего потока
От 12,96 до
51,84 Мбит/с для
нисходящего потока и от
1,6 до 2,3 Мбит/с для
восходящего потока
От 10 000 до
18 000 футов,
зависит от
скорости
передачи
От 10 000 до
18 000 футов
От 1000 до
4500 футов,
зависит от
скорости
передачи
Есть
Есть
18 000 футов Есть
Есть
Замена Т1/Е1 для
Интернет-соединений;
сопряжение ЛВС и
РВХ; объединение
трафика ATM
Замена Т1/Е1 для
Интернет-соединений;
сопряжение ЛВС и
РВХ; объединение
трафика ATM
Доступ в Интернет/
интранет, удаленной
ЛВС; виртуальные
частные сети; видео
по запросу; передача
речи посредством IP
Такая же, как у ADSL
за исключением того,
что скорость
передачи динамически
подстраивается под
длину линии и качество
сигнала
Доступ в Интернет/
интранет, удаленной
ЛВС, IP-телефония;
видеоконференции
Доступ к
мультимедийному Интернету;
доставка
телевидения высокой четкости
182
Часть И. Сетевое аппаратное обеспечение
Таблица 7.3 (окончание)
Служба
ISDL(ISDN
Digital
Subscriber Line)
Скорость
передачи
До 144 Кбит/с при
полнодуплексной
передаче
Длина линии
18000 футов и
больше с
использованием
повторителей
Возможность
одновременной передачи
речи
Нет
Область
применения
Доступ в Интернет/
интранет, удаленной
ЛВС, IP-телефония;
видеоконференции
Из оборудования для соединения DSL требуется стандартная линия POTS
и DSL-модем на обоих концах линии. Для служб, предоставляющих
возможность одновременной передачи данных и речи, необходимо наличие
делителя POTS для того, чтобы отделять низкие частоты, задействуемые
для речевого трафика, от высоких частот, используемых службой DSL.
Помимо этого, соединения DSL не поддерживают загрузочные катушки
(loading coils) — индукторы, служащие в линиях POTS для повышения
качества голосовой связи за счет минимизации амплитудных искажений.
Для цифровых данных подобная загрузка может сильно ограничить
скорость их передачи.
С этих позиций наиболее широкое распространение получили службы
HDSL и ADSL. Телефонные компании используют HDSL для своих
собственных фидерных линий, и они могут выполнять те же функции, что Т1 и
Е1. Однако для домашних пользователей в качестве решения для доступа в
Интернет предлагается ADSL. Несмотря на это, технология все еще
развивается, об этом свидетельствует тот факт, что в настоящее время находят
применение две конкурирующие схемы кодирования. Одна называется DMT
(discrete multitone). Она разбивает доступный частотный диапазон на 256
каналов по 4,3125 КГц каждый. Другая называется CAP (carrierless amplitude and
phase) и использует один канал и способ модуляции, называющийся QAM
(quadrature amplitude modulation, квадратурная амплитудная модуляция). Как и
в ситуации с конкурирующими стандартами модемов на 56 Кбит/с,
сложившейся пару лет назад, единственная реальная забота для пользователя
заключается в том, чтобы убедиться, что на обоих концах линии
используется одна и та же технология. Многие поставщики услуг предлагают доступ в
Интернет по линии ADSL, предоставляя необходимый для этого модем (в
аренду или на продажу), так что совместимость устройств на обоих концах
гарантирована.
Асимметричные службы DSL подходят для доступа в Интернет, но не для
соединений между локальными сетями. Симметричные службы имеют
потенциал для того, чтобы стать превосходной альтернативой выделенным
линиям в сфере бизнеса, но они остаются в ожидании того, когда технология
Глава 7. Глобальные сети
183
получит более широкое распространение. Напомним, что ISDN тоже
изначально воспринималась как технология, которая произведет революцию в
телекоммуникационной промышленности, но этого до сих пор не произошло.
Службы коммутации пакетов
Служба коммутации пакетов (packet-switching service) передает данные между
двумя точками, маршрутизируя пакеты через коммутирующую сеть,
принадлежащую поставщику транспортных услуг, такому как AT&T, MCI, Sprint
или другой телефонной компании. Конечным результатом является
соединение с высокой пропускной способностью, сравнимое по
производительности с выделенной линией. Но главным преимуществом службы этого типа
является то, что одно глобальное соединение может предоставить доступ к
множеству удаленных узлов, просто за счет использования различных
маршрутов через сеть. Frame Relay (Ретрансляция кадров) и ATM — это две
наиболее популярных на сегодня службы коммутации пакетов.
Ретрансляция кадров базируется на пакетах переменной длины, которые называются
кадрами, в то время как ATM вместо них использует 53-байтовые ячейки.
Служба коммутации пакетов состоит из сети высокоскоростных соединений,
которая иногда называется "облаком". Когда данные достигают облака, служба
может направить их с высокой скоростью к месту назначения. Для
потребителя основной задачей является доставка своих данных к ближайшей POP,
подключенной к облаку, последующая же коммутация выполняется поставщиком
транспортных услуг. Поэтому, организация, устанавливающая соединение
через глобальную сеть между двумя удаленными филиалами, проводит линию
связи к граничному коммутатору (edge switch) местной POP, используя
технологию, обеспечивающую подходящую производительность. Эта локальная
линия может иметь форму выделенной линии, ISDN, DSL и даже
коммутируемого (dial-up) соединения. Как только данные достигают граничного
коммутатора, они отправляются через облако другому граничному коммутатору, а
от него к другой POP, где они передаются в частную линию, соединяющую
облако и место назначения (рис. 7.7).
Как упоминалось ранее, для организации с восемью офисами,
расположенными по всей стране, требуется 28 выделенных линий, чтобы объединить
между собой все офисы, некоторые из которых удалены на большое
расстояние. При такой схеме организация сама осуществляет коммутацию.
Использование службы коммутации пакетов вместо ранее рассмотренной
схемы требует для каждого офиса всего одной выделенной линии,-
соединяющей его с местной POP службы. Восемь выделенных линий намного
дешевле, чем 28, в особенности, когда они относительно небольшой
протяженности. Чтобы доставить данные к месту назначения, поставщик
транспортных услуг программирует виртуальные каналы от POP, используемой
каждым из офисов, к семи остальным POP. Таким образом, продолжают
184
Часть II. Сетевое аппаратное обеспечение
существовать 28 маршрутов, соединяющих каждый из офисов со всеми
остальными, но их поддерживает сервисная служба, а клиент оплачивает
только используемую полосу пропускания.
Узел А Узел В
V
Узел ^ Узел D Рис. 7.7. Сети с коммутацией пакетов
используют сетевое облако для организации
канала передачи данных между удаленными узлами
Однако, в отличие от выделенных линий, служба коммутации пакетов
разделяет свою сеть между многими пользователями. Канал связи между двумя
узлами не имеет постоянной определенной пропускной способности. В
отдельных случаях это качество может быть недостатком, так как каналы
связи нескольких пользователей конкурируют между собой за общую
пропускную способность. Несмотря на это, в настоящее время можно в договоре
оговорить определенную пропускную способность соединения через сеть с
ретрансляцией кадров, и ATM имеет для этого встроенную службу качества
обслуживания QoS (Quality of Service), которая выделяет полосу
пропускания для определенных типов трафика. Вдобавок, эти технологии позволяют
изменять пропускную способность предоставленного соединения. В отличие
от выделенной линии с постоянной пропускной способностью, которую
нельзя превысить, и которая оплачивается вне зависимости от того,
используется она или нет, договор на услуги службы коммутации пакетов
обеспечивает оговоренную пропускную способность, которая может быть
превышена в периоды интенсивного трафика (возможно, что за дополнительную
плату), и которую можно наращивать по мере расширения сети.
Frame relay
Ретрансляция кадров (frame relay) появилась, чтобы стать наиболее
популярной технологией глобальных сетей, используемой сегодня, поскольку
она обеспечивает высокие скорости передачи, характерные для выделенных
линий, и при этом обладает большой гибкостью и низкой ценой. Служба
ретрансляции кадров работает на Канальном уровне эталонной модели OSI
и обеспечивает пропускную способность от 56 Кбит/с до 44,736 Мбит/с
(стандарт ТЗ). Потребитель оговаривает согласованную скорость передачи
информации (CIR, committed information rate) с поставщиком услуг, который га-
Глава 7. Глобальные сети
185
рантирует указанную величину пропускной способности, даже если сетевая
среда передачи будет разделяться между пользователями. Что, впрочем, не
запрещает превышение CIR во время периодов интенсивной эксплуатации
канала связи, называемых всплесками (bursts). Всплеск может быть вызван
мгновенным увеличением интенсивности трафика или кратковременным
подъемом небольшой продолжительности. Обычно всплески до
определенного значения пропускной способности или определенной длительности не
несут за собой дополнительной оплаты, но, в конечном счете,
дополнительные затраты могут возникнуть.
В договор с поставщиком услуг также включается согласованная скорость
передачи информации во время всплесков трафика (CBIR, committed burst
information rate), определяющая максимальную пропускную способность, которая
гарантированно будет доступна во время всплесков. Если CBIR будет
превышена, то существует вероятность потери данных. Дополнительная
пропускная способность, предоставляемая на время всплеска, может быть "взята
взаймы" от другого виртуального канала, не используемого с полной
загрузкой, того же клиента или даже от виртуальных каналов других
пользователей. Одно из основных преимуществ ретрансляции кадров заключается в
том, что поставщик услуг может динамически предоставлять пропускную
способность для соединений своих клиентов по мере необходимости. Во
многих случаях фактором, ограничивающим пропускную способность,
является выделенная линия к ближайшей POP поставщика услуг.
Оборудование frame-relay
Каждая сеть, подключаемая к облаку frame-relay, должна иметь устройство
FRAD (frame-relay access device, устройство для доступа к frame-relay), которое
реализует функции интерфейса к облаку от локальной сети и выделенной
линии (или другого типа соединения), как показано на рис. 7.8. Иногда FRAD
напоминает маршрутизатор тем, что работает на Сетевом уровне. FRAD
принимает из локальной сети пакеты, предназначенные для других сетей,
обрезает заголовок Канального уровня и упаковывает дейтаграммы в кадры для
передачи через облако. Таким же образом FRAD обрабатывает кадры,
полученные из облака, и упаковывает их для пересылки через локальную сеть.
Однако разница между FRAD и обычным маршрутизатором заключается в
том, что FRAD не принимает участия в маршрутизации пакетов через облако.
Это устройство просто направляет все пакеты из локальной сети фаничному
коммутатору, расположенному в POP поставщика услуг.
Еще одним аппаратным элементом, вовлеченным в установку frame-relay,
является соединение с ближайшей POP. Наиболее часто используемым в
технологии ретрансляции кадров типом соединения является выделенная
линия. При выборе поставщика услуг необходимо убедиться в наличии POP
поблизости с площадками, между которыми планируется установить соеди-
186
Часть И. Сетевое аппаратное обеспечение
нение, так как стоимость выделенной линии (которая не включается в
договор на услуги frame-relay) зависит от ее протяженности. Поставщики услуг с
большой зоной охвата обычно имеют множество POP, распространенных на
большой территории, но также возможно для подключения площадок в
разных местах пользоваться услугами разных поставщиков, создав между ними
соединение frame-relay.
Облако Граничные коммутаторы
frame-relay B коммутационных залах
местного провайдера
Телефоны
52
г
L,
, I FRAD [■
П
L-
I
/—I- =|
L Ь
Телефоны
Виртуальные
каналы
V
frad[
I . ', ЯШл
1Ж Pi
Ч 1Ьу^ [ • I
4. 1
Сети
Аппаратура,
устанавливаемая
в помещении
пользователя
ES-граничный коммутатор
FRAD-устройство для доступа к frame-relay
Рис. 7.8. Соединения frame-relay используют FRAD для предоставления
ЛВС доступа к облаку
Сети
Аппаратура,
устанавливаемая
в помещении
пользователя
Когда устанавливаются выделенные линии, важно владеть информацией о
количестве виртуальных каналов, которые могут быть "протянуты" от FRAD к
другим сетям клиента. В отличие от частной сети, составленной из
выделенных линий к каждому узлу, одно соединение через выделенную линию между
FRAD и граничным коммутатором поставщика будет передавать все данные
глобальной сети к локальной сети и наоборот. От граничного коммутатора к
удаленным узлам через облако может проходить множество виртуальных
каналов, и выделенная линия от FRAD по существу мультиплексирует трафик
всех этих виртуальных каналов в локальную сеть, как показано на рис. 7.9.
Поэтому, если при помощи глобальных связей frame-relay соединяются восемь
удаленных площадок, то выделенная линия к каждой из площадок должна
обеспечивать пропускную способность, равную общей пропускной
способности всех семи виртуальных каналов к другим площадкам.
Глава 7. Глобальные сети
187
Филиал
А
#
PVC А
Главный! рус в ан, v^:« „ ^ . , Филиал
ОфИС * mm тшштш- В
I HVCC #&*5$Ф*
,Л" ■
Филиал
\ с
Доступ по линии связи Сеть frame-relay
Рис. 7.9, Соединение от FRAD к облаку переносит данные
всех виртуальных каналов
В большинстве случаев реальный трафик, передаваемый по соединениям
глобальной сети, не занимает все время всю выделенную для него полосу
пропускания. Поэтому возможно создать работоспособную глобальную сеть,
заключив договор на виртуальные каналы со скоростью Т1 между всеми
восемью офисами и использовать выделенные линии Т1 для присоединения
всех этих площадок к облаку. Однако следует помнить, что выделенные
линии — это единственный элемент глобальной сети, который не позволяет
изменять свою пропускную способность. Если выяснится, что трафик
глобальной сети превышает пропускную способность выделенной линии, то
единственным выходом, чтобы удовлетворить требования, будет установка
другого соединения. Тем не менее, это не обязательно означает аренду
другой линии TL Можно удовлетворить требования к пропускной способности
соединения FRAD с граничным сервером-коммутатором, добавив
усеченный канал Т1, или даже коммутируемое (dial-up) соединение, которое будет
задействоваться в периоды интенсивного трафика.
Виртуальные каналы
Виртуальные каналы являются основой для соединений frame-relay.
Существует два типа виртуальных каналов: постоянные (РУС) и коммутируемые
(SVC). Каналы PVC проходят через облако, которое используется для
соединений глобальной сети между узлами клиента. В отличие от стандартной
межсетевой маршрутизации, каналы PVC не являются динамическими.
Владелец службы frame-relay создает для соединений между узлами маршрут
через свое облако, присваивая соединениям 10-разрядный номер, носящий
название идентификатора канала передачи данных (DLCI, data link connection
identiflcator), и программируя его в свои коммутаторы. Программирование
FRAD состоит из предоставления ему номеров DLCI для всех каналов PVC,
188
Часть II. Сетевое аппаратное обеспечение
ведущих к другим устройствам FRAD. Номера DLCI имеют только
локальное значение, каждое устройство FRAD хранит свой собственный DLCI для
любого из виртуальных каналов. Кадры, передаваемые между двумя узлами,
всегда следуют по одному и тому же маршруту через облако и используют
DLCI как адрес Канального уровня. Это одна из причин, почему
ретрансляция кадров работает так быстро — нет необходимости в динамической
маршрутизации пакетов через облако или в установлении соединения перед
началом передачи данных.
Каждый канал PVC имеет свои собственные CIR и CBIR, и, несмотря на то,
что виртуальный канал считается постоянным, поставщик услуг может
изменить маршрут в течение нескольких часов, в случае если местоположение
одного из узлов клиента изменится. Также возможно создание PVC для
временного использования, такого как деловая встреча, требующая сетевого
соединения для проведения видеоконференции.
Хотя изначально предполагалось применять ретрансляцию кадров для
передачи данных, ее также можно задействовать для доставки других типов
трафика, таких как речь и видеоизображение. Эта возможность становится все
более популярной, но использование каналов PVC делает ее
трудноосуществимой. Чтобы организовать голосовую связь или видеоконференцию между
двумя удаленными сторонами-участниками, требуется наличие виртуального
канала между ними. Это не является трудностью, если осуществляется связь
между двумя собственными филиалами организации, которые уже
соединены посредством PVC, но если требуется проведение конференции с
клиентом или другим сторонним пользователем, то необходимо просить
поставщика услуг об установке нового PVC, на что могут уйти часы или даже дни.
Чтобы сделать данную область применения технологии более практичной,
поставщики услуг стали предоставлять каналы SVC, определенные в
документе Q.933 союза ITU, которые являются временными маршрутами через
облако, динамически создаваемыми по мере необходимости.
Передача сообщений frame-relay
Ретрансляция каналов применяет на Канальном уровне два протокола:
LAPD для управляющего трафика и LAPF (Link Access Procedure for Frame-
mode Bearer Services) для передачи пользовательских данных. Протокол
LAPD является тем же самым протоколом, что используется в ISDN (ITU-T
Q.921), он служит для установки виртуального канала и подготовки к
передаче данных. LAPF применяется для передачи данных и осуществления
других процессов, таких как мультиплексирование, выявление ошибок и
управление потоком.
Формат кадра, используемый для передачи данных через облако frame-relay,
показан на рис. 7.10. Назначение полей кадра приведено ниже.
Глава 7. Глобальные сети
189
Флаг(1 байт)
Старшие разряды
DLCI (6 битов)
C/R (1 бит)
ЕА (1 бит)
Младшие разряды
DLCI (4 бита)
FECN(1 бит)
BECN (1 бит)
DE(1 бит)
S| EA(1 бит)
Данные (переменной
длинны)
□ Флаг (Flag), 1 байт. Содержит двоичное
значение 01111110 (или 7Е в шестнадца-
теричной форме), которое выполняет
функции разделителя.
□ Данные о связи (Link Info), 2 байта.
Содержит адрес кадра и управляющие поля.
• Старшие разряды DLCI, 6 битов.
Размещает первые 6 бит 10-разрядного
DLCI, идентифицирующего
виртуальный канал, по которому кадр
должен достигнуть места назначения.
• C/R (Command/Response, команда/
ответ), 1 бит. Не определен.
• ЕА (Extended Address, расширенный
адрес), 1 бит. Указывает на то,
содержит ли следующий байт продолжение
DLCI. Восьмой бит каждого байта в
поле данных о связи является битом
ЕА. Когда кадры используют
стандартные 10-разрядные номера DLCI,
значением этого бита всегда будет 0.
» Младшие разряды DLCI, 4 бита.
Содержит оставшиеся 4 бита
10-разрядного DLCI.
> FECN (Forward Explicit Congestion
Notification, уведомление о заторе в
основном направлении), 1 бит.
Информирует о том, что на пути кадра
от его источника к месту назначения
в сети имеет место перегрузка.
► BECN (Backward Explicit Congestion
Notification, уведомление о заторе в
обратном направлении), 1 бит.
Сообщает, что на пути кадра обратно от
места назначения к источнику
возникла перегрузка.
DE (Discard Eligibility, возможность отбросить кадр), 1 бит. Указывает на
то, что кадр имеет меньшую важность, чем остальные передаваемые
кадры, и в случае возникновения перегрузки сети он может быть отброшен.
ЕА (Extended Address, расширенный адрес), 1 бит. Хранит указание,
содержит ли следующий байт продолжение DLCI. Когда кадры ис-
FCS (2 байта)
Флаг(1 байт)
Рис. 7.10. Формат кадра frame-relay
190
Часть И. Сетевое аппаратное обеспечение
пользуют стандартные 10-разрядные номера DLCI, значением этого
бита всегда будет 1. Поле ЕА предназначено для поддержки будущего
расширения облаков frame-relay, когда могут понадобиться номера
DLCI длиной больше, чем 10 разрядов.
□ Поле данных переменной длины. Содержит протокольные блоки данных
(PDU), созданные протоколом Сетевого уровня, такие как
IP-дейтаграммы. Протоколы frame-relay ни при каких обстоятельствах не изменяют
содержимого этого поля.
□ FCS (Frame Check Sequence, контрольная последовательность кадра), 2
байта. Содержит значение, вычисленное исходным FRAD, которое
проверяется каждым коммутатором, через который проходит кадр во
время движения по облаку. Кадры, для которых вновь вычисленное
значение не совпадает со значением этого поля, немедленно отбрасываются.
Выявление пропавших кадров и их повторная передача оставляются
протоколам верхних уровней конечной системы.
□ Флаг, 1 байт. В последнее поле всегда записывается двоичное значение
01111110 (или 7Е в шестнадцатеричной форме), которое выполняет для
кадра функции разделителя.
ATM
Асинхронный режим передачи (ATM) отличается от ретрансляции кадров
тем, что использует ячейки предопределенного размера вместо кадров
переменной длины. Это упрощает управление пропускной способностью
соединения, а также ее точное измерение. ATM также может считаться готовым,
высокоскоростным, двухточечным решением для передачи данных, речи и
видеоизображения. В отличие от ретрансляции кадров, которая может
применяться только для соединений глобальной сети, ATM может быть как
протоколом глобальной сети, так и протоколом ЛВС. Это означает, что
ячейки, созданные рабочей станцией, могут быть переданы коммутатору,
соединяющему ЛВС со службой поставщика услуг ATM, и отправлены
дальше через облако поставщика услуг ATM в сеть назначения. На
промежуточных системах нет необходимости передавать ячейки по сетевому стеку выше
Канального уровня, и поэтому скорость передачи через облако может
достигать 2,46 Гбит/с.
Однако этот впечатляющий потенциал в реальном мире в больших
масштабах еще не реализован. ATM используется как протокол для
высокоскоростных магистралей и для соединений глобальной сети, а 25 Мбит/с АТМ-
решения для локальной сети, предназначенные для внедрения на рабочие
места, были вытеснены Fast Ethernet, который работает со скоростью
100 Мбит/с и более близок большинству администраторов сетей.
Глава 7. Глобальные сети
191
f^ Примечание ^Д
Для получения базовой информации об архитектуре ATM и формате ячейки
см. главу 10.
Сеть ATM
+~ поставщика
транспортных
услуг
Клиентская сторона
Выделенные линии
Фраза 1: Потавщик услуг ATM
преобразует кадры в ячейки
Маршрутизатор
Клиентская сторона
Клиентская сторона
Коммутатор
ATM
Коммутатор
ATM
Сеть ATM
поставщика
транспортных
услуг
Фраза 2: Поставщик услуг ATM
не осуществляет
преобразования
кадров в ячейки
Рис. 7.11. Преобразование данных локальной сети в ячейки ATM может
осуществляться либо на стороне ЛВС, либо на стороне поставщика услуг ATM
192
Часть II. Сетевое аппаратное обеспечение
Службу коммутации кадров ATM можно использовать для соединений
глобальной сети приблизительно таким же способом, какой был рассмотрен
для случая ретрансляции кадров. Необходимо установить маршрутизатор и
соединить его выделенной линией с POP поставщика услуг. В подобной
конфигурации данные локальной сети вначале передаются к POP, а затем
переупаковываются в ячейки. Однако также возможно установить
коммутатор ATM на каждой удаленной стороне, либо как часть магистрали ATM,
либо как автономное устройство, обеспечивающее интерфейс к сети
поставщика услуг (рис. 7.11). При таком способе данные локальной сети на
каждой стороне преобразуются в ячейки ATM прежде, чем будут переданы
через глобальную сеть.
Подобно ретрансляции кадров, ATM поддерживает оба типа виртуальных
каналов: PVC и SVC. Но ATM была изначально разработана для поддержки
передачи речи и видеоизображения, в то время как в ретрансляции кадров
PVC и SVC появились позже, в качестве дополнения. Если в будущем
необходимость передачи альтернативных видов информации, таких как речь и
видеоизображение, станет превалировать, то технология ATM получит
преимущество над ретрансляцией кадров, так как она обладает большей
скоростью и управляемостью. Однако в настоящее время ретрансляция кадров
обеспечивает более экономичное решение для глобальной сети, работающее
со скоростью, достаточной для стандартных задач передачи данных по сети.
ЧАСТЬ III.
СЕТЕВЫЕ
ПРОТОКОЛЫ
Глава 8
Ethernet
Ethernet — это протокол Канального уровня, используемый подавляющим
большинством современных локальных вычислительных сетей. В течение
более чем 20 лет было создано несколько различных версий стандартов
Ethernet, наиболее новые из них обеспечивают впечатляющую скорость работы
по сравнению с оригинальным протоколом. Так как все вариации Ethernet
функционируют, используя одни и те же базовые принципы, и из-за того,
что высокоскоростные технологии Ethernet разрабатывались с учетом
обратной совместимости, обновление традиционной 10 Мбит/с сети до 100 Мбит/с
или более является сравнительно легкой задачей. Эта гибкость являет
разительный контраст по сравнению с другими высокоскоростными
технологиями, например FDDI или ATM, которые могут требовать значительных
изменений инфраструктуры, таких как замена старой кабельной системы на
новую, а также подготовки персонала, обслуживающего новую технологию.
В этой главе рассматриваются основные механизмы Ethernet и способы
обеспечения ими унифицированного интерфейса между Физическим
уровнем и множеством протоколов, работающих на Сетевом уровне. Затем
описываются новейшие технологии, подобные Fast Ethernet и Gigabit Ethernet,
являющиеся усовершенствованием более старых стандартов и
предоставляющие пропускную способность, достаточную для нужд фактически
любого сетевого приложения. В заключение обсуждаются вопросы, связанные
со стратегией модернизации сети, и практические способы выявления
неисправностей, которые могут помочь повысить производительность сети.
Определение Ethernet
Протокол Ethernet обеспечивает унифицированный интерфейс к сетевой
среде передачи, который позволяет операционной системе использовать для
приема и передачи данных несколько протоколов Сетевого уровня
одновременно. Подобно большинству протоколов Канального уровня, Ethernet, в
технических терминах, является протоколом без установления соединения и
соответственно ненадежным. Ethernet предпринимает большие усилия для
передачи данных в назначенное место, но нет никакого механизма,
гарантирующего успешную доставку. Обеспечение этого типа услуг оставляется
196
Часть III. Сетевые протоколы
протоколам, работающим на верхних уровнях модели OSI, в зависимости от
того, требуют ли данные гарантии доставки или нет.
^ Примечание jj
В указанном контексте термин "ненадежный" означает только то, что протокол
испытывает недостаток в подтверждениях удачного приема пакетов. Для
получения более подробной информации о технических терминах, связанных с
протоколами, см. главу 2.
Спецификации Ethernet определяют протокол как совокупность из трех
необходимых компонентов:
□ набора правил Физического уровня, задающих типы кабеля и
ограничения кабельной системы для сетей Ethernet;
□ формата кадра, задающего порядок и назначение битов, передаваемых в
пакете Ethernet;
□ механизма управления доступом к среде, называемого множественным
доступом с контролем несущей и обнаружением коллизий.
С точки зрения готового изделия, протокол Ethernet реализован в виде
следующих составляющих: плат сетевых адаптеров, которые вставляются в
компьютеры, драйверов сетевых адаптеров, позволяющих операционной
системе взаимодействовать с адаптерами и концентраторов, соединяющих
компьютеры друг с другом. Во время приобретения сетевых адаптеров и
концентраторов для того, чтобы они могли работать вместе, необходимо
удостовериться, что все они поддерживают одни и те же стандарты Ethernet.
Стандарты Ethernet
В самых ранних Ethernet-реализациях, датируемых 1970-ми годами, данные
передавались через узкополосные соединения, при этом использовался
коаксиальный кабель, работающий со скоростью 10 Мбит/с, и манчестерское
кодирование сигналов. В дальнейшем данный метод получил название
"толстый Ethernet", так как сам кабель был приблизительно один сантиметр в
диаметре и напоминал садовый шланг (действительно, цвет и жесткость этого
кабеля привели к тому, что его стали называть "замороженным желтым
садовым шлангом"). Первый стандарт Ethernet был опубликован в 1980 году
консорциумом компаний, включащим фирмы Dec, Intel, и Xerox, получившим
сокращенное название DIX.
Стандарт Ethernet II
Стандарт DIX Ethernet 2 был опубликован в 1982 году и расширил
возможности Физического уровня, добавив другой тип коаксиального кабеля,
который, соответственно своей толщине, получил название "тонкий Ethernet",
Глава 8. Ethernet
197
ThinNet или Cheapemet по той причине, что он был намного дешевле, чем
оригинальный толстый коаксиальный кабель.
Спецификация IEEE 802.3
На протяжении этого времени росло желание построить международный
стандарт вокруг протокола Ethernet, но компания Xerox сделала имя Ethernet
своей торговой маркой, и создавать международный стандарт вокруг
технологии, полностью контролируемой частной компанией, стало неразумно.
В результате в 1980 году была сформирована рабочая группа, основной
целью которой стала разработка различных нормативов, в том числе стандарта,
подобного Ethernet. Группа была названа, как Institute of Electrical and
Electronics Engineers (IEEE, Институт инженеров по электротехнике и
электронике). Часть группы, занимающаяся разработкой стандарта, аналогичного
Ethernet, получила наименование IEEE 802.3, а выработанный ею документ,
опубликованный в 1985 году, был назван "IEEE 802.3 Carrier Sense Multiple
Access with Collision Detection (CSMA/CD) Access Method and Physical Layer
Specification". С несколькими минимальными отличиями этот документ
фактически описывал сеть Ethernet под другим именем, и до сегодняшнего
дня продукты, на которые мы ссылаемся, как на Ethernet, в
действительности соответствуют стандарту IEEE 802.3.
В то время, как стандарт Ethernet II трактует Канальный уровень как
единый объект, спецификация IEEE разделяет этот уровень на два подуровня:
управления логической связью (LLC, Logical Link Control) и управления
доступом к среде (MAC, Media Access Control). Уровень управления логической
связью изолирует функции, которые лежат под ним, от тех, что выше него, и
определяется отдельным стандартом: IEEE 802.2. Комитет IEEE использует
такой же абстрактный уровень для типов сетей, определенных в других
стандартах 802, таких, например, как сеть 802.5 Token Ring. Уровень
управления доступом к среде определяет механизм, согласно которому системы
Ethernet контролируют доступ к сетевой среде передачи, наподобие
обсуждаемого в следующем разделе "CSMA/CD".
Около 1990-го года стандарт IEEE 802.3 подвергся дальнейшей доработке и
сейчас включает другие альтернативные конфигурации Физического уровня,
те, которые заставили коаксиальный кабель полностью сдать свои позиции
кабелю "витая пара", широко применяемому для телефонной проводки, и
оптоволоконному кабелю. В силу своей гибкости, дешевизны и простоты
прокладки, витая пара для Ethernet (или lOBaseT) быстро стала наиболее
популярной средой передачи для этого протокола. Большинство
действующих сегодня сетей Ethernet используют кабель "витая пара", который
продолжает поддерживаться новыми, высокоскоростными стандартами.
Оптоволоконные технологии, не чувствительные к электромагнитным помехам,
позволили протянуть сетевые соединения на много большие расстояния,
чем это допускают медные технологии.
198
Часть III. Сетевые протоколы
Различия между стандартами IEEE 802.3 и DIX Ethernet II перечислены в
табл. 8.1.
Таблица 8.1. Различия стандартов IEEE 802.3 и DIX Ethernet II
IEEE 802.3 DIX Ethernet II
Среды Физического уровня Коаксиал, витая пара, Только коаксиал
оптоволокно
13-14 биты заголовка кадра Длина поля данных Ethertype
Тест внешнего трансивера SQE тест Тест наличия коллизий
(Heartbeat)
Стандарт Fast Ethernet был предложен в 1995-м году под именем IEEE
802.3u. Он увеличивает пропускную способность сети в десять раз до
100 Мбит/с и использует витую пару или оптоволоконный кабель.
Новейшая разновидность Ethernet, названная Gigabit Ethernet, определена в IEEE
802.3z. Она увеличивает быстродействие сети еще в десять раз до уровня
1000 Мбит/с или 1 Гбит/с.
Механизм управления доступом
к среде CSMA/CD
Наиболее характерная особенность сети Ethernet — это механизм управления
доступом к среде, который называется множественным доступом с контролем
несущей и обнаружением коллизий (CSMA/CD, Carrier Sense Multiple Access with
Collision Detection). Подобно любому методу MAC, CSMA/CD позволяет
компьютерам в сети совместно разделять единую узкополосную среду передачи
без потери данных. В сети Ethernet нет приоритетов, поскольку на этом
основан метод доступа к среде. Протокол разработан таким образом, что каждый
узел имеет равные права на доступ к сетевой среде передачи.
Когда узел в сети Ethernet хочет передать данные, сначала он
"прослушивает" сетевую среду, пытаясь определить, используется ли она. Это — фаза
контроля несущей. Если узел выявляет в сети трафик, он выдерживает
короткую паузу и снова прослушивает сеть. Если сеть свободна, то любой узел
сети может осуществить через нее передачу своих данных. Это — фаза
множественного доступа. Описанный механизм сам управляет доступом к среде
передачи, но не без ошибок.
Вполне возможно для двух (или более) систем установить, что сеть
свободна, и начать передавать свои данные примерно в один и тот же момент. Это
приводит к спорной ситуации, которая в спецификациях IEEE называется
ошибкой качества сигнала (SQE, signal quality error) или, что более широко
Глава 8. Ethernet
199
употребимо, коллизией (collision). Коллизии возникают, когда одна система
передает данные, а другая система выполняет контроль несущей в течение
короткого промежутка времени до того момента, как первый бит
переданного пакета достигнет ее (рис. 8.1). Этот интервал известен как время
состязания (contention time) или временной зазор (slot time), так как каждая
вовлеченная в процесс система полагает, что она начала передавать данные
первой. Таким образом, каждый узел в сети всегда находится в одном из
трех возможных состояний: передаче, соревновании или ожидании.
3 - j Пакет данных
Узел А Узел Б
Рис. 8.1. Узел А начал передавать свои данные, но пока начало пакета
еще не достигло узла В, узел В полагает, что сеть свободна. Если узел В
начнет передачу в этот момент, то возникнет коллизия
Когда сталкиваются пакеты от двух различных узлов, в кабеле возникает
состояние, отличное от нормы, которое распространяется навстречу обеим
системам. В коаксиальной сети уровень напряжения стремится к точке, в
которой он равен или больше, чем объединенные уровни двух
трансмиттеров (+/-0,85 В). В сети из оптоволоконного кабеля или витой пары
отклонения имеют форму одновременной активности сигнала в принимающей и
передающей цепи.
Когда каждая передающая система выявляет ненормальную ситуацию, она
осознает, что имеет место коллизия, немедленно прекращает посылать
данные и предпринимает действия, чтобы исправить эту ситуацию. Это —
стадия обнаружения коллизии. Из-за того, что столкнувшиеся пакеты считаются
поврежденными, обе задействованные системы передают в остальную сеть
сигнал задержки (jam pattern), который устанавливает во всем кабеле
напряжение, информирующее другие системы в сети о столкновении и
предотвращающее возможную передачу ими данных.
Сигнал задержки — это последовательность из 32 бит, которые могут иметь
любое значение до того момента, пока они не станут равны значению поля
контроля, содержащего циклический избыточный код (CRC) поврежденного
пакета. Система, получившая пакет Ethernet, использует поле CRC (или
контрольную сумму) для того, чтобы определить, были ли данные в пакете
получены без ошибок. До тех пор, пока маска задержки отличается от
правильного значения CRC, все принимающие узлы будут отбрасывать пакет.
200
Часть III. Сетевые протоколы
В большинстве случаев сетевые адаптеры просто выставляют во всех 32 битах
сигнала задержки значение 1, что соответствует CRC для пакета с весом 232,
генерация которого в нормальных условиях не представляется вероятной.
После передачи сигнала задержки оба узла, вовлеченные в конфликт,
откладывают свою передачу на случайный интервал времени, который
вычисляется по алгоритму с использованием их собственных МАС-адресов в
качестве уникальных факторов. Этот процесс называется отсрочкой или
временной выдержкой. Так как оба узла выполняют независимые вычисления
временной паузы, то шанс, что они начнут повторную передачу в одно и то же
время, существенно снижается. Однако это по-прежнему возможно, и, если
между теми же двумя узлами возникнет очередная коллизия, то они оба
увеличат продолжительность интервалов задержки и снова переходят в
состояние отсрочки. Как следствие того, что увеличивается количество возможных
значений интервала выдержки, вероятность того, что системы снова выберут
одинаковые интервалы, уменьшается. В спецификации Ethernet описанный
процесс называется усеченной двоичной экспоненциальной временной
выдержкой (truncated binary exponential backoff или truncated BEB). Система Ethernet
будет пытаться передать пакет 16 раз, и если каждый раз будет возникать
коллизия, то пакет отбракуется.
Коллизии
Каждая система в сети Ethernet использует рассматриваемый механизм MAC
для каждого передаваемого пакета, поэтому очевидно, что в действительности
весь процесс происходит быстро. Большинство коллизий, которые возникают
в типичной сети Ethernet, разрешаются в течение микросекунд. Когда дело
касается организации доступа к среде передачи Ethernet, следует понимать,
что возникновение коллизий пакетов для этого типа сети естественно и
ожидаемо, и не обязательно является проблемой. Если проанализировать трафик в
сети Ethernet при помощи какого-либо средства мониторинга сетей, то будет
видно, что определенное количество коллизий присутствует всегда.
Описанный здесь тип коллизии пакетов является естественным и ожидаемым,
но существует другой тип, называемый "поздней коллизией", который
свидетельствует о серьезных проблемах в сети. Смотрите следующий раздел
"Поздние коллизии" для получения более подробной информации.
Коллизии пакетов могут стать проблемой только в том случае, если их очень
много, тогда в сети начинают накапливаться значительные задержки
трафика. Сочетание интервалов простоя и самой повторной передачи пакетов
(выполняемой иногда больше одного раза) порождает задержки, которые
умножаются на количество пакетов, передаваемых каждым компьютером, и на
количество компьютеров в сети.
Глава 8. Ethernet
201
Основной недостаток механизма CSMA/CD заключается в том, что чем
больше трафик в сети, тем больше коллизий будет возникать. Загрузка сети
основывается на числе систем, подключенных к ней, и количестве данных,
которые они посылают и получают через сеть. Вычисляемая в процентах,
загрузка сети представляет собой часть времени, когда сеть действительно
используется, то есть количество времени, когда данные действительно
передаются. В обычной сети Ethernet загрузка находится приблизительно в
диапазоне от 30 до 40 процентов. Когда загрузка возрастает примерно до
80 процентов, количество конфликтов увеличивается до значения, после
которого производительность сети заметно снижается. В самом крайнем
случае, известном как коллапс (collapse), сеть настолько забита трафиком,
что почти всегда находится в состоянии состязания. Это состояние может
быть вызвано появлением совпадающих во времени повторяющихся
коллизий, но более вероятной причиной его является неисправность сетевого
интерфейса, который постоянно передает неправильные кадры без остановок
на контроль несущей и обнаружение коллизий. Об адаптере в этом случае
говорят, что он генерирует неверные пакеты.
^ Примечание ^
Протоколы Канального уровня, использующие механизм с передачей маркера
для управления доступом к среде, подобные Token Ring и FDDI, не
подвержены снижению производительности в связи с высоким уровнем сетевого
трафика. Это вызвано тем, что такие протоколы применяют механизм, в котором в
любой момент времени только одной системе в сети разрешено передавать
данные. В подобных сетях коллизии не являются нормальным событием, и их
появление может сигнализировать о серьезной проблеме.
Из-за возможного падения быстродействия сети при высоких уровнях
трафика крайне важно тщательно планировать рост сетей Ethernet для того,
чтобы избежать слишком высокой загрузки сети. Когда уровень трафика
становится чрезмерным, использование коммутаторов или других
соединительных устройств, которые разделяют сеть на несколько областей
коллизий, является более предпочтительным по сравнению с расширением сети
при помощи обычных ретранслирующих концентраторов, которые
распространяют весь входящий трафик по всей сети.
^ Примечание ^Д
Для получения более подробной информации о расширении сети подобным
образом см. главу 6.
Поздние коллизии
Спецификации Физического уровня для протокола Ethernet разработаны
таким образом, что первые переданные 64 байта каждого пакета полностью
202
Часть III. Сетевые протоколы
распределяются по всей совокупной длине кабеля области коллизий.
Поэтому в то время, когда один узел передал первые 64 байта пакета, каждый
другой узел в сети уже получит, по крайней мере, первый бит пакета.
С этого момента другие узлы не передают свои данные, так как их механизм
контроля несущей выявил в сети трафик.
Очень важно, чтобы первый бит каждого передаваемого пакета достиг
каждого узла в сети прежде, чем будет отправлен последний бит. Это
требование выдвигается в связи с тем, что передающая система может выявить
коллизию только тогда, когда она все еще передает данные. Как только
последний бит покинет передающий узел, отправитель полагает, что передача была
завершена успешно и удаляет пакет из буфера памяти. Для того, чтобы это
было действительно так, каждый передаваемый в сети Ethernet пакет должен
быть длиной не меньше 64 байт, даже если для этого передающей системе
придется добавить неиспользуемые (равные 0) биты.
Если коллизия возникает после того, как последний бит покинул
передающий узел, она называется поздней коллизией или иногда выходом за окно
коллизий (рис. 8.2). (Для того чтобы различать два типа столкновений,
обычный, легко выявляемый тип иногда называется ранней коллизией.) Так как
передающая система не имеет способа выявления поздних коллизий, она
полагает, что пакет передан успешно. Любые данные, потерянные в
результате поздней коллизии, не могут быть повторно переданы процессом
Канального уровня. Эта задача переходит к протоколам, работающим на
вышележащих уровнях модели OSI и использующим для обнаружения потери
данных и вызова повторной передачи свои собственные механизмы.
Последний процесс может отнимать время в сотни раз большее, чем
повторная передача Ethernet, и это — одна из причин, по которой данный тип
коллизии является проблемой.
Узел А Узел В
Рис. 8.2. Из-за дефекта сети, такого как чрезмерная длина сегмента кабеля,
узел А закончил передачу прежде, чем первый бит достиг узла В. Когда узел В,
не "почувствовав" какого-либо трафика, начинает передачу, возникает коллизия,
но узел А не может ее выявить и повторно передать пакет. Такая ситуация
называется поздней коллизией
Поздние коллизии могут возникать по нескольким причинам. Если сетевой
интерфейс неисправен и передает пакет длиной меньше, чем 64 байта
Глава 8. Ethernet
203
(называемый "карликом"), последний бит может покинуть отправителя
прежде, чем пакет полностью распространится по сети. В других случаях
причиной может быть возможная неисправность механизма контроля несущей
сетевого адаптера, которая приводит к передаче в неподходящее время.
Другой возможной причиной может быть несоответствие сети указаниям по
прокладке кабельной системы для Ethernet. Если сегменты кабеля слишком
длинные, или в сети слишком много повторителей, задержки в
распространении сигнала могут выходить за пределы 600 наносекунд, определенных в
спецификациях Ethernet, как максимально допустимое для передачи между
двумя системами время.
Поздние коллизии не являются обычным явлением для сети Ethernet,
напротив, их появление свидетельствует о существовании серьезных проблем,
которые надо немедленно устранить.
Эффект захвата
Существование коллизий как обычного явления в сетях Ethernet может
оказывать глубокое комплексное влияние на функционирование сети.
Теоретически каждая система в сети Ethernet в любой момент времени имеет
равные возможности доступа к сетевой среде передачи. Однако на практике в
определенное время это может быть не совсем так. Когда два узла во время
передачи последовательности пакетов сталкиваются с коллизией, возможно,
что один из них монополизирует сетевую среду на время передачи своих
данных. Такая ситуация известна как эффект захвата (capture effect).
После первой коллизии, как правило, один из двух узлов выигрывает
соревнование и успешно осуществляет повторную передачу своего пакета. Затем
он старается передать второй пакет из своей последовательности, в то время
как другой узел все еще пытается отправить свой первый пакет. Если
возникнет вторая коллизия, одна система отступает в первый раз, в то время
как другая начинает ожидать повторно, используя механизм усеченной
двоичной экспоненциальной временной выдержки. Статистически более
вероятно, что вторая система проиграет это соревнование, так как она выбирает
интервал временной паузы из большей группы периодов задержки.
Чтобы упростить пример, предположим, что первая система выбирает
интервал ожидания в 1 или 2 миллисекунды, так как для нее это первая
отсрочка. В то время как система, отступающая во второй раз, должна выбрать
интервал длиной в 1, 2, 3 или 4 миллисекунды, поскольку механизм
усеченной двоичной экспоненциальной выдержки расширяет пул возможных
значений интервалов с каждой успешной выдержкой времени. Законы теории
вероятности предписывают, что вторая система, скорее всего, выберет
больший интервал выдержки, чем первая, и проиграет второе соревнование.
Если та же система проиграет и второе состязание, ее пул возможных интерва-
204
Часть III. Сетевые протоколы
лов временной выдержки увеличится еще больше, так же, как и вероятность
проигрыша еще одного соревнования.
Таким образом, первая система, постоянно передающая новые пакеты первой,
захватит сетевую среду, и будет удерживать вторую систему от передачи.
Появление в сети эффекта захвата в большинстве случаев даже не выявить.
Вероятность возникновения этого феномена значительна, но явно
наблюдаемый эффект, который он оказывает на производительность сети,
минимален. Однако теоретическая основа эффекта захвата прекрасно
иллюстрирует, насколько сложны могут быть взаимодействия между системами в
сети. Тем не менее, эта проблема была внимательно изучена членами
комитета IEEE 802. Они создали рабочую группу (IEEE 802.3w) для разработки
спецификации альтернативного алгоритма временной выдержки, названного
бинарным логарифмическим методом арбитража (BLAM, Binary Logarithmic
Arbitration Method).
BLAM решает проблему эффекта захвата симметричным увеличением
счетчиков коллизий у каждого узла в сети. Когда возникает коллизия, все
системы в сети одинаковым образом изменяют свой алгоритм выбора интервала
временной выдержки, в отличие от метода truncated BEB, в котором этот
процесс носит асимметричный характер. Эта и другие модификации
явились адекватным решением проблемы, но со временем комитет решил
расформировать группу, и отказался от представления документа BLAM на
утверждение в качестве стандарта.
Это решение было больше политическим, нежели техническим. Комитет
полагал, что в действительности проблема эффекта захвата актуальна лишь в
перспективе, и что обновление стандарта, направленное на решение этой
проблемы, было бы более серьезным шагом, нежели она заслуживает на
самом деле. Помимо этого, растущая популярность коммутированных и
дуплексных решений Ethernet в большой степени определила исход обсуждения
этого вопроса.
Дуплексный Ethernet
Механизм управления доступом к среде CSMA/CD является
определяющим элементом протокола Ethernet, но он также накладывает и множество
ограничений. Основным недостатком протокола Ethernet является то, что
одновременно данные могут передаваться только в одном направлении.
Такой режим называется полудуплексным. Применяя специальное
оборудование, также возможно организовать работу соединений Ethernet в
дуплексном режиме, означающем, что устройство может передавать и получать
данные одновременно.
Дуплексный Ethernet возможен только для сегментов, которые имеют
раздельные каналы для взаимодействия в каждом из направлений. Это отно-
Глава 8. Ethernet
205
сится к витой паре и оптоволоконному кабелю, поддерживаемым обычным
Ethernet и Fast Ethernet, но не к коаксиальному кабелю. Из-за того, что обе
системы при дуплексной связи могут передавать и получать данные
одновременно, нет причин для возникновения конфликтов. В силу сказанного,
нет необходимости в ограничениях кабельной системы, направленных на
поддержку механизма выявления коллизий.
Последнее утверждение — очень важный момент для сетей Fast Ethernet,
использующих оптоволоконный кабель, так как механизм выявления
коллизий действует на сегментах сравнительно небольшой максимальной длины.
В то время как полудуплексная линия связи 100BaseFX между двумя
устройствами может иметь предельную длину 412 метров, а точно такая же линия
связи, работающая в дуплексном режиме, может быть длиной до 2000
метров, поскольку она ограничена только силой сигнала. Однако затухание
сигнала в сетях на витой паре (то есть тенденция сигнала ослабевать по
мере распространения по среде передачи) оставляет ограничение на длину
сегмента для таких сетей в 100 метров.
Возможности дуплексного Ethernet обычно реализуются в коммутаторах Fast
Ethernet или в многопортовых мостах. Оказанное предпочтение объясняется
тем, что устройства, функционирующие как концентраторы, должны иметь
возможность буферизировать кадры, если линия связи с
устройством-получателем занята. Обычные ретранслирующие концентраторы как правило не
обладают такими функциями. Работа обычных Ethernet lOBaseT и
оптоволоконных каналов связи в дуплексном режиме также возможна, но чаще всего
это решение не имеет практического смысла. Если для увеличения
производительности приходится обновлять оборудование до полнодуплексного, то
почему бы просто не перейти на Fast Ethernet?
Нормативы Физического уровня
Спецификации Ethernet определяют не только тип кабеля, согласующегося
с протоколом, но также и нормативы для укладки кабеля, такие как
максимальная длина сегментов кабеля и допустимое количество
концентраторов или повторителей. Как упоминалось раньше, конфигурирование среды
передачи Физического уровня — это критически важный элемент
механизма управления доступом к среде CSMA/CD. Если суммарная
дистанция между двумя системами в сети слишком длинная, результатом может
стать падение производительности, причину которой достаточно сложно
выявить и устранить.
Классический 10 Мбит/с Ethernet может использовать четыре различных
типа среды передачи, как показано в табл. 8.2. Нормативы для прокладки
кабельных систем отличны для каждой среды передачи, что объясняется
характеристиками производительности различных типов кабеля.
206
Часть III. Сетевые протоколы
Таблица
Обозначение
Максимальная
длина сегмента
Максимальное
количество узлов
на сегмент кабеля
Тип кабеля
8.2. Средства Физического уровня для классического Ethernet
Толстый
Ethernet
10Base5
500 метров
100
Коаксиальный
RG8
Тонкий
Ethernet
10Base2
185 метров
30
Коаксиальный
RG58
Витая пара
10BaseT
100 метров
2
Неэкраниро
ванная ви-
Оптоволокно
10BaseFL
1000/2000
метров
2
62,5/125 мно-
гомодовое
Тип коннекторов
N
BNC
тая пара
категории 3
RJ-45
оптоволокно
ST
^ Примечание ^Д
Наименования различных типов сред передачи Физического уровня Ethernet
основаны на сокращениях, которые описывают основные свойства сети.
Например, толстый Ethernet известен как 10Base5, поскольку он работает на
скорости 10 Мбит/с, использует узкополосную (baseband) передачу и имеет
предельно допустимую длину сегмента в 500 (5x100) метров. Тонкий Ethernet
отличается от толстого только тем, что использует более тонкий кабель с
максимальной длиной сегмента 185 метров (которая округляется до 200 для
запоминаемости аббревиатуры). Символ "Т" в обозначении 10BaseT указывает, что
сеть использует кабель на основе витой пары вместо коаксиального, a "F" в
названии 10BaseF говорит о фибероптическом (оптоволоконном) кабеле.
Стандарт Fast Ethernet применяет ту же систему обозначений для четырех
поддерживаемых им типов сред передачи Физического уровня (см. разд. "Fast
Ethernet" далее в этой главе).
Толстый Ethernet
Толстый Ethernet или ThickNet использует коаксиальный кабель RG8 и
шинную топологию для соединения до 100 узлов в один сегмент не более 500
метров длиной. Оба конца шины должны быть "закрыты" резисторами-
терминаторами по 50 Ом, и кабель должен быть заземлен с одного (и только
одного) конца. Хотя этот тип кабеля очень редко применяется еще где-либо,
компоненты сети ThickNet являются хорошей иллюстрацией взаимодействия
различных элементов, принадлежащих Физическому уровню сети Ethernet.
^ Примечание ^]Д
Ограничение в 100 узлов на сегмент кабеля ThickNet (и 30 узлов на сегмент
ThlnNet) фактически определяется количеством MAU (приемопередатчиков се-
Глава 8. Ethernet
207
ти Ethernet), присутствующих в сети. Так как повторители имеют свои
собственные MAU, то они тоже учитываются.
Сегмент коаксиального кабеля должен, если это возможно, быть отдельно
взятым непрерывным кабелем или, по крайней мере, состоять из
соединенных вместе отрезков из одной партии кабеля или же представлять собой
отрезок кабеля с N-коннекторами. В кабеле должно быть как можно меньше
разрывов, и если приходится использовать кабель из различных партий, то
отдельные куски должны иметь длину 23,4; 70,2 или 117 метров (с
погрешностью 0,5 м) для того, чтобы минимизировать возможное отражение сигнала.
В отличие от всех других средств Физического уровня Ethernet, кабель
ThickNet не присоединяется непосредственно к плате сетевого адаптера ПК.
Это связано с тем, что применяемый коаксиальный кабель толще, тяжелее и
сравнительно негибкий. В этом варианте сетевые адаптеры подключаются к
основному кабелю другим кабелем, который называется кабелем интерфейса
подключаемых устройств (AUI, attachment unit interface) (рис. 8.3).
Кабель "толстый Ethernet"
Рис. 8.3. Рабочие станции в сети ThickNet присоединяются к основному
сетевому кабелю посредством меньших по размерам AUI-кабелей
AUI-кабель имеет на обоих концах 15-контактные D-shell коннекторы, один
из концов кабеля подходит непосредственно к плате сетевого адаптера, а
другой к устройству подключения к среде (MAU, medium attachment unit). MAU
(трансивер) присоединяется к коаксиальному кабелю при помощи
устройства, называемого medium dependent interface (MDI, интерфейс, зависящий от
среды передачи данных). (Стандарт ШЕЕ 802.3 определяет MDI как
электрический и механический интерфейс между оборудованием и передающей
средой.) Такое устройство зажимает кабель и создает электрическое
соединение через отверстия в изоляционной оплетке. Из-за вида соединителя;
напоминающего клык, это устройство часто называют "зубом вампира".
Примечание
Устройство подключения к среде
\
AUI-кабель
Для получения информации об интерфейсе устройств подключения к среде
(MAU) см. разд. "Сигналы физического уровня" главы 2.
208
Часть III. Сетевые протоколы
Каждый AUI-кабель в сети ThickNet может быть до 50 метров длиной, что
обеспечивает дополнительную гибкость при построении сети. Стандартные
AUI-кабели имеют тот же диаметр, что и коаксиальный кабель для тонкого
Ethernet, и примерно равную степень сложности в работе с ними.
Существуют также более тонкие и гибкие "офисные" виды AUI-кабелей, но их
длина ограничена 12,5 метрами.
500-метровая максимальная длина кабеля ThickNet позволяет соединять
системы, разделенные большими расстояниями, причем обеспечивает отличную
защиту от помех и затухания. Тем не менее, с таким кабелем трудно работать
и еще сложнее его скрыть. Фактически, новые сети ThickNet сегодня не
создаются. Участки, которые требуют длинных сегментов кабеля или лучшей
изоляции, сегодня вероятнее всего будут использовать оптоволокно, которое в
любом случае превосходит по производительности толстый Ethernet. Помимо
этого коаксиальный кабель (как тонкий, так и толстый) в спецификации
обычного Ethernet ограничен пропускной способностью 10 Мбит/с.
Тонкий Ethernet
Тонкий Ethernet или ThinNet схож по функциональности с ThickNet, за
исключением самого коаксиального кабеля RG58, который составляет около
5 миллиметров в диаметре и намного более гибкий. Для ThinNet (и всех
остальных средств Физического уровня Ethernet, за исключением ThickNet)
MAU (трансивер) интегрирован в плату сетевого адаптера и не нуждается в
АШ-кабеле.
^ Примечание ^Д
Некоторые платы сетевых адаптеров содержат AUI-коннекторы для ThickNet и
BNC или коннекторы RJ-45 для ThinNet или 10BaseT. Хотя этот тип плат
содержит встроенный MAU, цепь к AUI-коннектору обходит его, поэтому для
соединений ThickNet необходимо использовать стандартный внешний MAU.
ThinNet применяет BNC- (Bayonet-Neill-Concelman) коннекторы и
соединитель, называющийся Т-коннекшором, который прикрепляется к сетевой
плате в ПК. Сетевая шина формируется в результате присоединения кабелей,
стыкующих системы попарно, к обоим выводам Т-образного коннектора
(рис. 8.4). Чтобы "закрыть" шину, две крайние системы должны иметь
резисторы со значением 50 Ом на одном из концов своих Т-коннекторов, и
один (только один) из концов шины должен быть заземлен.
Внимание
Т-образные коннекторы в сети Ethernet должны быть подключены прямо к платам
сетевых адаптеров, установленных в компьютерах. Использовать отрезок кабеля
для присоединения Т-коннектора к сетевой плате недопустимо. В стандарте
Ethernet указано, что расстояние от MDI (встроенного в сетевой адаптер) до коакси-
Глава 8. Ethernet
209
ального кабеля не должно быть более 4-х сантиметров. Превышение этого
значения может вызвать отражение сигналов, которое приведет к повреждению
пакетов, которое обусловит, в свою очередь, их повторную передачу протоколами
верхних уровней. При применении неразрешенного правилами "огрызка" кабеля
может казаться, что сеть работает правильно, но постоянная необходимость
повторных передач может серьезно снизить производительность сети.
Из-за более тонкого кабеля ThinNet сильнее подвержен помехам и
затуханию сигналов, несмотря на ограничение размера сегментов 185 метрами и
30 узлами. Каждый отрезок кабеля, формирующий сегмент, должен быть
длиной не менее 0,5 м.
Тонкий Ethernet проще в работе по сравнению с "толстой" разновидностью
коаксиального кабеля и поэтому он быстро стал предпочтительной средой
для коммерческих Ethernet ЛВС. Однако, как толстый, так и тонкий
Ethernet подвержены дефекту, свойственному всем сетям с шинной топологией.
Если где-нибудь в шине появляется разрыв или некачественное соединение,
то сеть разделяется на два сегмента, которые не имеют доступа друг к другу.
Это похоже на эффект "новогодней гирлянды", где неисправность одной
лампы приводит к тому, что гаснут все остальные.
Так происходит достаточно часто по причине того, что BNC-коннекторы,
применяемые для соединения кабелей, чувствительны к неаккуратному
обращению с ними. Оплошность персонала или случайный рывок за один из
двух кабелей, присоединенных к каждой машине, может легко привести к
ослаблению соединения и вызвать проблемы нерегулярного характера с
передачей, причину которых тяжело установить.
Рис. 8.4. Сети "тонкий Ethernet" используют T-коннекторы для формирования
одного сегмента кабеля топологии "шина", соединяющего до 30 компьютеров
Поэтому надо помнить, что если подобное произойдет, то проблему следует
искать в кабеле или одном из Т-образных коннекторов, а не в компьютере.
Систему, расположенную посередине шины, можно безопасно выключить,
не нарушая связи между другими системами в сети.
Ethernet на основе витой пары
Большинство сетей Ethernet сегодня применяют кабель из неэкранирован-
ной витой пары (UTP), также известный как lOBaseT, который решает
несколько проблем, преследующих коаксиальный кабель. Сети UTP Ethernet
обладают рядом достоинств, некоторые из которых можно выделить особо.
210
Часть III. Сетевые протоколы
□ Скрытность. Кабель UTP может быть проложен внутри стен, полов,
потолков с использованием настенных розеток, обеспечивающих доступ к
сети. И только один тонкий кабель должен подходить к компьютеру.
□ Отказоустойчивость. Сети UTP используют топологию "звезда", в которой
каждый компьютер имеет свой собственный выделенный кабель,
присоединенный к концентратору. Обрыв кабеля или разъединение влияют
только на ту машину, к которой подходит данный кабель.
□ Возможность модернизации. Кабельная система UTP сети 10 Мбит/с
Ethernet может быть модернизирована до 100 Мбит/с Fast Ethernet, а в
дальнейшем, возможно, даже до Gigabit Ethernet.
Кабель на основе неэкранированной витой пары состоит из четырех пар
проводов в одной оплетке и 8-контактных коннекторов RJ-45 на обоих
концах. Провода каждой пары сплетены вместе, витки, расположенные через
постоянный интервал, защищают пары от перекрестных помех. Однако
классический Ethernet использует только две из четырех пар: одну для
передачи информационных сигналов (TD, transmitting data), и другую для их
получения (RD, receiving data). Один из проводов пары имеет положительную
полярность, другой — отрицательную. Назначение контактов разъемов
приведено в табл. 8.3.
Таблица 8.3. Назначение контактов Ш~45для сетей WBaseT
Контакт
1
2
3
4
5
6
7
8
Пара
1
1
2
3
3
2
4
4
Полярность
Положительная
Отрицательная
Положительная
Отрицательная
Сигнал
Передача
Передача
Прием
Не используется
Не используется
Прием
Не используется
Не используется
Обозначение
TD+
TD-
RD+
RD-
В отличие от сетей на коаксиальном кабеле, lOBaseT требует задействования
концентратора (hub) — устройства, которое играет роль соединителя
кабелей и усилителя сигналов (повторителя). Каждый из узлов сети имеет
индивидуальное соединение с концентратором (рис. 8.5). Максимальная длина
сегмента кабеля ограничена 100 метрами, но так как она всегда
рассчитывается до концентратора, то полное расстояние между двумя узлами может
быть равным 200 м.
Глава 8. Ethernet
211
Рис. 8.5. Технология 10BaseT использует концентратор для соединения
всех сетевых узлов в сеть топологии "звезда"
Кабели UTP обычно монтируются прямонаправленно, т. е. провод каждого
контакта соединяется с соответствующим контактом на другом конце
кабеля. Однако, чтобы два узла могли обмениваться данными, сигналы TD,
генерируемые каждой машиной, должны быть доставлены RD-соединению
другого компьютера. В большинстве случаев это преобразование
осуществляется скрещивающей схемой внутри порта концентратора (обычно
помечаемого буквой "Xм). Тем не менее, два компьютера можно соединить вместе
без применения концентратора — в этом случае используется перекрещенный
кабель (crossover cable, кросс-кабель), который подает сигналы TD с каждого
конца кабеля на контакты RD с другого конца.
^ Примечание ^Д
Для получения более подробной информации о сетевых кабелях и их
прокладке см. главу 4. Более детальные сведения о концентраторах и повторителях
см. в главе 5.
Оптоволоконный Ethernet
Оптоволоконный кабель принципиально отличается от средств Физического
уровня, основанных на медной среде передачи данных, рассмотренных
ранее. Ввиду того, что он использует световые импульсы вместо
электрического тока, оптоволоконный кабель не восприимчив к электромагнитным
помехам и более устойчив к затуханию по сравнению с медным кабелем.
Как следствие, оптоволоконный кабель можно прокладывать на более длин-
212
Часть III. Сетевые протоколы
ные расстояния, а гальваническая развязка, которую он обеспечивает, делает
возможным его применение в качестве сетевых проводок между зданиями.
Оптоволоконный кабель прекрасно подходит для передачи данных, но его
прокладка и обслуживание до определенной степени дороже, чем медного
кабеля, и требуют совершенно отличных инструментов и навыков.
Сама передающая среда представляет собой 62,5/125 многомодовый свето-
передающий кабель с двумя волокнами, одно из которых используется для
передачи, а второе — для приема.
Для классического оптоволоконного 10 Мбит/с Ethernet существуют два
основных стандарта: родоначальный стандарт FOIRL и lOBaseF, которые
определяют три различных оптоволоконных конфигурации, называемые lOBaseFL,
lOBaseFB и lOBaseFP. До недавнего времени lOBaseFL был самым
популярным из перечисленных стандартов, но эксплуатация оптоволоконного
кабеля на скорости 10 Мбит/с сейчас представляется преступным
пренебрежением возможностями этой среды передачи. Сегодня существуют 100 Мбит/с
протоколы Канального уровня, подобные Fast Ethernet и FDDI (Fiber
Distributed Data Interface), использующие тот же самый оптоволоконный
кабель, и поэтому нет причин применять любое из вышеперечисленных
более медленных решений для новых сетевых проектов.
FOIRL
Первый стандарт для оптоволоконного Ethernet был разработан в начале
1980-х годов и назван Fiber-Optic Inter-Repeater Link (FOIRL, звено волоконно-
оптической связи между повторителями). Он был ориентирован на
организацию связи преимущественно между двумя повторителями, расположенными
друг от друга на расстоянии до 1000 м. Предназначенный для использования
в университетских сетях, FOIRL может соединять две удаленные сети,
подобные расположенным в соседних зданиях, применяя для этой цели
оптоволоконный кабель.
lOBaseFL
Стандарт lOBaseFL был задуман комитетом IEEE 802.3 с целью, чтобы
предоставить большее количество альтернативных способов использования
оптоволоконного кабеля в сетях Ethernet. Разработанный с учетом обратной
совместимости, lOBaseFL является IEEE-эквивалентом FOIRL. Он
увеличивает максимальную длину оптоволоконной линии связи до 2000 м и
позволяет устанавливать соединение между двумя повторителями, двумя
компьютерами или компьютером и повторителем.
Если в сети lOBaseFL используется какое-либо старое оборудование FOIRL, то
максимальную длину сегмента следует ограничить 1000 м.
Глава 8. Ethernet
213
Во всех спецификациях lOBaseF компьютер присоединяется к сети при
помощи внешнего оптоволоконного кабеля, оптоволоконного трансивера MAU
(или FOMAU, Fiber Optic MAU) и AUI-кабеля длиной до 25 м. Один конец
оптоволоконного кабеля присоединяется к оптоволоконному
ретранслирующему концентратору, который обеспечивает такие же основные
функции, что и концентратор для медных сегментов.
10BaseFB
lOBaseFB позиционировался как решение для кабельной магистрали,
которая соединяет ретранслирующие концентраторы или повторители на
расстоянии до 2000 м. Применяя повторители lOBaseFB с синхронной
передачей сигналов, можно не рискуя превысить число повторителей,
разрешенное для сети Ethernet. Другие стандарты Ethernet, применяемые для связи
между повторителями (такие как lOBaseFL и lOBaseT), удерживают свои
соединения активными, используя сигнал целостности линии связи (idle signal),
асинхронный по отношению к обычной передаче пакетов. С другой
стороны, в lOBaseFB 2,5 МГц прямоугольный сигнал занятости использует ту же
синхронизацию, что и передача пакетов, и, таким образом, можно сказать,
что он синхронен с ней. Из-за того, что при передаче данных получающая
сторона постоянно настроена на сигнал передающей стороны, работа
асинхронного подавителя шумов в MAU (приемопередатчике) получателя не
приводит к потере битов в начале пакета.
Синхронная передача данных означает, что интервал между пакетами (то есть
короткий временной промежуток между пакетами, распространяющимися
по сети) в повторителях lOBaseFB почти не сокращается, что для
повторителей других типов не совсем так. Обычный повторитель может сокращать
интервал между пакетами на 8 бит, в то время как в повторителях с
синхронной передачей это сокращение составляет только 2 бита. По причине
этого уменьшения значения сокращения интервала при передаче сигнала от
входа к выходу на пути между двумя узлами может быть установлено до
12 концентраторов lOBaseFB, что существенно больше, чем нормативный
максимум в 4 концентратора для обычного Ethernet.
lOBaseFB также имеет возможность удаленной диагностики Канального
уровня, обеспечиваемую специальным сигналом удаленного сбоя RF (remote
fault), который концентратор использует вместо стандартного сигнала
целостности, когда выявляет проблему. Это усовершенствование дает
уверенность в том, что оба концентратора будут осведомлены о неисправности
сразу, когда она возникнет. Без сигнала RF проблема с кабелем или платой
интерфейса, нарушающей передачу данных по одному из волокон кабеля,
не была бы обнаружена концентратором, использующим это волокно для
передачи. Передающий концентратор будет посылать свои данные, а в ответ
не будет принимать ничего, кроме сигнала занятости. Напротив, другой
концентратор выявит неисправность, так как он не будет получать с другой
214
Часть III. Сетевые протоколы
стороны соединения ни информационный сигнал, ни сигнал занятости.
Когда подобное происходит, концентратор решает проблему
самостоятельно, заменяя свой сигнал целостности линии на сигнал RF, тем самым
информируя другой концентратор о проблеме.
Ввиду того, что стандарт lOBaseFB применяется только для магистральных
соединений между концентраторами, нет необходимости во внешних MAU
и AUI-кабелях, и концентраторы могут быть связаны вместе
непосредственно стандартным оптоволоконным кабелем.
lOBaseFB является замечательной технологией для протяженных сетевых
магистралей, но она подвержена тому же ограничению скорости 10 Мбит/с,
что и все стандарты lOBaseF. Замена концентраторов дает возможность
модернизировать соединение lOBaseF до 100BaseFX и получить десятикратное
увеличение пропускной способности.
^ Примечание ^|
Для получения более подробной информации о модернизации сетей Ethernet
до Fast Ethernet см. разд. "Модернизация сетей Ethernet" данной главы.
10BaseFP
lOBaseFP определяет оптоволоконную сеть, которая использует
конфигурацию без ретрансляции (то есть без повторителей) типа "пассивная звезда"
для того, чтобы соединить до 33 рабочих станций в сегмент до 500 м длиной
(применяются специальные оптические разветвители). Эта часть
спецификации lOBaseF никогда не имела большого распространения. Несколько
изделий все еще доступны, но рынок для этой технологии, если он
действительно когда-либо существовал, умер.
Нормативы кабельной системы
Помимо минимальной и максимальной длины сегментов для различных
типов среды передачи Ethernet, стандарты также накладывают ограничения на
количество повторителей, которое можно использовать в одной области
коллизий. Указанное условие необходимо для того, чтобы каждый пакет,
отправленный узлом Ethernet, гарантированно достиг его места назначения прежде,
чем последний бит покинет отправителя сообщения. Если расстояние,
которое должен преодолеть пакет, слишком велико, то система-отправитель не
сможет достоверно выявить коллизии, и данные могут быть потеряны.
Сегменты связи и смешанные сегменты
Когда задаются ограничения на количество повторителей, допустимое для
сети, стандарты Ethernet различают два типа сегментов кабеля: сегменты
связи и смешанные сегменты. Сегмент связи (link segment) -— это отрезок ка-
Глава 8. Ethernet
215
беля, который соединяет только два узла, в то время как смешанный сегмент
(mixing segment) — более двух.
В реальном мире данное различие в основном исчезло вследствие того, что
подавляющее большинство сетей Ethernet используют только сегменты связи.
Например, все сети на витой паре содержат только сегменты связи, так как
каждый узел имеет свой собственный выделенный кабель, ведущий к
концентратору. Сказанное также справедливо для lOBaseFL и lOBaseFB. Только один
тип сетей Ethernet использует смешанные сегменты. Это сети на базе
коаксиального кабеля, такие как толстый и тонкий Ethernet, а также lOBaseFP, в
котором применяется пассивный концентратор, не обеспечивающий функций
повторителя. Из-за того, что все эти три вида сетей сегодня используются
редко, за исключением старых реализаций, можно считать, что большинство
сетей Ethernet включают в себя только сегменты связи.
Правило 5-4-3
Стандарты Ethernet основаны на том положении, что в одной области
коллизий Ethernet маршрут между любыми двумя узлами сети может состоять
не более чем из пяти сегментов кабеля, объединенных четырьмя
повторителями, и только три из этих сегментов могут быть смешанными. Это
утверждение иначе известно как "правило Ethernet 5-4-3". Данное правило
трактуется разными способами в зависимости от типа кабеля, задействуемого для
передающей сетевой среды.
JT Примечание ^Д
Область коллизий определяется как сетевая структура, в которой два узла,
одновременно передающие данные, могут вызвать коллизию. Использование
коммутаторов или интеллектуальных концентраторов, в отличие от
стандартных повторителей, не расширяет область коллизий и не попадает под действие
правила Ethernet 5-4-3. Если сеть достигла своих максимальных размеров из-за
следования этому правилу, то предпочтительно использовать коммутатор или
другое подобное устройство для того, чтобы создать раздельные области
коллизий. Для получения более подробной информации см. главы 5 и 6.
Итак, в коаксиальных сетях, будь то тонкий или толстый Ethernet,
допустимо иметь пять сегментов кабеля, соединенных четырьмя повторителями.
В таких сетях повторитель имеет только два порта и не делает ничего более,
кроме усиления сигнала, передаваемого по кабелю. Сегментом является
отрезок кабеля между двумя повторителями, даже в случае тонкого Ethernet,
когда сегмент может состоять из множества отдельных кусков кабеля.
Отсюда вытекает, что общая длина шины толстого Ethernet (называемая
максимальным диаметром области коллизий) может достигать 2500 м (500x5), а
шина тонкого Ethernet может быть длиной до 925 м (185x5).
Однако, в любой из этих сетей только к трем сегментам кабеля могут быть
присоединены узлы (рис. 8.6). Таким образом, можно использовать два
сегмента связи для соединения смешанных сегментов, расположенных на не-
216
Часть III. Сетевые протоколы
котором расстоянии друг от друга, но нельзя заполнять их компьютерами
или другими устройствами.
|Р"«Ч| |РЧ| l1^
Смешанный сегмент
Рис. 8.6. Коаксиальные сети могут насчитывать до пяти сегментов кабеля, но только
к трем из них могут быть присоединены компьютеры или другие устройства
В сети UTP ситуация иная. Поскольку в сетях такого типа повторителями
являются многопортовые концентраторы, каждый сегмент кабеля, соединяющий
узел с концентратором, является сегментом связи. Таким образом, для
данного случая в области коллизий может быть четыре концентратора,
соединенных один с другим, и к каждому из них может быть подключено столько
узлов, сколько может поддерживать концентратор (рис. 8.7). Легко прийти к
выводу, что поскольку данные, распространяясь от одного узла к любому
другому узлу, проходят только через четыре концентратора, и все сегменты
являются сегментами связи, сеть соответствует стандартам Ethernet.
Один фактор, который потенциально может усложнить ситуацию,
появляется, когда для соединения концентраторов lOBaseT применяется
коаксиальный кабель типа тонкий Ethernet. Многие из этих концентраторов имеют
BNC-разъем, который позволяет создать шину, соединив цепочкой
несколько концентраторов. Когда более двух концентраторов соединены
одним сегментом коаксиального кабеля, то они формируют смешанный
сегмент, а допустимое для сети количество смешанных сегментов может
достигать всего трех.
Глава 8. Ethernet
217
Для сети, которая использует коаксиальный кабель только для соединения
концентраторов lOBaseT, последнее не будет представлять проблему. Тем не
менее, если коаксиальный кабель в какой-либо части сети служит для
соединения узлов в свой собственный смешанный сегмент, то шину,
соединяющую lOBaseT-концентраторы, необходимо учитывать как один из трех
смешанных сегментов, позволенных стандартом.
Рис. 8.7. Сеть на основе витой пары использует сегменты связи для соединения
с компьютерами, что дает возможность иметь в сети четыре концентратора
Спецификации lOBaseF определяют и некоторые модификации правила 5-4-3.
Когда пять сегментов кабеля в сети lOBaseF соединены четырьмя
повторителями, сегменты FOIRL, lOBaseFL и lOBaseFB не могут быть длиннее, чем
500 м. Сегменты lOBaseFP ограничены длиной 300 м.
Если же четыре сегмента кабеля соединены тремя повторителями, то
сегменты FOIRL, lOBaseFL и lOBaseFB могут быть не длиннее, чем 1000 м, а
сегменты lOBaseFP — не больше 700 м. Сегменты кабеля, соединяющие узел с
повторителем, не должны превышать 400 м для lOBaseFL и 300 м для lOBaseFP.
Также отсутствуют ограничения на количество смешанных сегментов,
поскольку в сети в этой ситуации всего только четыре сегмента кабеля.
Вычисления временных соотношений для Ethernet
Правило 5-4-3 рекомендовано как основной руководящий принцип,
аккуратное соблюдение которого обычно является достаточным для гарантии
правильного функционирования сети. Однако также возможно более точно
оценить соответствие сети спецификациям кабельной системы Ethernet,
вычислив время периода кругового обращения сигнала и сокращение
интервала между пакетами для наихудшего маршрута через сеть.
Период кругового обращения сигнала (round trip signal delay time) или иначе время
на передачу и подтверждение сигнала — это временной интервал, который
потребуется биту, чтобы пройти расстояние от одного узла до наиболее уда-
218
Часть III. Сетевые протоколы
ленного узла сети и вернуться обратно. Под сокращением интервала между
пакетами (interframe gap shrinkage) подразумевается величина обычной 96-
байтовой задержки между пакетами, уменьшенная в результате воздействия
таких факторов, как время, нужное повторителям для того, чтобы
реконструировать сигнал, прежде чем отправить его дальше.
В большинстве случаев вычисления этих значений не являются
необходимыми. До тех пор, пока соблюдается правило 5-4-3, сеть должна
функционировать правильно. Но если планируется расширить сложную сеть до
границ, когда она начнет упираться в ограничения нормативов Ethernet, то
хорошо бы произвести точную калькуляцию, чтобы убедиться, что
оборудование функционирует как должно. Если наращивание ЛВС окончится
проблемой поздних коллизий, исправление которой требует больших затрат на
модификацию сети, то ваш начальник вряд ли захочет слышать что-либо о
правиле 5-4-3.
\^ Примечание ]Д
Вычисление задержки времени распространения сигнала в два конца и
сокращения интервала между пакетами не является частью решения проблемы
чрезмерного количества ранних коллизий. Коллизии, возникающие в результате
несоблюдения рассмотренных спецификаций Ethernet, являются поздними. Они не
могут быть зарегистрированы простыми средствами, такими как Performance
Monitor в Windows NT и Monitor.nlm в NetWare. Для того чтобы выявить поздние
коллизии на Канальном уровне, следует использовать профессиональные
инструменты анализа протоколов, подобные LANMeter фирмы Fluke.
Поиск наихудшего маршрута
Наихудший маршрут — это путь, который преодолевают данные при
передаче между двумя самыми удаленными узлами в сети, он включает в себя
длину сегмента и количество повторителей. В сравнительно простой сети
наихудший маршрут может быть найден в результате выбора двух узлов в двух
самых дальних от центра сегментах сети, которые имеют либо самые
длинные сегменты кабеля, соединяющие их с повторителями, либо расположены
на самых удаленных концах шины, как показано на рис. 8.8.
В более сложных сетях, применяющих различные типы сегментов кабеля,
можно выбрать несколько маршрутов для того, чтобы протестировать сеть. При
этом следует учесть вклад, вносимый AUI-кабелями, и отклонения, вызванные
наличием сегментов кабеля разного типа в начале и в конце маршрута.
Если сеть хорошо документирована, то, вероятно, имеется ее схема с
проставленной точной длиной всех кабелей. В таком случае для расчетов необходимо
использовать этот чертеж. Если схемы сети нет, то точное вычисление
расстояния может стать самой трудной частью всего процесса. Тестер кабеля
может помочь измерить длину определенного кабеля, или же ее можно
определить вручную, оценивая расстояния между точками подсоединения устройств.
Глава 8. Ethernet
219
Если поступить таким образом, то следует принять во внимание возможные
погрешности измерений и учесть их, включив в вычислительный процесс
фактор дополнительного расстояния. Можно поступить по-другому: если
проложенный кабель заведомо не превышает предельную длину сегментов, указанную
в спецификациях стандарта Ethernet, то в вычислениях можно просто
использовать максимальную допустимую длину для различных типов кабеля.
;WF
Рис. 8.8. В простой сети, состоящей из сегментов 10BaseT, наихудший
маршрут проходит между узлами с наиболее длинными кабелями,
расположенными в крайних сегментах
После определения наихудшего маршрута (или маршрутов), который будет
задействован в вычислениях, неплохо бы создать простую схему каждого
маршрута, указав на ней длину входящих в маршрут сегментов кабеля, как
показано на рис. 8.9. Каждый маршрут будет иметь "правый" и "левый"
крайние сегменты, а также может содержать один или несколько
центральных сегментов. Затем можно выполнять расчеты для отдельных сегментов,
после чего нужно объединить результаты тестирования для всего маршрута.
10BaseT
57 метров
10BaseFL
1700 метров
10BaseT
72 метра
Рис. 8.9. Сложные сети, использующие различные типы передающих сред,
могут потребовать выполнения вычислений для нескольких маршрутов
для того, чтобы адекватно протестировать всю сеть
220
Часть Ш. Сетевые протоколы
Вычисление периода кругового обращения сигнала
Чтобы оценить возможность правильного выявления коллизий наиболее
удаленными узлами сети, необходимо вычислить общую задержку маршрута,
получаемую в процессе передачи и подтверждения приема. Чтобы
рассчитать задержку для каждого сегмента маршрута, следует использовать
значения из табл. 8.4, а затем сложить их вместе для получения задержки всего
маршрута. Таблица содержит базовое и максимальное значения времени
прохождения бита для каждого типа кабеля Ethernet. Значения для "левого"
и "правого" концов наихудшего маршрута различны, в то время как время
прохождения во всех сегментах в его середине одинаково. Время
прохождения бита (bit time) — это временной интервал, требуемый для отправки
единичного бита через сеть.
Таблица 8.4. Значения задержек распространения сигнала туда
и обратно для различных типов кабеля Ethernet
(в единицах времени прохождения бита)
Тип кабеля Максималь- Базовая за- Базовая за- Базовая за- Задержка рас-
ная длина держкалево- держкасред- держкапра- пространения
(метры) го конца него сегмента вого конца сигнала/метр
10Base5
10Base2
10BaseT
FOIRL
"lOBaseFL
10BaseFB
10BaseFP
Дополнительный
AUI
500
185
100
1000
2000
2000
1000
48
11,75
11,75
15,25
7,75
12,25
Концевые
соединения не
поддерживаются
11,25
0
46,5
46,5
42
29
33,5
24
61
0
169,5
169,5
165
152
156,5
Концевые
соединения
не
поддерживаются
183,5
0
0,0866
0,1026
0,113
0,1
0,1
0,1
0,1
0,1026
Чтобы вычислить задержку для определенного сегмента, применяется
следующая формула:
Задержка сегмента = (длина сегмента * время на передачу и подтверждение
приема/метр) + базовая задержка сегмента
Таким образом, для 50-метрового сегмента lOBaseT на левом конце
наихудшего маршрута необходимо вычислить произведение 50x0,113 (время
на передачу и подтверждение приема/метр для lOBaseT) и прибавить 15,25
Глава 8. Ethernet
221
(базовая задержка для левого конечного сегмента lOBaseT). Результатом
будет 20,9.
(50 * 0,113) + 15,25 = 20,9
Если для вычисления задержки вместо измерения реальной длины
сегментов сети требуется найти значения задержки сегментов максимального
размера, допустимого для каждого типа кабеля, то следует использовать
константы из табл. 8.5. В ней собраны результаты вычислений задержки по
представленной выше формуле для сегментов максимальной длины.
Таблица 8.5. Значения приема кругового обращения сигнала
для сегментов Ethernet максимальной длины
Тип кабеля
10Base5
10Base2
lOBaseT
FOIRL
10BaseFL
10BaseFB
10BaseFP
ВнешнийАШ
Максимальная
длина
500
185
100
1000
2000
2000
1000
48
(метры)
Максимальная
задержка
конца
55,05
30,731
26,55
107,75
212,25
Концевые
левого
соеди-
нения не
поддерживаются
111,25
4,88
Максимальная
задержка
среднего сегмента
89,8
65,48
53,3
129
233,5
224
161
4,88
Максимальная
задержка
правого конца
212,8
188,48
176,3
252
356,5
Концевые
соединения не
поддерживаются
284
4,88
Когда вычислены значения задержки для всех сегментов сети, их надо
сложить вместе и включить дополнительное значение времени
прохождения 5 бит для того, чтобы учесть допустимую ошибку. Это даст величину
полного времени кругового обращения сигнала для наихудшего в сети
маршрута. Если результат меньше или равен 575, то сеть удовлетворяет
спецификациям Ethernet для этого параметра. Значение 575 получено из
64 байт (512 бит минус 1), необходимых для того, чтобы заполнить всю
длину кабеля области коллизий, плюс 64 бита, которые формируют
преамбулу и начало разделителя кадров Ethernet. Если время задержки больше,
чем время прохождения 575 бит, это означает, что узел на одном из концов
наихудшего маршрута будет не в состоянии отправить больше, чем 511 бит
кадра плюс преамбула и начало разделителя кадра, прежде чем будет
уведомлен о коллизии.
Из-за того, что значения задержки для левого и правого конечных сегментов
различаются, такие вычисления необходимо выполнить дважды, если с раз-
222
Часть III. Сетевые протоколы
ных концов сети используются различные типы кабеля. После вычисления
общей задержки в одном из направлений следует изменить направление на
противоположное и выполнить такие же вычисления, приняв другой конец
за левый сегмент.
Если в сети используются сегменты толстого Ethernet и lOBaseF с
отдельными AUI-кабелями, присоединяющими узлы к сети, то в расчеты
необходимо включить длину этих кабелей. Значения для стандартных типов кабеля
в табл. 8.5 включают двухметровый допуск для общей длины соединений
AUI внутри повторителей и сетевых интерфейсов, но также необходимо
использовать константы, приведенные в строке "Внешний AUI" для
вычисления дополнительной задержки для кабелей AUI. Значения "Внешний AUI" в
табл. 8.5 приведены для AUI-кабеля максимальной допустимой длины на
случай, когда нужно использовать эти величины вместо реального
измерения длины кабелей. После определения времени задержки для всех AUI-
кабелей рассчитываемого маршрута эти значения следует прибавить к
задержке всей остальной сети и сравнить полученный результат с
максимальной задержкой прохождения 575 бит.
Вычисление значения сокращения
интервала между пакетами
Тест сокращения интервала между пакетами необходим для того, чтобы
убедиться, что задержка между передачами пакетов достаточна в том смысле,
чтобы сетевой интерфейс успевал переключиться между режимом передачи
и режимом приема. Если изменяющиеся задержки в сетевых компонентах и
задержки реконструкции сигнала в повторителях приводят к тому, что
межпакетный интервал становится слишком маленьким, то кадры могут
появляться чересчур быстро и переполнить интерфейс принимающего узла.
JT Примечание ^
Интервал между пакетами в 9,6 мс был установлен стандартом Ethernet и
утвержден почти 20 лет назад. С тех пор технология разработки и изготовления
плат сетевых интерфейсов была значительно усовершенствована. Сегодня
многие производители сетевых адаптеров требуют принять соглашение о
времени перехода между режимами, меньшем, чем 9,6 мс. Некоторые из них даже
обдуманно используют более короткий интервал между пакетами для
высокоскоростных сетевых передач. Когда все сетевые адаптеры в сети имеют такую
возможность, то проблемы не должно возникнуть, но если подобные платы
перемешаны с более старыми сетевыми интерфейсами, то может обнаружиться,
что они не могут держать соединение между собой.
Чтобы вычислить сокращение интервала между пакетами, необходимо
использовать тот же наихудший маршрут через сеть, что применялся для
вычисления времени задержки подтверждения сигнала, за исключением того,
что здесь учитываются только передающий сегмент и средние сегменты.
Глава 8. Ethernet
223
Последнее замечание обусловлено тем, что уменьшение значений интервала
для передающего и среднего сегментов вызвано повторителями,
участвующими в доставке пакета. Конечный сегмент, ведущий к узлу назначения,
начинается после последнего лежащего на пути повторителя и не вносит
каких-либо дополнительных задержек. Значения сокращения интервала
между пакетами для различных типов кабеля Ethernet в передающем и среднем
сегментах приведены в табл. 8.6.
Таблица 8.6. Значения сокращения интервала между пакетами для различных
типов кабеля Ethernet в единицах времени прохождения пакета
Тип кабеля Передающий сегмент Средний сегмент
10Base5, 10Base2 16 11
10BaseT, FOIRL, 10BaseFL 10,5 8
10BaseFB Концевые соединения не 2
поддерживаются
10BaseFP 11 8
Сокращение интервала между пакетами для всей сети складывается из
суммы значений из таблицы для передающего сегмента плюс значений для всех
средних сегментов. Если сумма меньше, чем время прохождения 49 битов,
то сеть прошла тест. Если наихудший маршрут имеет различные типы
кабеля на обоих концах, то вычисление сокращения интервала надо провести
дважды, используя сначала значение для одного конца, а затем значение для
другого. Наибольшая из двух величин должна быть принята в качестве
значения сокращения интервала между пакетами для всей сети.
Превышение ограничений
кабельной системы Ethernet
Спецификации Ethernet предоставляют определенную свободу действий,
какая делает возможным превышение в разумных пределах ограничений
кабельной системы. Если сеть имеет дополнительный повторитель или
кабель слишком большой длины, то, вероятно, она будет продолжать
функционировать без возникновения поздних коллизий, которые появляются,
когда нормативы превышены чрезмерно. Можно выявить, в каких случаях
это становится возможным, если вычислить реальную длину медного
кабеля, заполненного сигналом Ethernet.
Электрические сигналы передаются по медному кабелю, распространяясь
со скоростью около 200 000 000 м/с (2/3 скорости света). Ethernet передает
данные с быстродействием 10 Мбит/с или 10 000 000 бит/с. Разделив
200 000 000 на 10 000 000, получим 20 метров кабеля на каждый передавав-
224
Часть III. Сетевые протоколы
мый бит. Таким образом, наименьший возможный кадр Ethernet длиной
512 бит (64 байта) займет 10240 метров медного кабеля.
Если взять самую наибольшую длину сегмента медного кабеля, допускаемую
стандартами Ethernet, то получится, что в 500-метровом сегменте толстого
Ethernet уместится только 25 бит информации (20 метров/бит). Два узла на
дальних концах такого сегмента будут иметь дистанцию прохождения
сигнала в прямом и обратном направлениях, равную 1000 м.
Когда один из двух узлов передает данные, коллизия может возникнуть,
если другой узел начнет передачу до того, как сигнал дойдет до него.
Предположим, что второй узел начал передавать данные в самый последний
момент, перед тем, как передача от первого узла дошла до него. Тогда первый
узел сможет послать не больше 50 бит (которые заполнят 1000 метров
кабеля, 500 туда и 500 обратно), прежде чем он выявит коллизию и прекратит
передачу. Очевидно, что эти 50 бит лежат ниже барьера в 512 бит, который
разделяет ранние и поздние коллизии.
Конечно, этот пример рассматривает только один сегмент, но даже если
расширить сеть "толстый Ethernet" до предельных размеров ее области
коллизий — пяти сегментов по 500 метров каждый или 2500 метров суммарно —
узел все еще сможет передать только 250 бит (которые заполнят 5000 метров
кабеля, 2500 в один конец и 2500 обратно) прежде, чем выявит коллизию.
Таким образом, можно видеть, что спецификации Ethernet для времени
задержки подтверждения сигнала вдвое строже, чем это требуется в случае
сети "толстый Ethernet". Для других видов медной среды передачи данных —
тонкого Ethernet и lOBaseT, спецификации еще более неточны, так как
максимальная длина сегмента для них меньше, в то время как скорость
распространения сигнала остается той же. Для общей длины сети lOBaseT,
состоящей из пяти сегментов и равной всего лишь 500 метрам, ограничения
спецификации в десять раз строже, чем это необходимо.
Это не значит, что можно безопасно увеличить вдвое максимальную длину
кабеля в сети или установить дюжину повторителей (хотя возможно без
опасения удлинить сегменты сети lOBaseT до 150 метров, если использовать
кабель UTP категории 5 вместо категории 3). Другие факторы могут
воздействовать на условия в сети, делая их ближе к ограничениям, заданным в
спецификациях. Фактически, временные характеристики сигнала не столь
ограничивающий фактор при монтаже 10 Мбит/с Ethernet, как уровень
сигнала. Ослабевание сигнала в результате затухания — намного более
вероятная причина возникновения проблем с производительностью в чрезмерно
расширенной сети, чем превышение времени задержки сигнала. Вопросы,
рассмотренные здесь, демонстрируют, что разработчики протокола Ethernet
изначально заложили в проектируемые сети фактор надежности, что отчасти
объясняет, почему протокол работает так хорошо 20 лет спустя.
Глава 8. Ethernet
225
Кадр Ethernet
Кадр Ethernet — это последовательность бит, которая начинает и заканчивает
каждый пакет Ethernet, передаваемый по сети. Кадр состоит из заголовка и
постинформации, которые окружают и инкапсулируют данные,
генерируемые протоколами вышележащих уровней модели OSI. Информация в
заголовке и постинформации указывает адрес системы, пославшей пакет, и
системы, которая должна получить его, а также выполняет несколько других
функций, важных для доставки к месту назначения.
Кадр IEEE 802.3
Основной формат кадра Ethernet, определенный стандартом IEEE 802.3,
выглядит, как показано на рис. 8.10. Функции отдельных полей
рассматриваются ниже.
Преамбула и начальный разделитель
Преамбула состоит из 7 байтов с перемежающимися значениями 0 и 1,
которые системы используют для синхронизации генераторов тактовых
импульсов, а затем отбрасывают. Применение в Ethernet манчестерской системы
кодирования требует, чтобы
генераторы тактовых импульсов
взаимодействующих систем были
синхронизированы, то есть заключили
соглашение о длительности времени
прохождения бита. Системы в
холостом режиме (то есть не
осуществляющие в данный момент передачу
или процесс исправления коллизии)
не способны принимать какие-либо
данные, пока они обрабатывают
сигналы последовательности бит
преамбулы в ходе подготовки к
последующей передаче данных.
Преамбула (7 байтов)
Начальный разделитель (1 байт)
Адрес назначения (6 байтов)
Адрес источника (6 байтов)
Длина (2 байта)
Данные и заполнение
(46-1500 байтов)
Контрольная
последовательность
кадра (4 байта)
Рис. 8.10. Кадр Ethernet окружает
информацию, передаваемую от Сетевого
уровня вниз по стеку протоколов,
и подготавливает ее для передачи
[^ Примечание ^Д
Для получения более подробной информации о манчестерской системе
кодирования и схемах кодирования сигналов, которые встречаются на Физическом
уровне, см. главу 2.
226
Часть III. Сетевые протоколы
Во время передачи преамбулы принимающая система синхронизирует свой
генератор тактовых импульсов с генератором отправителя, но при этом
получатель не знает о том, как много бит из 7 байт преамбулы прошли мимо,
прежде чем он включился в синхронизацию. (Большинство производимых
сегодня сетевых адаптеров разработаны для синхронизации в течение
временного интервала, достигающего времени прохождения 11 бит, но это не
абсолютное, значение.) Для того чтобы указать начало действительной
передачи пакета, отправитель передает 1-байтовый начальный разделитель,
который продолжает последовательность из перемежающихся 0 и 1, за
исключением двух последних бит, которые оба содержат 1. Это — сигнал
получателю, что любые последующие за ним данные являются частью пакета и
должны быть считаны в буфер памяти сетевого адаптера для последующей
обработки.
Адрес назначения и исходный адрес
Адресация является наиболее важной функцией кадра Ethernet. Так как кадр
можно представить как "конверт" для данных Сетевого уровня, переносимых
внутри него, то ему требуется наличие адресов отправителя и получателя.
Адреса протокола Ethernet, использующиеся для идентификации систем в
сети, имеют длину 6 байт и "зашиты" в платы сетевых адаптеров каждой
машины. Эти адреса называются аппаратными адресами или МАС-адресами.
Аппаратный адрес каждого адаптера Ethernet уникален. IEEE присваивает 3-
байтовый префикс производителям плат сетевых адаптеров. Он называется
уникальным идентификатором изготовителя (OUI, organizationally unique
identifier). Остальные 3 байта аппаратного адреса производители назначают сами.
Поле адреса назначения идентифицирует систему, которой был отправлен
пакет. Адрес может указывать на конечную систему, которой предназначен
пакет, если эта система находится в локальной сети, либо адрес может
принадлежать устройству, предоставляющему доступ в другую сеть, например,
маршрутизатору. Адреса Канального уровня всегда указывают на следующую
точку остановки пакета в локальной сети. Контроль за прохождением пакета
по всему маршруту между конечными точками осуществляет Сетевой
уровень, который и предоставляет адрес места назначения пакета.
|" Примечание ^Д
Для получения более подробной информации о взаимодействии между
адресами Канального и Сетевого уровней см. разд. "ARP" главы 11.
Каждый узел в сети Ethernet считывает целевой адрес из заголовка каждого
пакета, передаваемого по сети, для того, чтобы определить, не содержит ли
заголовок адрес этого узла. Система, считавшая заголовок кадра и
распознавшая свой собственный адрес, считывает пакет целиком в буфер памяти
и обрабатывает его. Адрес назначения, полностью состоящий из двоичных
Глава 8. Ethernet
227
единиц, означает, что пакет широковещательный, т. е. предназначен для всех
систем сети. Определенные адреса могут быть групповыми. Они
идентифицируют группу систем в сети, которые все должны принять посланное
сообщение.
Поле исходного адреса содержит 6-байтовый МАС-адрес системы,
отправившей пакет.
Значения полей адреса назначения и адреса источника формирует драйвер
сетевого адаптера системы, передающей пакет.
Длина
Поле длины кадра IEEE 802.3 составляет 2 байта и указывает на количество
данных (в байтах), переносимых кадром в качестве полезной нагрузки. Его
значение включает только действительные содержащиеся в пакете данные
вышележащих уровней. Оно не включает размеры полей заголовка,
постинформации, а также любой нагрузки, которая могла быть добавлена к
данным для того, чтобы обеспечить минимальный размер для пакета Ethernet
(64 байта). Максимальный размер для пакета Ethernet, включая кадр,
составляет 1518 байт. Поскольку кадр состоит из 18 байт, то наибольшее
значение поля длины равно 1500.
^ Примечание jj
Формат кадра стандарта Ethernet I! использует это поле для другой цели. Для
получения более подробной информации см. разд. "Кадр Ethernet II" далее в
этой главе.
Данные и дополнение
Рассматриваемое поле содержит полезные данные пакета, т. е. внутреннее
содержимое оболочки. Передаваемые вниз протоколом Сетевого уровня
данные включают первоначальное сообщение, созданное приложением или
процессом верхнего уровня, и информацию заголовка, добавляемую
протоколами промежуточных уровней. Помимо этого пакет, соответствующий
стандарту 802.3, содержит 3-байтовый заголовок уровня управления
логической связью (LLC), также размещенный в поле данных.
Например, пакет, содержащий имя хоста Интернета, которое должно быть
преобразовано DNS-сервером в IP-адрес, состоит из первоначального
сообщения DNS, заголовка, добавленного на Транспортном уровне протоколом
UDP, заголовка, добавленного на Сетевом уровне протоколом IP, и
заголовка LLC. Хотя эти три дополнительных заголовка не являются частью
первоначального сообщения, для протокола Ethernet они представляют просто
полезные данные, которые переносятся в поле данных, равно как и любая
другая информация. Также как и почтовые работники, которые не подозре-
228
Часть III. Сетевые протоколы
вают о содержимом передаваемого ими письма, протокол Ethernet не имеет
знаний о содержимом внутри оболочки.
Чтобы механизм выявления коллизий мог функционировать, готовый пакет
Ethernet (исключая преамбулу и начальный разделитель) должен быть
длиной минимум 64 байта. Таким образом, за вычетом 18 байт кадра, поле
данных должно иметь размер не менее 46 байт. Если "полезная нагрузка",
полученная от протокола Сетевого уровня, слишком короткая, то адаптер Ethernet
добавляет строку ничего не значащих битов для того, чтобы дополнить поле
данных до необходимого размера.
Наибольшая длина для пакета Ethernet составляет 1518 байт, соответственно,
поле данных не может быть больше, чем 1500 байт (включая заголовок LLC).
Контрольная последовательность кадра
Последние 4 байта кадра, следующие за полем данных (и дополнением, если
оно есть), содержат значение контрольной суммы, которое принимающий
узел задействует для определения целостности пакета. Непосредственно
перед передачей сетевой адаптер узла, отправляющего сообщение, вычисляет
циклический избыточный код (CRC) для всех остальных полей пакета (за
исключением преамбулы и начального разделителя), используя
полиномиальный алгоритм AUTODIN II. Значение CRC уникально для данных,
используемых для его вычисления.
Когда пакет достигает своего места назначения, сетевой адаптер
принимающей системы считывает содержимое кадра и выполняет вычисления по
тому же алгоритму. Сравнивая свежеполученное значение с тем, что
содержится в поле контрольной последовательности кадра (FCS, frame check
sequence), система с высокой вероятностью может убедиться в том, что ни
один из битов пакета не был изменен. Если значения совпадают, система
принимает пакет и помещает его в буферы памяти для дальнейшей
обработки. Если значения не совпадают, система объявляет ошибку сверки (alignment
error) и отбрасывает кадр. Система также отвергает кадр, если количество
бит в пакете не кратно 8. Если кадр отброшен, то протоколы вышележащих
уровней выявляют его отсутствие и организуют повторную передачу.
Кадр Ethernet II
Назначение 2-байтового поля, следующего за адресом отправителя, в
форматах кадров двух господствующих стандартов Ethernet различается. В то
время кадр 802.3 использует это поле для указания длины данных в пакете,
в стандарте Ethernet II данное поле указывает на тип кадра, также
называемый Ethertype. Ethertype определяет буфер памяти, в котором должен
храниться кадр. Расположение буфера памяти, указанное в этом поле,
идентифицирует протокол Сетевого уровня, для которого предназначены
переносимые в кадре данные.
Глава 8. Ethernet
229
Указанное отличие имеет важное значение в работе каждого протокола,
работающего на Канальном, Сетевом, и Транспортном уровнях сетевого стека
системы. Данные в пакете должны быть доставлены не только определенной
системе в сети, но также определенному приложению или процессу этой
системы. Из-за того, что на Сетевом уровне компьютера-получателя может
одновременно работать несколько протоколов, таких как IP, NetBEUI и
IPX, поле Ethertype сообщает драйверу адаптера Ethernet, какой из этих
протоколов должен получить данные.
Когда система считывает заголовок пакета Ethernet, содержимое поля
"длина/Ethertype" является единственным способом отличить кадр
Ethernet II от кадра IEEE 802.3. Так как величина в поле длины кадра 802.3 не
может быть больше, чем 1500 (0x05DC в шестнадцатеричном
представлении), а все значения, назначенные разработчиками полю Ethertype для
различных протоколов Сетевого уровня, больше, чем 1500.
Xerox продолжает выступать в роли регистратора соглашений Ethertype.
Некоторые из возможных значений поля Ethertype приведены в табл. 8.7.
Таблица 8.7. Значения поля Ethertype для протоколов Сетевого уровня
(в шестнадцатеричном представлении)
Ethertype
0600
0800
0801
0802
0803
0804
0805
0806
0807
1000
5208
6001
Протокол
Xerox NS ЮР
Internet Protocol (IP)
Х.75
NBS
ЕСМА
Chaosnet
X.25 Packet (Level 3)
Address Resolution Protocol
(ARP)
XNS Compatibility
Berkeley Trailer
BBN Simnet
DEC MOP (Dump/Load)
Ethertype
6002
6003
6004
6005
6006
8005
8010
8035
8038
809B
80F3
8137
Протокол
DEC MOP (Remote Console)
DECNET Phase 4
DEC LAT
DEC
DEC
HP Probe
Excelan
Reverse ARP
DEC LANBridge
AppleTalk
AppleTalk ARP
NetWare IPX/SPX
Подуровень управления логической связью
Как упоминалось ранее, IEEE разбил выполняемые функции Канального
уровня на два подуровня: управления доступом к среде (MAC) и управления
230
Часть III. Сетевые протоколы
логической связью (LLC). В сети Ethernet подуровень MAC включает
элементы стандарта 802.3: спецификации Физического уровня, механизм
CSMA/CD и кадр 802.3. Функции подуровня LLC определены в стандарте
802.2, который также используется с другими 802 стандартами MAC.
Подуровень LLC предоставляет протоколам Сетевого уровня различные
коммуникационные услуги, включая перечисленные ниже.
□ Сервис без установления соединения и подтверждений приема. Простой
сервис, который не обеспечивает управления потоком данных или
контроля ошибок, а также не гарантирует правильную доставку данных.
□ Сервис с установлением соединения. Полностью надежный сервис,
который гарантирует правильную доставку данных за счет установления
соединения с системой-приемником до начала передачи данных и
использования механизмов контроля ошибок и управления потоком данных.
□ Сервис без установления соединения с подтверждениями приема. Средний
по сложности сервис, который использует сообщения подтверждения
приема для обеспечения гарантированной доставки, но не устанавливает
соединения до передачи данных.
На передающей системе данные, переданные вниз от протокола Сетевого
уровня, вначале инкапсулируются подуровнем LLC. Стандарт называет их
protocol data unit (PDU, протокольный блок данных). Когда PDU передается
вниз подуровню MAC, где снова обрамляется заголовком и
постинформацией, с этого момента технически его можно назвать кадром. Для пакета
Ethernet это означает, что кадр 802.3 помимо данных Сетевого уровня содержит
3-байтовый заголовок LLC. Таким образом, максимально допустимая длина
данных в каждом пакете уменьшается с 1500 до 1497 байтов.
Заголовок LLC состоит из трех полей (рис. 8.11), назначение которых
описано в следующих подразделах.
\:-^>£?-
4N
DSAP (1 байт)
SSAP (1 байт)
Поле управления (1 или 2 байта)
Данные и заполнение
IEEE 802.3 (43-1497 байтов)
Рис. 8.11. Заголовок управления логической связью,
переносимый в поле данных пакета 802.3
Глава 8. Ethernet
231
Поля DSAP и SSAP
Поле Destination Service Access Point (DSAP, точка доступа к сервису системы-
получателя) указывает, в каком месте буферов памяти системы-получателя
следует разместить данные пакета. Поле Source Service Access Point (SSAP,
точка доступа к сервису системы-источника) выполняет такие же функции
для источника данных, размещенных в пакете, на передающей системе. Оба
этих 1-байтовых поля используют значения, назначенные IEEE, который
выступает в роли регистратора протоколов. Некоторые из возможных
значений приведены в табл. 8.8.
Таблица 8.8. Значения полей DSAP и SSAP, назначенные IEEE
Значение DSAP/SSAP
0
2
3
4
6
14
78
94
142
170
254
255
Описание
Нулевая LSAP
Indiv LLC Sublayer Mgt
Group LLC Sublayer Mgt
SNA Path Control
Зарезервировано (DOD IP)
PROWAY-LAN
EIA-RS511
ISIIP
PROWAY-LAN
SNAP
ISO CLNS IS 8473
Глобальная DSAP
В пакете Ethernet SNAP значение для полей DSAP и SSAP равно 170 (или
ОхАА в шестнадцатеричном виде). В этом случае оно указывает на то, что
содержимое PDU управления логической связью начинается с заголовка
SNAP (Sub-Network Access Protocol, протокол доступа к подсетям). Заголовок
SNAP обеспечивает те же функции, что и поле Ethertype кадра Ethernet II.
Поле управления
Поле управления в заголовке LLC указывает на тип сервиса, необходимого
для данных в PDU и функций пакета. В зависимости от того, какой сервис
нужно предоставить, поле управления может быть длиной 1 или 2 байта.
В кадре Ethernet SNAP, например, LLC использует сервис без установления
соединения и подтверждения приема. Поле управления для него 1-байтовое.
Тип этого поля в стандарте назван ненумерованным форматом (unnumbered
232
Часть III. Сетевые протоколы
format). Значение поля управления, равное 3, указывает на ненумерованный
информационный кадр, т. е. кадр, содержащий данные. Ненумерованные
информационные кадры достаточно просты. Их применение говорит о том,
что либо пакет содержит некритическое сообщение, либо протокол
вышележащего уровня каким-либо образом обеспечивает гарантированную
доставку и другие высокоуровневые услуги.
Двумя другими типами поля управления (по 2 байта каждый) являются
информационный формат (information format) и управляющий формат (supervisory
format). Три формата поля контроля различаются по значениям префиксных
битов.
□ Информационный формат начинается с бита со значением 0.
□ Управляющий формат имеет двухбитовый префикс со значением 1 и 0.
□ Ненумерованный формат начинается с двух битов со значением 1.
Остальные биты более конкретно указывают на функции PDU. При более
сложном обмене данными, включающем сервис на основе установления
соединения, ненумерованные кадры содержат команды, которые позволяют
установить соединение с другой системой и разорвать его по окончании
передачи данных. Команды, передаваемые в ненумерованных кадрах, имеют
нижеприведенные наименования.
П UI (Unnumbered Information, передача данных). Используется сервисом без
установления соединения и подтверждения для отправки кадров данных.
□ XID (Exchange Identification, идентификация). Вырабатывается сервисами
с установлением соединения и без такового в качестве как команды, так
и ответа.
□ TEST (диагностика). Применяется как команда и как ответ при
выполнении теста методом петлевого контроля (loopback test) LLC.
□ FRMR (Frame Reject, отклонение кадра). Выдается как ответ в случае
возникновения сбоев в работе протокола.
□ SABME (Set Asynchronous Balanced Mode Extended, запрос на соединение).
Посылается как запрос на установление соединения.
□ UA (Unnumbered Acknowledgment, подтверждение). Является
положительным ответом на сообщение SABME.
□ DM (Disconnect Mode, задержка соединения и разъединения).
Возвращается как отрицательный ответ на сообщение SABME.
□ DISC (Disconnect, разъединение). Передается как запрос на завершение
соединения. В качестве ответа ожидается либо UA, либо DM.
Информационные кадры содержат действительные данные, передаваемые во
время как сеансов с установлением соединения, так и сессий без
установления соединения с подтверждениями, а также сообщения подтверждения прие-
Глава 8. Ethernet
233
ма, возвращаемые принимающей системой. Только два типа сообщений
передаются в информационных кадрах: N(S) и N(R) для отправленных и
полученных сообщений соответственно. Обе системы отслеживают
последовательность номеров пакетов,, которыми они обмениваются. Сообщение N(S)
информирует получателя о том, какое количество пакетов из
последовательности было уже отправлено, а сообщение N(R) позволяет отправителю
иметь информацию о том, какой из пакетов ожидается для приема.
Управляющие кадры используются только сервисами с установлением
соединения. Они обеспечивают обслуживание соединения, выраженное в форме
сервисов управления потоком данных и коррекции ошибок.
Соответствующие управляющие сообщения имеют нижеперечисленные типы.
□ RR (Receiver Ready, готовность приемника). Используется для
информирования отправителя о том, что соединение действующее, и получатель
готов к приему следующего кадра.
□ RNR (Receiver Not Ready, приемник не готов). Требует от отправителя не
передавать пакеты до тех пор, пока получатель не отправит сообщение RR.
□ REJ (Frame Reject, данные отброшены). Сообщает передающей системе
об ошибке и требует повторной передачи всех кадров, отправленных
после определенного момента.
Применения LLC
В некоторых случаях кадры LLC играют незначительную роль в процессе
сетевого обмена данными. Например, в сети, использующей TCP/IP наряду
с другими протоколами, единственная функция LLC может заключаться в
предоставлении возможности кадрам 802.3 содержать заголовок SNAP,
подобно Ethertype указывающий протокол Сетевого уровня, которому должен
быть передан кадр. В этом случае все PDU LLC задействуют
ненумерованный информационный формат. Однако другие высокоуровневые протоколы
требуют от LLC более расширенного сервиса. Например, сессии NetBIOS и
несколько протоколов NetWare используют сервисы LLC с установлением
соединения более широко.
Заголовок SNAP
Из-за того, что кадр 802.3 не имеет поля Ethertype, принимающая система
обычно не в состоянии определить, какой из протоколов Сетевого уровня
должен получить входящие данные. Это не является проблемой, если
применяется только один протокол Сетевого уровня, но если установлено
несколько протоколов, указанная неопределенность становится серьезной
проблемой. Пакеты 802.3 решают данную проблему, используя в рамках
PDU LLC еще один протокол, называемый Sub-Network Access Protocol
(SNAP, протокол доступа к подсетям).
234
Часть III. Сетевые протоколы
Заголовок SNAP имеет длину 5 байт и располагается непосредственно после
заголовка LLC в поле данных кадра 802.3, как показано на рис. 8.12.
Заголовок содержит два поля.
Код организации. Идентификатор организации или производителя — это 3-
байтовое поле, которое принимает такое же значение, как первые 3 байта
МАС-адреса отправителя в заголовке 802.3.
Локальный код. Локальный код — это поле длиной 2 байта, которое
функционально эквивалентно полю Ethertype в заголовке Ethernet II, и
заполняется теми же значениями, назначенными Xerox.
^ Примечание ^|
Многие, если не все зарегистрированные значения для префиксов аппаратных
адресов плат сетевых адаптеров, поля Ethertype и полей DSAP/SSAP
перечислены в документе "Assigned Numbers", опубликованном Internet Engineering
Task Force (IETF, проблемная группа проектирования сети Интернет) в
качестве RFC (Request for Comment). Номер текущей версии этого документа
RFC1700, он доступен по адресу http://andrew2.andrew.cmu.edu/rfc/rfc1700.html.
LLSDSAP(1 байт)
К| LLC SSAP (1 байт)
г\| Поле управления LLC (1 или 2 байта)
N
Код организации
Локальный код
Данные и заполнение
IEEE 802.3 (43-1497 байтов)
Рис. 8.12. Заголовок SNAP, передаваемый вместе с протокольным
блоком данных LLC и осуществляющий такие же функции, как поле Ethertype
Fast Ethernet
Спецификация IEEE 802.3u, утвержденная в 1995 году, определяет стандарт
протокола Канального уровня для сетей, функционирующих со скоростью
100 Мбит/с, что в десять раз выше скорости обычного, классического Ether-
Глава 8. Ethernet
235
net. Обычно его называют Fast Ethernet или 100BaseT. Fast Ethernet быстро
стал промышленным стандартом для монтажа новых ЛВС в основном за
счет того, что он значительно улучшает производительность сети, а
изменения относительно исходного Ethernet при этом минимальны.
Fast Ethernet оставляет неизменными два из трех определяющих элементов
сети Ethernet. Новый протокол использует такой же формат кадра, как IEEE
802.3 и тот же механизм управления доступом к среде CSMA/CD.
Усовершенствования, которые позволяют увеличить пропускную способность,
заключаются в нескольких элементах конфигурации средств Физического
уровня, включая типы применяемого кабеля, длину сегментов и допустимое
количество концентраторов.
Средства Физического уровня
Коаксиальный кабель убран из стандарта, Fast Ethernet использует только
UTP или оптоволоконный кабель (хотя экранированная витая пара (STP)
также присутствует в качестве одного из вариантов). Средства Физического
уровня, определенные в стандарте, призваны обеспечить большую гибкость
в параметрах монтажа. Фактически каждый аспект протокола Ethernet
продуман так, чтобы способствовать переходу от более ранних технологий, в
особенности от lOBaseT. Во многих случаях существующие UTP-сети можно
модернизировать до Fast Ethernet без прокладки нового кабеля.
Единственным исключением может быть сеть, проложенная на большее расстояние,
чем может поддерживать Fast Ethernet с медным кабелем. Для получения
более подробной информации о процессе модернизации см. разд.
"Модернизация сети Ethernet" далее в этой главе.
Fast Ethernet определяет три конфигурации средств Физического уровня,
приведенные в табл. 8.9.
Таблица 8.9. Конфигурации Физического уровня IEEE 802.3u
100BaseTX
100BaseT4
100BaseFX
Максимальная
длина сегмента
Тип кабеля
100 метров
UTP категории 5 или
STP тип 1 (две витые
пары)
Тип коннектора RJ-45
100 метров
UTP категории 3
(четыре витые
пары)
RJ-45
412 метров
62,5/125 много-
модовое
оптоволокно
SC, MIC или ST
Помимо коннекторов, указанных для каждого типа кабеля, стандарт Fast
Ethernet описывает независимый от среды передачи интерфейс (Mil, medium
independent interface), который использует 40-контактный D-shell коннектор.
236
Часть III. Сетевые протоколы
Заимствованный из оригинального стандарта толстого Ethernet, Mil
соединяется с внешним трансивером, называемым устройством Физического
уровня (PHY, PHYsical-layer device), который, в свою очередь, присоединяется к
сетевой среде передачи. МП делает возможным создавать устройства,
подобные концентраторам и компьютерам со встроенными адаптерами Fast
Ethernet, не привязывая их к определенной среде передачи данных. Имея
различные модули PHY, можно присоединять устройства к сети Fast
Ethernet, используя любой поддерживаемый тип кабеля. Некоторые устройства
PHY подсоединяются непосредственно к МП, в то время как другие могут
применять для этого монтажный кабель, не отличающийся от AUI-кабеля
для толстого Ethernet. В последнем случае длина кабеля МИ не может быть
больше, чем 0,5 м.
Сегодня большинство предлагаемого на рынке оборудования Fast Ethernet
содержит внутренние трансиверы и не нуждается в коннекторах или кабелях
МИ, но несколько изделий все же используют преимущества этого
интерфейса.
100BaseTX
Употребляемые для физической среды передачи данных стандарты,
разработанные ANSI (the American National Standards Institute, Национальный
Институт Стандартизации США) — 100BaseTX и его оптоволоконный аналог
100BaseFX коллективно известны как lOOBaseX. Они предусматривают
основные нормативы Физического уровня для монтажа новых кабельных
сетей. Подобно lOBaseT, 100BaseTX требует использования кабеля "неэкрани-
рованная витая пара" с длиной сегментов до 100 м. Единственное отличие от
сегментов lOBaseT заключается в качестве и характеристиках самого кабеля.
100BaseTX базируется на спецификации ANSI TP-PMD и предписывает
применять кабель UTP категории 5 во всех сегментах сети. Классификация
для кабеля UTP разработана TIA/EIA (Ассоциация электронной
промышленности / Ассоциация производителей средств связи), она приведена в
табл. 4.2 в главе 4.
Из классификации можно видеть, что спецификация для кабеля UTP
категории 5 предоставляет возможность передачи сигналов значительно более
высокой частоты, чем это определено для кабеля категории 3 в сетях lOBaseT. В
качестве альтернативы в местах, где высока опасность электромагнитных
помех, может применяться кабель STP (экранированная витая пара) типа 1.
В целях совместимости 100BaseTX (также как и 100BaseT4) использует такой
же тип коннекторов RJ-45, как lOBaseT; схема расположения контактов
также осталась той же (см. табл. 8.3). Схема разводки проводников в разъеме
является единственным отличием от ANSI TP-PMD, требуемым для
сохранения обратной совместимости с сетями lOBaseT.
Глава 8. Ethernet
237
100BaseT4
100BaseT4 предназначен для использования в сетях, где уже проложена
кабельная система, но кабель не соответствует категории 5. Спецификация
lOBaseT допускает применять стандартный кабель для передачи речи
(категории 3), учитывая, что огромное количество сетей уже имеет кабельную
систему, проложенную для lOBaseT Ethernet (или даже для телефонных
систем). 100BaseT4 работает со скоростью 100 Мбит/с на кабеле категории 3,
задействуя для этого все четыре пары проводов в кабеле вместо двух, как это
делают lOBaseT и 100BaseTX.
Передающая и принимающая данные пара в схеме 100BaseT4 точно такая
же, как для 100BaseTX (и lOBaseT). Остальные четыре провода
функционируют как двунаправленные пары. Разводка проводников для коннекторов
RJ-45 в сети 100BaseT4 приведена в табл. 8.10.
Таблица В. 10. Схема расположения контактов Ш-45щ\я сетей 100BaseT4
Контакт
1
2
3
4
5
6
7
8
Пара
1
1
2
3
3
2
4
4
Полярность
Положительная
Отрицательная
Положительная
Положительная
Отрицательная
Отрицательная
Положительная
Отрицательная
Сигнал
Передача
Передача
Прием
Двунаправленный
Двунаправленный
Прием
Двунаправленный
Двунаправленный
Обозначение
TXJD1 +
TXJD1-
RXJD2+
BIJD3+
BIJD3-
RXJD2-
BIJD4+
BIJD4-
Как и в сети lOBaseT, для пересылки трафика передающая и принимающая
пары должны быть перекрещены. Перекрещивающие схемы в
концентраторе Fast Ethernet, как и всегда, соединяют передающую пару с принимающей.
В концентраторе 100BaseT4 две разнонаправленные пары также
перекрещены таким образом, что пара 3 соединяется с парой 4 и наоборот.
100BaseFX
Спецификация 100BaseFX предъявляет те же требования к оборудованию,
что и lOBaseFL, за исключением максимальной длины сегмента кабеля,
которая не может быть больше 412 м. Так же, как в других вариантах
Физического уровня Fast Ethernet, сетевая среда способна передавать сигнал и на
более длинные расстояния, но данное ограничение введено для того, чтобы
обеспечить правильную работу механизма выявления коллизий.
238
Часть III. Сетевые протоколы
Ограничения длины кабеля
Вследствие того, что скорость работы 100 Мбит/с сети в десять раз выше,
ограничения для кабельной сети Fast Ethernet строже, чем для
классического Ethernet. В силу сказанного стандарт Fast Ethernet израсходовал
значительный запас свободы, встроенной в спецификации обычного Ethernet,
чтобы достигнуть более высокого уровня производительности. В 10 Мбит/с
Ethernet нормативы для согласования сигналов по времени, по крайней
мере, в два раза строже, чем это требуется для правильного выявления
системами ранних коллизий в сети. Длина сегментов сети в большей степени
диктуется необходимостью сохранения уровня сигнала, нежели чем его
временем распространения.
Тем не менее, в сетях 100BaseT уровень сигнала не так важен по сравнению
со временем распространения сигналов. Механизм CSMA/CD в сети Fast
Ethernet работает точно так же, как в сети Ethernet 10 Мбит/с, и пакеты
имеют такой же размер, но их скорость распространения через среду
передачи в десять раз выше. Из-за того, что механизм детектирования коллизий
остался тем же, системы все еще должны выявлять возникновение коллизии
прежде, чем истечет время состязания (то есть прежде, чем будут переданы
512 байт данных). Таким образом, поскольку трафик распространяется
быстрее, временной зазор уменьшается, и максимальная длина сети также
должна быть сокращена, чтобы выявление коллизий происходило
безошибочно. По этой причине предельная общая длина сети 100BaseTX примерно
составляет 210 м. Это значение необходимо соблюдать намного более
жестко, чем максимум в 500 м для сети lOBaseT.
( Совет )
Когда планируется сеть, необходимо учитывать тот факт, что требование
стандарта Fast Ethernet к максимальной длине сегмента кабеля в 100 м включает в
себя всю длину кабеля, соединяющего компьютер с концентратором. Если
кабельная разводка внутренняя и заканчивается на стороне компьютера
настенной розеткой, а на стороне концентратора — коммутационной панелью, то в
длину сегмента необходимо включить коммутационные кабели, соединяющие
компьютер с розеткой и коммутационную панель с концентратором.
Спецификация рекомендует брать максимальную длину для сегмента кабеля
внутренней разводки, равной 90 м, оставляя Юм для коммутационных кабелей.
Конфигурации концентраторов
Так как предельно допустимая длина для сегмента 100BaseTX составляет те
же 100 м, что и для lOBaseT, ограничения на общую длину сети сказываются
на конфигурации ретранслирующих концентраторов, используемых для
соединения сегментов. Стандарт Fast Ethernet описывает два типа
концентраторов для сетей 100BaseT: класс I и класс II. Каждый концентратор Fast
Ethernet должен иметь римскую цифру I или II, идентифицирующую его класс.
Глава 8. Ethernet
239
Концентраторы класса I предназначены для поддержки сегментов кабеля с
различными типами передачи сигналов. 100BaseTX и 100BaseFX используют
один и тот же тип передачи сигналов, в то время как 100BaseT4 — отличный
от него (поскольку присутствуют две двунаправленные пары). Концентратор
класса I содержит схему, которая переводит входящие сигналы 100BaseTX,
100BaseFX и 100BaseT4 в общий цифровой формат, а затем снова
осуществляет конверсию в сигнал, соответствующий выходному порту
концентратора. Указанные преобразования приводят к тому, что концентратор класса 1
вносит сравнительно большую задержку времени, и поэтому на пути между
двумя любыми узлами в сети не должно быть больше одного концентратора
этого класса.
Концентраторы класса II могут поддерживать сегменты кабеля только с
одинаковыми средами передачи сигналов. Так как преобразований не
производится, концентратор немедленно передает входящие данные на
выходные порты. Из-за того, что временная задержка короче, между двумя
любыми узлами в сети может быть установлено до двух концентраторов класса II,
но при этом все сегменты должны использовать идентичную среду передачи
сигналов. Это означает, что концентратор класса II может поддерживать
либо 100BaseTX и 100BaseFX одновременно, либо отдельно 100BaseT4.
Дополнительные ограничения длины сегментов также основываются на
сочетании используемых в сети сегментов кабеля и концентраторов. Чем
сложнее становится конфигурация сети, тем меньше должен быть
максимальный размер области коллизий. Эти ограничения собраны в табл. 8.11.
Таблица 8.11. Нормативы для многосегментной конфигурации Fast Ethernet
Один
концентратор класса I
Все сегменты
медные (100BaseTX
или 100BaseT4)
Все сегменты
оптоволоконные
(100BaseFX)
Один сегмент
100BaseT4n один
сегмент 100BaseFX
Один сегмент
100BaseTX и один
сегмент 100BaseFX
200 метров
272 метра
231 метр
260,8 метра
Один
концентратор класса II
200 метров
320 метров
Не применяется
308,8 метра
Два
концентратора класса II
205 метров
228 метров
Не применяется
216,2 метра
Следует помнить, что в сетевой конфигурации, содержащей два
концентратора класса II, самое длинное соединение между двумя узлами в действи-
240
Часть III. Сетевые протоколы
тельности включает три кабеля: два кабеля для присоединения узлов к
соответствующим им концентраторам и один кабель для соединения двух
концентраторов между собой. Например, стандарт предполагает, что
дополнительные 5 м, учтенные в ограничении длины для всех медных сетей, будут
выбраны при соединении двух концентраторов (рис. 8.13). Однако на
практике три кабеля могут быть любой длины, но их общая длина не должна
превышать 205 м.
100 метров
Рис. 8.13. Сегменты кабеля в сети с двумя концентраторами могут
быть любой протяженности, но не длиннее, чем позволяет
максимальный размер области коллизий
Указанные ограничения означают то, что иметь длину 412 м может только
тот оптоволоконный сегмент, который непосредственно соединяет два
компьютера. Как только в сеть добавляется концентратор, общее расстояние
между компьютерами чрезмерно сокращается, что сводит на нет одно из
основных преимуществ применения оптоволоконного кабеля. Ранее в этой
главе говорилось о том, что стандарты оригинального Ethernet позволяют
оптоволоконным сегментам достигать длины 2 км (2000 м). Допуски,
заложенные в механизм выявления коллизий в сети Fast Ethernet, делают
невозможным удвоение диаметра области коллизий подобно lOBaseFL. Учитывая
то, что другие высокоскоростные протоколы, подобные FDDI, используют
тот же тип кабеля и могут поддерживать расстояния до 200 км, Fast Ethernet
может не быть оптимальным оптоволоконным решением.
Вычисления временных соотношений
для Fast Ethernet
Как и в стандартах оригинального Ethernet, эти нормативы кабельной сети
есть не более, чем правила, которые задают ограничения общего размера
сети Fast Ethernet. Можно выполнить более точные вычисления, чтобы
удостовериться, что сеть полностью соответствует спецификациям. Для Fast
Ethernet эти вычисления состоят только из определения времени задержки
распространения сигнала туда и обратно. Расчет значения сокращения ин-
Глава 8. Ethernet
241
тервала между пакетами для Fast Ethernet не имеет смысла, так как лимит,
наложенный на число повторителей, разрешенных для расширения сети,
полностью устраняет возможность появления самой проблемы.
Вычисление времени кругового обращения сигнала
Процесс вычисления времени кругового обращения сигнала так же, как и в
вычислениях для классического Ethernet, начинается с определения
наихудшего маршрута через сеть. Как и раньше, если в сети присутствуют
сегменты кабеля различного типа, то расчеты могут производиться для
нескольких маршрутов. Однако нет необходимости отдельно рассчитывать
время для каждого направления сложного маршрута ввиду того, что порядок
сегментов не вносит изменений в формулу.
Время задержки подтверждения сигнала определяется на основе измерения
задержки на каждый метр определенного типа кабеля, использующегося в
сети, плюс константы дополнительной задержки для каждого узла и
повторителя, через которые проходит рассчитываемый маршрут. В табл. 8.12
перечислены коэффициенты задержки для различных сетевых компонентов.
Таблица 8.12. Время задержки для компонентов сети Fast Ethernet
Компонент Задержка (в единицах времени
прохождения бита)
Сегмент кабеля UTP категории 3 1,14/метр
Сегмент кабеля UTP категории 4 1,14/метр
Сегмент кабеля UTP категории 5 1,112/метр
Сегмент кабеля STP 1,112/метр
Сегмент оптоволоконного кабеля 1,О/метр
Два узла 100BaseTX/1 OOBaseFX 100
Два узла 100BaseT4 138
Один узел 100BaseTX/1 OOBaseFX и один узел 127
100BaseT4
Концентратор класса I 140
Концентратор 100BaseTX/1 OOBaseFX класса II 92
Концентратор 100BaseT4 класса II 67
Для того чтобы вычислить время кругового обращения сигнала для
наихудшего маршрута через сеть, необходимо умножить длину каждого сегмента
кабеля на значение коэффициента задержки из таблицы и сложить их
вместе. Помимо этого обязательно следует прибавить соответствующие
константы для узлов и концентраторов, а также время прохождения 4 битов для
242
Часть III. Сетевые протоколы
обеспечения запаса надежности. Если полученное значение меньше, чем
512, то маршрут соответствует стандарту Fast Ethernet. Таким образом,
вычисления для сети, показанной на рис. 8.14, будут следующими:
(150 * 1,112) + 100 + (2 * 92) + 4 =454,8
(единиц времени прохождения бита)
Здесь 150 м кабеля категории 5 умножаются на коэффициент задержки 1,112
на каждый метр, что дает задержку 166,8, прибавляется 100 для двух узлов
100BaseTX, а также приплюсовываются задержки для двух концентраторов
по 92 единицы времени прохождения бита на каждый и дополнительная
задержка времени прохождения 4 битов для надежности. В результате общее
время задержки будет равняться времени прохождения 454,8 битов, что не
выходит за пределы ограничения в 512 бит.
( Совет )
Как и в вычислениях для обычного Ethernet, можно избежать измерения длины
сегментов кабеля и вместо этого использовать в расчетах максимальную
допустимую длину сегментов. Только в случае, если результат вычислений
выйдет за пределы, установленные спецификацией, придется учитывать реальную
протяженность сегментов.
Концентаратор
класса II
Концентаратор
класса II
50 метров
50 метров
50 метров
Рис. 8.14. Представленный наихудший маршрут соответствует
ограничениям времени задержки распространения сигнала
туда и обратно, определенным в стандарте Ethernet
Вычисление значения задержки кабеля
Значения задержек для различных типов кабеля, приведенные в табл. 8.13,
базируются только на классе кабеля. Если есть желание достигнуть в
вычислениях еще более высокой точности, а также имеются необходимые
спецификации от производителя кабеля, то можно вычислить значение задержки
для определенного кабеля.
Чтобы сделать это, необходимо найти в спецификации для кабеля значение
отношения скорости передачи сигналов к скорости света, обычно оно
упоминается как номинальная скорость распространения сигнала (NVP, Nominal
Velocity of Propagation). В случае, если данная характеристика определена, мож-
Глава 8. Ethernet
243
но использовать значение из табл. 8.12 для того, чтобы установить
коэффициент задержки для определенного кабеля. Используйте имеющееся
значение вместо более общих коэффициентов, предлагаемых в табл. 8.13.
^ Примечание ^Д
Некоторые производители приводят значение NVP в процентном отношении.
В этом случае необходимо разделить количество процентов на 100 и найти
соответствующее значение в нижеследующей таблице в столбце NVP.
Таблица 8.13. Значения номинальной скорости распространения (NVP)
и их эквиваленты в единицах времени распространения битов
NVP
0,4
0,5
0,51
0,52
0,53
0,54
0,55
0,56
0,57
0,58
0,5852
0,59
0,6
0,61
Наносекунды/
метр
8,34
6,67
6,54
6,41
6,29
6,18
6,06
5,96
5,85
5,75
5,70
5,65
5,56
5,47
Время
распространения
бит/метр
0,834
0,667
0,654
0,641
0,629
0,618
0,606
0,596
0,585
0,575
0,570
0,565
0,556
0,547
NVP
0,62
0,63
0,64
0,65
0,654
0,66
0,666
0,67
0,68
0,69
0,7
0,8
0,9
Наносекунды/
метр
5,38
5,29
5,21
5,13
5,10
5,05
5,01
4,98
4,91
4,83
4,77
4,17
3,71
Время
распространения
бит/метр
0,538
0,529
0,521
0,513
0,510
0,505
0,501
0,498
0,491
0,483
0,477
0,417
0,371
Автоматическое согласование
Сейчас фактически все продаваемые адаптеры Fast Ethernet являются двух-
скоростными устройствами, то есть могут передавать данные со скоростью
10 Мбит/с и 100 Мбит/с. Это помогает упростить процесс модернизации
сети lOBaseT до Fast Ethernet. К тому же, стандарт Fast Ethernet определяет
систему автоматического согласования, которая позволяет двухскоростному
устройству определить возможности сети, к которой оно подключено, и
подобрать максимально возможную скорость. Механизм автоматического со-
244
Часть III. Сетевые протоколы
гласования (autonegotiation) Fast Ethernet основывается на сигналах импульса
быстрой связи (FLP, fast link pulse), которые являются разновидностью
сигналов импульса нормальной связи (NLP, normal link pulse), используемых в сетях
lOBaseT и lOBaseFL.
Оборудование сетей Ethernet вырабатывает сигналы NLP для проверки
целостности соединения между двумя устройствами. Системы Fast Ethernet,
способные работать на нескольких скоростях, вместо них передают сигналы
FLP, в которые вкладываются 16-разрядные пакеты данных — так
называемые FLP-пакеты (FLP burst). Такой пакет содержит слово кода связи (LCW,
link code word), состоящее из двух полей: поля селектора (selector field) и поля
технологических особенностей (technology ability). Вместе эти поля
характеризуют возможности передающего устройства, такие как наибольшая скорость
передачи и способность к дуплексному обмену данными.
Поскольку FLP-пакет имеет такую же продолжительность (2 наносекунды)
и период (16,8 наносекунды), как NLP-пакет, стандартная система Ethernet
может просто игнорировать LCW и воспринимать передачу как обычную
проверку целостности соединения. Когда принимающая сторона отвечает
отправителю, многоскоростная система переводит себя в режим работы на
скорости 10 Мбит/с, применяя для этого технику, называемую параллельным
детектированием (parallel detection). Этот метод также применим к
устройствам Fast Ethernet без возможности многоскоростной работы.
Когда два устройства Fast Ethernet, способные работать на нескольких
скоростях, выполняют автодиалог, они определяют наилучший уровень
производительности, общий для обоих устройств, и конфигурируют себя
соответственно. При сравнении своих возможностей системы используют
следующий список приоритетов, с учетом того, что полнодуплексный 100BaseTX
обеспечивает наилучшее быстродействие, а полудуплексный lOBaseT —
наихудшее.
□ 100BaseTX (дуплексный).
□ 100BaseT4.
□ 100BaseTX.
□ lOBaseT (дуплексный).
□ lOBaseT.
Полезность автоматического согласования состоит в том, что оно позволяет
администраторам постепенно производить модернизацию сети до Fast
Ethernet с минимальным количеством перенастроек. Например, если во всех
рабочих станциях установлены двухскоростные 10/100 сетевые адаптеры, то
при использовании концентраторов lOBaseT сеть может нормально
функционировать со скоростью 10 Мбит/с. Позже можно заменить
концентраторы на модели, поддерживающие Fast Ethernet, и сетевые адаптеры во время
следующей перезагрузки системы автоматически переконфигурируют себя
Глава 8. Ethernet
245
на режим работы с большей скоростью. Перенастраивать рабочие станции
вручную не требуется.
Модернизация сети Ethernet
Два наиболее типичных вида модернизации, производимых в сети Ethernet —
это добавление новых компьютеров и переход на Fast Ethernet. Следующие
разделы описывают процедуры, входящие в эти виды модернизации, и
наиболее часто встречающиеся проблемы, связанные с ними.
Добавление рабочих станций
Добавление в сеть Ethernet новых рабочих станций по большей части чисто
механическая работа. В зависимости от сетевой среды передачи данных
необходимо проделать какие-либо из нижеуказанных действий.
□ В сети "толстый Ethernet" присоединить новые "зубы вампира" к
коаксиальному кабелю и подключить кабели к компьютерам при помощи
внешнего MAU (трансивера) и AUI-кабеля.
□ В сети "тонкий Ethernet" присоединить к Т-образному коннектору одной
из уже подключенных к сети рабочих станций новый отрезок
коаксиального кабеля, а другой конец отрезка присоединить к Т-коннектору новой
рабочей станции. Затем к другому концу Т-коннектора новой рабочей
станции подключить старый кабель.
□ В сети UTP или оптоволоконной сети вставить один конец нового кабеля
в свободный порт концентратора, а другой конец кабеля — в новый
компьютер. В случае внутренней разводки кабельной системы можно
использовать коммутационные кабели для того, чтобы соединить
концентратор с портом коммутационной панели, а компьютер — с настенной
розеткой, соответствующей порту панели.
Сложности обычно возникают из-за достижения позволенного для
коаксиального сегмента максимального количества узлов, отсутствия свободных
портов концентратора или превышения ограничений длины сегмента
кабеля. В некоторых случаях можно обойти эти проблемы без капитальной
реконструкции сети, но в случае, если достигнуты предельные значения для
конфигурации сети, то, может быть, пришло время решиться на более
основательную модернизацию.
Расширение сети топологии "шина"
Когда в сеть "тонкий" или "толстый" Ethernet добавляются рабочие станции,
то основная опасность заключается в слишком большом количестве узлов
на сегмент кабеля. Ранее в этой главе говорилось, что спецификации
кабельной системы Ethernet имеют заложенный в них запас "прочности", ко-
246
Часть III. Сетевые протоколы
торый обычно позволяет до некоторого уровня превысить нормативы
конфигурации сети. Пока максимальная длина сегментов соответствует
спецификациям, можно без проблем размещать в сегменте толстого Ethernet до
ПО узлов, и до 35 — в сегменте тонкого Ethernet (вместо нормативных 100 и
30 соответственно).
Превышение максимальной длины сегмента — это проблема, в основном
присущая-сетям "тонкий Ethernet", так как добавление к сети новой рабочей
станции означает присоединение очередного отрезка кабеля. В сетях
"толстый Ethernet" к уже проложенному кабелю просто добавляются новые
подсоединения. С другой стороны, если новые добавления рабочих станций
довели длину сегмента тонкого Ethernet до 210 или 220 м, то сеть будет
продолжать работать нормально до тех пор, пока количество узлов меньше или
равно 30. Превышение граничной длины или предельного количества узлов
не рекомендуется, поскольку оно значительно повышает риск неправильной
работы сети.
Если расширение сети привело к превышению максимальной
рекомендованной длины сегмента, то где-то в середине кабеля можно добавить
повторитель, что предотвратит затухание, которое является основным
источником проблем в сверхдлинных коаксиальных сетях. Когда добавляется
повторитель, необходимо также учитывать норматив, предписывающий
максимальное количество повторителей, допустимое для сети. С другой
стороны, вероятно, можно поставить один избыточный повторитель, если
сеть соответствует всем остальным спецификациям. Только в случае, если
спецификации нарушаются в двух направлениях, есть причина начать
беспокоиться.
Когда в коаксиальную сеть добавляются узлы, важно соблюдать нормативы,
задающие минимальное требуемое количество кабеля между рабочими
станциями. В действительности менее опасно превысить длину сегмента, чем
сохранить ее прежней за счет размещения узлов слишком близко друг к
другу. Коаксиальный кабель в сети "толстый Ethernet" обычно размечается
черными полосками через каждые 2,5 м. Это — минимальное безопасное
расстояние между точками подключения к кабелю. В сети "тонкий Ethernet"
каждый отрезок кабеля должен иметь длину не меньше, чем 0,5 м. Обычно
данное условие не вызывает проблем, но даже если есть два компьютера,
расположенных так, что они почти соприкасаются, для безопасности
необходимо использовать отрезок кабеля длиной не меньше метра.
Расширение сети топологии "звезда"
Нет ничего проще добавления узлов в сеть Ethernet на основе витой пары, в
случае, если есть свободные порты концентратора и необходимые куски
кабеля. Хотя, если недостает какого-либо из этих компонентов, то иногда
представимы относительно простые решения.
Глава 8. Ethernet
247
В сети lOBaseT в то место, где не хватает длины отводов кабеля или
свободных портов концентраторов, можно добавить мини-концентратор. Как и в
коаксиальной сети, если на пути наихудшего маршрута через сеть имеется на
один концентратор больше, чем это предписывается спецификацией, то
проблемы возникнуть не должно. Также, учитывая, что концентраторы lOBaseT
работают как повторители, можно использовать мини-концентратор для
подключения рабочей станции, расположенной от основного концентратора
на расстоянии, большем 100 м.
Однако в сетях Fast Ethernet положение дел существенно отличается.
Допуски, встроенные в спецификации Fast Ethernet, намного меньше, чем в
классическом Ethernet. Превышение рекомендованной длины кабеля, и в
особенности количества повторителей, стандартом сильно не одобряется.
Если традиционный Ethernet или Fast Ethernet достигают размера, когда нет
возможности увеличить количество узлов, то решением этой проблемы
может стать разделение одной области коллизий на две. Чтобы осуществить
это, необходимо добавить устройство, которое выполняло бы фильтрацию
сетевого трафика при передаче его через себя, например, такое как
коммутирующий концентратор. В отличие от ретранслирующих концентраторов,
которые являются чисто электрическими устройствами, усиливающими и
передающими все без разбора принимаемые сигналы, коммутаторы
считывают заголовки пакетов и переправляют входящий трафик только через тот
порт, для которого он предназначен.
^ Примечание ]Д
Для получения более подробной информации о расширении сети при помощи
коммутаторов см. главу 6.
Модернизация до Fast Ethernet
Вследствие того, что Fast Ethernet очень схож со стандартом Ethernet,
модернизация сети от 10 Мбит/с к 100 Мбит/с часто может быть достаточно
простым делом. Ключевым решением, упрощающим эту процедуру,
является задействование доступных сегодня двухскоростных устройств. Поначалу
все устройства Fast Ethernet были односкоростными, и для рабочих станций
lOBaseT и 100BaseT приходилось иметь разные концентраторы.
Помимо этого, любые серверы, доступ к которым был необходим на обеих
скоростях, должны были иметь отдельные платы сетевых адаптеров на 10 и
100 Мбит/с. Каждый адаптер наряду с рабочими станциями соединялся с
соответствующим по скорости концентратором. Модернизация рабочей станции
до Fast Ethernet означала установку в компьютер новой платы сетевого
адаптера и подключение кабеля к другому концентратору.
248
Часть III. Сетевые протоколы
Модернизация сетевых
адаптеров и концентраторов
Сегодня фактически все сетевые адаптеры Fast Ethernet — двухскоростные,
помимо этого также доступно множество двухскоростных концентраторов.
Существующее положение дел предоставляет администратору сети полную
свободу при осуществлении модернизации. Согласно экономическим
соображениям и расписанию работы модернизация сети до Fast Ethernet может
производиться постепенно в любом желаемом темпе.
В случае, если в настоящее время используется сеть lOBaseT, и имеются
только отдаленные планы модернизировать ее до Fast Ethernet, во все рабочие
станции следует устанавливать сетевые адаптеры 10/100 и думать о том, чтобы
заменить старые адаптеры, когда это позволит время. Двухскоростные сетевые
адаптеры лишь незначительно дороже адаптеров lOBaseT, в особенности, если
приобретать их оптом. Фактически, чем большее распространение будет
получать Fast Ethernet, вероятно, тем более редкими и дорогими по сравнению с
двухскоростными адаптерами будут платы lOBaseT.
Другая половина уравнения — это концентратор Fast Ethernet. Если
приобрести концентраторы, поддерживающие только Fast Ethernet, то либо придется
ждать, пока не будут установлены двухскоростные адаптеры, либо
планировать поддержку концентраторов lOBaseT для рабочих станций оригинального
Ethernet до тех пор, пока рабочие станции не будут модернизированы. В
случае модернизации рабочей станции и установки в нее сетевого адаптера Fast
Ethernet ее также необходимо подключить к новому концентратору.
Однако, если приобрести двухскоростные концентраторы, то можно
полностью заменить ими старые концентраторы и подключить к ним все рабочие
станции вне зависимости от поддерживаемой скорости. Механизм
автоматического согласования Fast Ethernet дает возможность каждому сетевому
адаптеру и порту концентратора работать на наивысшей доступной
скорости. Как только сетевые адаптеры рабочих станций будут модернизированы,
они автоматически установят оптимальную скорость без какой-либо
перенастройки концентратора.
Модернизация кабельной системы
В большинстве случаев Fast Ethernet предназначен для использования уже
разведенного кабеля UTP. Если проложен кабель категорий 3 или 4, то
можно выбрать 100BaseT4, если категории 5 — то 100BaseTX. Конфигурации
100BaseTX и 100BaseT4 требуют разных сетевых адаптеров и
концентраторов, поэтому при покупке сетевого оборудования необходимо выбрать
правильные компоненты, подходящие для конкретной сети.
В сравнительно несложной сети переход на Fast Ethernet может заключаться
в простой замене сетевых адаптеров и концентраторов без каких-либо изме-
Глава 8. Ethernet
249
нений в кабельной системе. Поскольку максимальная длина сегментов такая
же (100 м), то проблем с расположением концентраторов относительно
рабочих станций не должно возникнуть. Однако влияющее в большей степени
дополнительное ограничение стандарта Fast Ethernet заключается в
допустимом числе концентраторов.
Если в сети можно выделить маршруты между рабочими станциями,
которые проходят через три или четыре концентратора, то для использования
Fast Ethernet необходимо переработать архитектуру сети, так как нельзя
пренебрегать ограничением максимального количества концентраторов класса II
(2 концентратора). Чтобы остаться в пределах нормативов Fast Ethernet,
может понадобиться убрать некоторые из транзитных участков сети. Это
можно сделать, разделив сеть на две или более области коллизий, так чтобы
путь между двумя любыми рабочими станциями состоял не более чем из
двух транзитов. Для этой цели применяется коммутирующий концентратор
или устройство, функционирующее на более высоком уровне модели OSI,
например, такое как маршрутизатор. (Помните, что сочетание различных
типов кабеля при помощи концентратора класса I вносит ограничение
только в один транзит.)
Разделение сети на несколько областей коллизий проще в случае, если все
концентраторы собраны в одном месте, таком как информационный центр
или монтажный шкаф. Если сеть более рассредоточенная, и
мини-концентраторы расположены в различных местах, то может потребоваться
трудоемкий процесс по согласованию сети со спецификациями Fast Ethernet.
Неисправности Ethernet
Неисправности в сети Ethernet часто связаны с возникновением проблем на
Физическом уровне, таких как неисправный кабель или соединение, или,
возможно, с нарушением работоспособности платы сетевого адаптера или
концентратора. Когда сетевое соединение совершенно потеряно, следует
немедленно начать проверять кабель и другое оборудование на наличие
дефектов. Если выявлено снижение производительности сети, то это может
быть вызвано воздействием определенных рабочих станций. Иногда более
точную причину регистрируемых неполадок можно определить в результате
анализа ошибок Ethernet, возникающих в сети.
Ошибки Ethernet
Далее рассматриваются некоторые ошибки, которые могут возникнуть в сети
Ethernet. Некоторые из них встречаются достаточно часто, в то время как
другие сравнительно редки. Выявление этих ошибок обычно требует
специальных инструментов, разработанных для анализа сетевого трафика. Стан-
250
Часть III. Сетевые протоколы
дартные профаммные средства, такие как Network Monitor в Windows NT или
Monitor.nlm в Novell NetWare, могут детектировать некоторые из ошибок,
например, количество ранних коллизий и ошибки в контрольной
последовательности кадра. Другие нарушения, подобные поздним коллизиям, намного
более трудно выявить, и для этого может требоваться профессиональное про-
фаммное обеспечение и специальное оборудование для диагностики.
□ Ранние коллизии. Строго говоря, это — даже не ошибки, так как
возникновение коллизий для сетей Ethernet естественно, но слишком большое
количество конфликтов (ненамного выше 5 процентов от общего числа
пакетов) сигнализирует о том, что сетевой фафик достиг критического уровня.
Здравой идеей является регулярное (раз в неделю) отслеживание
количества коллизий в сети. Если будет отмечен рост числа коллизий, то можно
либо попытаться уменьшить объем сетевого фафика, либо разбить сеть на
две области коллизий или переместить некоторые узлы в другую сеть.
□ Поздние коллизии. Поздние коллизии всегда являются причиной для
беспокойства, при этом их трудно обнаружить. Обычно они свидетельствуют
либо о том, что данные слишком долго следуют по сети, либо сегменты
кабеля слишком длинные, либо же в сети слишком много повторителей.
Плата сетевого адаптера с неисправной схемой конфоля несущей также
может стать причиной поздних коллизий. Сетевые анализаторы, которые
в состоянии отследить поздние коллизии, могут быть очень дорогими, но
для больших корпоративных сетей это крайне полезная трата средств.
Так как поздние коллизии вызывают потерю пакетов и повторную их
передачу протоколами верхних уровней, то иногда можно выявить
появление поздних коллизий по тенденции повторных передач Сетевого уровня
(например, протокола IP) при помощи стандартного анализатора
протоколов, подобного Network Monitor.
□ Пакеты-"карлики". Карлик (runt) — это пакет длиной меньше, чем 64
байта, появление которого обусловлено неисправностью сетевого адаптера
или порта концентратора, или вызвано узлом, который прервал передачу
в середине пакета, поскольку обнаружил возникновение коллизии.
Появление определенного количества пакетов-карликов является обычным
результатом работы механизма выявления коллизий, но состояние, когда
пакетов-карликов больше, чем конфликтов, свидетельствует об
аппаратной неисправности устройства.
□ Пакеты-"гиганты". Гигант (giant) — это пакет размером, превышающим
максимум для Ethernet, равный 1518 байт. Проблема обычно вызвана
платой сетевого адаптера, которая передает неправильные пакеты (jabbering),
или (что более вероятно) повреждением указателя длины в заголовке
пакета во время передачи. Возникновение "гигантов" никогда не является
нормальным. Оно свидетельствует о неисправности оборудования или
кабеля.
Глава 8. Ethernet
251
□ Ошибки выравнивания. Пакет, завершающийся неполным байтом (то есть
пакет, длина которого, выраженная в битах, не кратна 8), называется
невыравненным (misaligned). Этот обрыв может быть результатом ошибки в
формировании пакета (в создающем пакет сетевом адаптере) или
свидетельством повреждения пакета во время передачи по сети. Большинство
невыравненных пакетов также имеют ошибки CRC.
□ Ошибки CRC. Для пакетов, в которых контрольная последовательность
кадра, созданная передающим узлом, не соответствует значению,
вычисленному принимающим узлом, регистрируется так называемая ошибка
CRC. Проблема может быть вызвана повреждением данных во время
передачи (из-за неисправного кабеля или другого соединительного
устройства) или, возможно, сбоем в механизме вычисления контрольной
последовательности кадра на принимающем или передающем узле.
□ Широковещательный шторм. Когда плохо сформированная
широковещательная передача вынуждает другие узлы в сети генерировать свои
собственные широковещательные пакеты со скоростью 126 и более пакетов в
секунду, в результате возникает саморазвивающийся процесс, известный
как широковещательный шторм (broadcast storm). Вследствие того, что
широковещательные сообщения обрабатываются прежде остальных кадров,
"шторм" фактически блокирует передачу любых других данных.
Выявление проблемы
Всякий раз, когда не соблюдена любая из спецификаций Ethernet (или
спецификация любого из протоколов), в случае, если возникла проблемная
ситуация, первым делом следует обратить внимание на то место, где имеются
отклонения от нормативов. Например, если превышена максимальная длина
сегмента, то следует попытаться убрать излишнюю длину для того, чтобы
проверить, не исчезнет ли проблема. В сети "тонкий Ethernet" эта проверка
обычно означает соединение компьютеров кабелем, обходящим стороной
некоторые из рабочих станций, которые надо временно исключить из
сегмента. В сети UTP — присоединение тех же самых компьютеров к тем же
портам концентратора, но уже при помощи более короткого кабеля.
Если к коаксиальной шине (тонкого или толстого Ethernet) подключено
слишком много рабочих станций, то проблему "перенаселенности" можно
выявить простым выключением питания некоторых машин.
Превышение количества транзитов через повторители в сети UTP — это
ситуация, поддающаяся проверке в случае, если проблемы наиболее часто
возникают на маршрутах с большим количеством транзитов. Для того чтобы
исключить из определенного маршрута несколько транзитов, можно
попробовать пустить кабель в обход некоторых из концентраторов. Это
сравнительно просто сделать в случае, когда все концентраторы расположены в
одной монтажной стойке или в одном информационном центре, но если
252
Часть III. Сетевые протоколы
концентраторы разбросаны по всему зданию, то может понадобиться
временно отсоединить некоторые из них для того, чтобы уменьшить размеры
области коллизий на время проведения теста. То же самое будет верно и для
коаксиальной сети, в которой основной функцией повторителей является
расширение диаметра области коллизий. Чтобы изолировать проблему,
следует по очереди отсоединять кабель от каждого из повторителей (помня, что
каждый раз ^адо устанавливать на конце шины терминатор).
Уменьшение размера области коллизий — также хороший способ найти
место неисправности кабеля. В сети UTP, использующей топологию "звезда",
обрыв кабеля влияет только на одну систему. В то время как в коаксиальной
сети, применяющей шинную топологию, простое повреждение сегмента
кабеля может вывести из строя всю сеть. В многосегментной ЛВС, по очереди
"закрывая" шину терминатором на каждом повторителе, можно выявить, в
каком из сегментов находится неисправность.
Лучший, хотя и более дорогой, способ определения места возникновения
неприятностей с кабелем заключается в применении электронного тестера
кабеля. Такие устройства могут точно указать местоположение повреждения.
Для получения более подробной информации об устройствах тестирования
и диагностики сети см. главу 28.
Глава 9
Token Ring
и 10OVG Any LAN
Хотя подавляющее большинство локальных сетей для соединения рабочих
станций применяют одну из разновидностей Ethernet, другие протоколы
Канального уровня предоставляют свои собственные уникальные
преимущества. Главным среди этих преимуществ является использование
механизмов управления доступом к среде, отличных от CSMA/CD. 100VG Any LAN
и Token Ring — это жизнеспособные протоколы ЛВС, которые решают
проблему совместного использования сетевого кабеля различными способами.
Token Ring
Token Ring — это альтернатива "классическому" протоколу Ethernet на
Канальном уровне. Сторонники Token Ring стойко придерживаются этой
технологии, и, несмотря на то, что она вряд ли даже приблизится по популярности
к Ethernet, Token Ring еще далек от того, чтобы сойти с дистанции. Ранний
стандарт Token Ring был разработан IBM и немного позднее принят
комитетом IEEE (IEEE 802.5). Сегодня, подобно Ethernet, существуют и слегка
отличающиеся от него де-факто стандарты. Однако, в последнее время на рынке в
основном встречаются продукты, отвечающие спецификациям IEEE.
Наибольшее отличие между Token Ring и Ethernet заключается в механизме
управления доступом к среде передачи данных. Чтобы передать свои данные,
рабочая станция Token Ring должна захватить маркер (token) — специальный
пакет, циркулирующий последовательно от узла к узлу. Только система,
обладающая маркером, может осуществить передачу данных, после чего она
должна переслать маркер следующей системе. Это само по себе устраняет
возможность возникновения коллизий в правильно функционирующей сети, так же,
как и потребность в использовании механизма выявления коллизий.
Token Ring к тому же быстрее, чем классический Ethernet. Хотя изначально
технология разрабатывалась для скорости 4 Мбит/с, большинство
современных реализаций рассчитаны на 16 Мбит/с. Также существует стандарт Fast
Token Ring, еще более увеличивший пропускную способность, достигающую
100 Мбит/с, делая ее в этом отношении равной скорости Fast Ethernet.
254
Часть III. Сетевые протоколы
Физический уровень Token Ring
Как видно из названия, узлы в сети Token Ring соединены в соответствии с
топологией "кольцо" (ring). По существу, это — шина, концы которой
соединены друг с другом. Таким образом, системы могут передавать данные
следующему узлу сети до тех пор, пока они не вернутся к источнику. Это в
точности описывает, каким образом работает протокол. Система,
отправившая пакет, также отвечает за удаление его из сети после того, как он
пройдет по кольцу.
Тем не менее, указанное кольцо является логическим, а не физическим. Это
означает, что сеть во всех своих внешних проявлениях имеет форму
топологии "звезда" с рабочими станциями, подключенными к центральному
концентратору, называемому МАИ (иногда MSAU (Multistation Access Unit,
модуль множественного доступа)). Логическое кольцо — в действительности
функция MAU, который принимает пакеты, переданные одной системой, и
поочередно направляет их через каждый последующий порт, дожидаясь при
этом, пока пакеты не вернутся обратно по тому же кабелю, прежде, чем
передать их через следующий порт (рис. 9.1). Таким образом, согласно этой
схеме передающее и принимающее
устройства каждой рабочей станции фактически
являются отдельными портами, которые
просто используют один и тот же кабель,
так как система всегда передает данные
следующей в основном направлении
системе и принимает данные от системы,
следующей в направлении, противоположном
основному.
^^JagL
G3S
Рис. 9.1. Сети Token Ring выглядят как сети
топологии "звезда", но данные в них
передаются по кольцу
Типы кабеля
Оригинальная реализация Token Ring фирмы IBM использовала
запатентованную кабельную систему, разработанную IBM, которая выступает под
названиями Туре 1 или IBM Cabling System (ICS, кабельная система IBM).
Порты MAU рассчитаны на запатентованные коннекторы, именованные как
IBM Data Connector (IDC) или Universal Data Connector (UDC), а платы
сетевых адаптеров — на коннекторы DB9. Кабель с IDC на каждом конце,
применяемый для соединения MAU друг с другом, называется коммутационным
кабелем (patch cable) или магистральным кабелем (trunk cable), в то время как
кабель с одним IDC и одним DB9 для подключения MAU к рабочей
станции называется ответвительным (абонентским) кабелем (lobe cable).
Глава 9. Token Ring и 100VG AnyLAN
255
Кабельная система Type 3 базируется на стандартной неэкранированной
витой паре (UTP) категории 5 и сегодня почти совершенно вытеснила Туре 1.
Подобно Ethernet, Token Ring использует только две из витых пар в кабеле,
одну пару для передачи данных и одну — для их приема. В кабельной
системе Туре 3 на обоих концах магистральных и абонентских кабелей
размещаются коннекторы RJ-45, также нашедшие широкое применение в
Ethernet. Вместе с этим, система кодирования сигналов, передаваемых в сетях
Token Ring на Физическом уровне, отличается. Token Ring использует
разностное манчестерское кодирование, в то время как в Ethernet применяется
другой его вариант.
^ Примечание jjj
Для получения более подробной информации о кабелях для сетей Token Ring
и передаче сигналов на Физическом уровне см. главу 4.
Кабель Туре 1 толще и сравнительно жестче по сравнению с Туре 3, а IDC-
соединители больше по размеру; все это затрудняет внутреннюю прокладку
кабеля. Однако кабель Туре 1, в отличие от Туре 3, позволяет передавать
сигналы на большие расстояния. В табл. 9.1 перечислены основные
нормативы кабельной системы для сетей Token Ring.
Таблица 9.1. Нормативы кабельной системы для сетей Token Ring
Кабель Туре 1 Кабель Туре 3
Максимальная длина абонентского кабеля 300 метров 150 метров
Максимальное количество рабочих станций 260 72
Максимальная длина кольца для 16 Мбит/с 160 метров 60 метров
Максимальная длина кольца для 4 Мбит/с 360 метров 150 метров
Максимальное количество 8-портовых MAU 32 9
|^ Примечание ^Д
Соглашения Физического уровня для сетей Token Ring определены не так
точно, как для Ethernet. В действительности стандарт IEEE 802.5 является
довольно кратким документом, не содержащим спецификаций Физического уровня
вовсе. Типы кабеля и стандарты кабельной системы для Token Ring выработаны
создателями и сторонниками протокола Token Ring, исходя из практического
опыта использования сетевого оборудования IBM. В результате, оборудование
от других производителей может отличаться от рекомендаций для элементов
Физического уровня в таких моментах, как длины кабеля и максимальное
допустимое в сети количество рабочих станций.
256
Часть III, Сетевые протоколы
Сетевые адаптеры для Token Ring
Платы сетевых адаптеров для систем Token Ring по внешнему виду похожи на
адаптеры для Ethernet. Сегодня на рынке для сетевых плат предлагаются
преимущественно коннекторы RJ-45 для кабеля UTP, хотя также доступны платы
с коннекторами DB9 и внутренними разъемами, поддерживающие все
основные системные шины, включая PCI и ISA. Каждый адаптер Token Ring
содержит набор микросхем VLSI (Very Large Scale Integration, сверхмасштабная
интеграция), который состоит из пяти отдельных процессоров. Каждый
процессор отвечает за определенное состояние или функцию адаптера и имеет
свой отдельный исполняемый код и память для хранения данных.
MAU для Token Ring
Для поддержки логического кольца все MAU в сети Token Ring должны
быть соединены посредством портов ввода-вывода Ring In и Ring Out,
предназначенных именно для этой цели. Рис. 9.2 иллюстрирует, как общее
кольцо, образованное кабельными соединениями между MAU, расширяется за
счет абонентских кабелей, отведенных к каждой рабочей станции.
Рис. 9.2. MAU в сети Token Ring формируют основное кольцо, которое
расширяется посредством добавления в сеть рабочих станций
Глава 9. Token Ring и 100VG AnyLAN
257
MAU для Token Ring (не путать с MAU для Ethernet или medium access
unit — модулем доступа к среде передачи) в нескольких аспектах достаточно
значительно отличаются от концентраторов Ethernet. Во-первых, типичный
MAU является пассивным устройством, то есть не реализует функций
повторителя. Нормативы для кабельной системы Token Ring базируются на
использовании пассивных MAU. Однако на рынке присутствуют
ретранслирующие MAU, которые позволяют увеличить длину сетевого кабеля сверх
назначенной стандартом.
Во-вторых, порты всех MAU остаются в закольцованном состоянии (loopback
state) до тех пор, пока они не будут проинициализированы рабочей
станцией, подключенной к ним. В закольцованном состоянии MAU направляет
сигналы, получаемые от предыдущего портаг прямо следующему порту без
передачи по абонентскому кабелю. Когда рабочая станция загружается, она
передает MAU некое постоянное напряжение, называемое "фантомным"
напряжением (phantom voltage). Фантомное напряжение не переносит данных,
оно просто информирует MAU о присутствии рабочей станции, вынуждая
MAU добавить ее в кольцо. Вследствие обязательного наличия такого
процесса инициализации невозможно соединить вместе две сети Token Ring без
использования MAU, как это позволяет Ethernet.
Системы Ethernet, построенные по топологии "звезда", соединяют
концентраторы в конфигурацию "дерево", в которой один концентратор может
быть соединен с несколькими другими, каждый из которых, в свою очередь,
соединяется со следующими концентраторами, и так далее, как показано на
рис. 9.3. MAU Token Ring всегда соединены в кольцо. Порт Ring In
соединен с предшествующим MAU, а порт Ring Out - то же с последующим
MAU. Даже если в сети всего два MAU, необходимо у каждого из них
связать порт Ring In с портом Ring Out другого MAU при помощи двух
коммутационных кабелей.
Рис. 9.3. Концентраторы Ethernet (слева) соединены в конфигурацию "дерево",
a MAU сети Token Ring (справа) объединяются в кольцо
258
Часть III. Сетевые протоколы
Соединения между MAU сети Token Ring являются избыточными. То есть,
если неисправность кабеля или соединения вызовет разрыв связи между
двумя MAU, то соседние MAU будут передавать любые данные, достигшие
их, обратно в другом направлении. Таким образом, пакеты всегда будут
достигать всех рабочих станций, присоединенных к сети. Стандарты Token Ring
применяют спецификацию, называемую скорректированной длиной кольца
(adjusted ring length), для определения общей длины пути, проходимого
данными в случае такого типа неисправности.
Вычисление скорректированной длины кольца
Для того чтобы вычислить скорректированную длину кольца сети Token
Ring, необходимо просуммировать длины всех коммутационных кабелей
между монтажными шкафами, вычесть размер самого короткого
коммутационного кабеля, соединяющего два монтажных шкафа, после чего выполнить
несколько поправочных действий.
1. Добавить 3 м для каждого соединения кабеля с монтажным блоком на
пути между двумя MAU.
2. Учесть дополнительные 30 м для каждого используемого в сети
стабилизатора напряжения.
3. Увеличить расчетную сумму на 16 м для каждого 8-портового MAU.
Ввиду того, что MAU часто располагаются в монтажных шкафах, стандарт
определяет количество требуемых для сети монтажных шкафов, исходя из
числа MAU, удаленных друг от друга на расстояние большее, чем 3 м.
Расположены ли физически MAU в разных шкафах, или же нет, не имеет значения.
Любые два MAU, соединенные кабелем длиной больше 3 м, считаются
находящимися в разных монтажных шкафах. Коммутационные кабели длиной
короче, чем 3 м, не включаются в вычисления скорректированной длины кольца.
Таким образом, по существу, скорректированная длина кольца — это
наиболее длинный возможный маршрут (также называемый наихудшей
дистанцией) между двумя MAU в сети. Общая скорректированная длина кольца,
умноженная на два, не должна превышать 366 м для того, чтобы сеть
удовлетворяла спецификациям. Сумма скорректированной длины кольца и
удвоенной длины самого длинного абонентского кабеля называется наихудшей
максимальной дистанцией прохождения сигнала адаптера (worst case maximum
adapter signal drive distance) для сети.
^ Примечание ^Д
Все вычисления длины кольца, обсуждаемые в связи с сетями Token Ring,
относятся к сетям с пассивными MAU. В отличие от концентратора Ethernet, Token
Ring MAU не обязательно функционирует как повторитель. Когда применяется
MAU с функцией ретрансляции сигналов, кабели могут быть более длинными, и
их протяженность зависит от возможностей отдельно взятого MAU.
Глава 9. Token Ring и 100VG Any LAN
259
Вычисление максимальной длины
основного кольца
Длина основного кольца (Maximum Main Ring Distance) — это общая длина всех
соединений типа MAU-MAU в сети. Максимальная длина основного кольца
определяется количеством MAU в сети и числом монтажных шкафов,
используемых для MAU. В табл. 9.2—9.5 перечислены максимальные длины
основного кольца для сетей 4 Мбит/с и 16 Мбит/с, разводимых кабелями
Туре 1 и Туре 3.
Таблица 9.2. Максимальные длины основного кольца для кабеля Туре 1
и скорости 16 Мбит/с (в футах и метрах)
1 MAU
2MAU
3MAU
4MAU
5MAU
6MAU
7MAU
8MAU
1 монтажный
шкаф
427/130
416/216
406/123
396/120
385/117
375/117
364/110
364/110
2 монтажных
шкафа
410/124
399/121
389/118
378/115
368/112
357/108
347/105
3 монтажных
шкафа
402/122
382/116
371/113
361/110
350/106
340/103
4 монтажных
шкафа
375/114
364/110
354/107
343/104
333/101
5 монтажных
шкафов
357/108
347/105
336/102
326/99
Таблица 9.3. Максимальные длины основного кольца для кабеля Туре 1
и скорости 4 Мбит/с (в футах и метрах)
1 MAU
2MAU
3MAU
4MAU
5MAU
6MAU
7MAU
8MAU
1 монтажный
шкаф
1220/371
1190/362
1160/353
1130/344
1100/335
1070/326
1040/316
1010/307
2 монтажных
шкафа
1170/356
1140/347
1110/338
1080/329
1050/320
1020/310
990/301
3 монтажных
шкафа
1120/341
1090/332
1060/323
1030/313
1000/304
970/295
4 монтажных
шкафа
1070/326
1040/316
1010/307
980/298
950/289
5 монтажных
шкафов
1010/310
990/301
960/292
930/283
260
Часть III. Сетевые протоколы
Таблица 9.4. Максимальные длины основного кольца для кабеля Туре 3
и скорости 16 Мбит/с (в футах и метрах)
1 MAU
2MAU
3MAU
4MAU
5MAU
6MAU
7MAU
8MAU
1 монтажный
шкаф
210/64
205/62'
200/61
195/59
190/58
186/56
181/55
176/53
2 монтажных
шкафа
202/61
197/60
193/58
188/57
183/55
178/54
173/52
3 монтажных
шкафа
195/59
190/57
185/56
180/54
175/53
170/51
4 монтажных
шкафа
168/56
164/55
160/54
155/52
151/50
5 монтажных
шкафов
179/54
174/52
169/51
165/50
Таблица 9.5. Максимальные длины основного кольца для кабеля Туре 3
и скорости 4 Мбит/с (в футах и метрах)
1 MAU
2MAU
3MAU
4MAU
5MAU
6MAU
7MAU
8MAU
1 монтажный
шкаф
500/150
485/147
470/143
455/138
440/134
425/129
410/124
395/120
2 монтажных
шкафа
475/144
460/140
445/135
430/131
415/126
400/121
385/117
3 монтажных
шкафа
450/137
435/132
420/128
405/123
390/118
375/114
4 монтажных
шкафа
425/129
410/124
395/120
380/115
365/111
5 монтажных
шкафов
400/121
385/117
370/112
355/108
Передача маркера
Доступ к сетевой среде передачи данных в сети Token Ring разрешается
посредством 3-байтового пакета, известного как маркер (token). Когда сеть
свободна, рабочие станции находятся в режиме ожидания входящей посылки.
Маркер непрерывно циркулирует по кольцу от узла к узлу до тех пор, пока
не достигнет рабочей станции, имеющей данные для передачи. Рабочая
станция изменяет в маркере бит настройки монитора (monitor setting bit),
указывая, что сеть занята, и отправляет маркер следующей станции, а сразу
после него передает свой пакет данных.
Глава 9. Token Ring и 100VG AnyLAN
261
Пакет также циркулирует по кольцу. Каждый узел считывает из заголовка
кадра адрес назначения и либо копирует пакет в свой буфер памяти для
дальнейшей обработки и передает его следующему узлу, предварительно
фиксируя в пакете подтверждение приема, либо просто без какой-либо
обработки продвигает пакет дальше. Таким образом, пакет достигает каждого
узла в сети, прежде чем вернуться к станции, изначально отправившей его.
При получении пакета узел, отправивший его ранее, сравнивает полученные
данные с теми, что были переданы им, для того, чтобы выявить наличие
ошибок, которые могли появиться во время передачи. Если выявлены ошибки,
станция повторяет передачу пакета. Если ошибок нет, станция удаляет пакет
из сети и отбрасывает его, затем изменяет значение бита настройки
монитора, освобождая тем самым маркер, и заново посылает его в сеть. Все
системы имеют равные шансы на осуществление передачи данных, и описанный
процесс точно также повторяется для любой из них, захватившей маркер.
Хотя это не является частью исходного стандарта, сегодня большинство
систем Token Ring 16 Мбит/с включают механизм раннего освобождения маркера
(ETR, early token release), который позволяет передающей системе отправить
"свободный" маркер сразу после последнего бита первично переданного
пакета данных (вместо "занятого" маркера перед пакетом данных), не ожидая
возврата этого пакета после прохождения его по кольцу. Таким образом,
следующий узел в сети может получить пакет данных, захватить свободный
маркер и передать свой пакет данных, вслед за которым также отправить
свободный маркер. Такой механизм позволяет нескольким пакетам данных
одновременно сосуществовать в сети, но при этом в ней присутствует все
еще только один маркер. Раннее освобождение маркера устраняет задержку
сети, которая возникает в результате ожидания системами появления
свободного маркера.
^ Примечание ^Д
Раннее освобождение маркера возможно только в сетях Token Ring
16 Мбит/с. Системы, которые поддерживают раннее освобождение маркера,
могут сосуществовать в одной сети с системами, не поддерживающими
данную возможность.
Из-за того, что данные может передавать только система, удерживающая
маркер, в сетях Token Ring невозможно возникновение коллизий до тех пор,
пока нет серьезных неисправностей. Отсюда вытекает, что сеть
может-работать со своей полной пропускной способностью без уменьшения
производительности, которая имеет место в сетях Ethernet. Система передачи маркера
является детерминированной, это означает, что можно вычислить
максимальный промежуток времени, по истечении которого определенный узел
сможет передать данные.
262
Часть III. Сетевые протоколы
Token Ring — не единственный протокол Канального уровня, который
использует передачу маркера для управления доступом к среде передачи
данных. FDDI так же, как и устаревшие протоколы, подобные Arcnet,
поддерживает этот метод доступа. Передача маркера не обязательно возможна
только в сетях с топологией "кольцо". Документ IEEE 802.4 определяет
спецификации для сети с передачей маркера, которая построена в соответствии
с топологией "шина".
Добавление системы
Прежде чем присоединиться к кольцу, рабочая станция должна пройти пя-
тишаговую процедуру добавления в сеть, которая позволяет убедиться в том,
что возможности системы позволяют ей работать в сети (рис. 9.4). Эти пять
шагов перечислены ниже.
1. Проверка абонентской среды передачи данных. Проверка абонентской
среды передачи данных оценивает способность сетевого адаптера
передавать и принимать данные, а также возможность кабеля доставлять
данные к MAU. При обратной передаче через MAU входящий сигнал для
системы возвращается по тому же кабелю, рабочая станция передает
последовательность кадров теста абонентского кабеля (MAC LOBE MEDIA
TEST) с широковещательным адресом и собственным адресом системы в
качестве адреса источника. Затем система передает кадр теста
дублирующего адреса (MAC DUPLICATION ADDRESS TEST). Здесь адрес
передающей системы считается адресом как источника, так и назначения.
Для того чтобы перейти к следующему шагу, система должна успешно
передать 2407 кадров теста абонентского кабеля и один кадр теста
дублирующего адреса. Тестовая последовательность может быть повторена
только два раза до того, как адаптер будет признан неисправным.
2. Физическое добавление. Во время процесса физического добавления
рабочая станция посылает MAU фантомное напряжение (сигнал
постоянного тока низкого напряжения, который не воздействует на любые
сигналы данных, распространяющиеся в кабеле) по абонентскому
кабелю для того, чтобы привести в действие реле, которое вынудит MAU
добавить систему в кольцо. После этого рабочая станция ждет сигнала о
том, что в сети присутствует активный монитор, в форме либо кадра
присутствия активного монитора (AMP, Active Monitor Present), либо
кадра присутствия резервного монитора (SMP, Standby Monitor Present),
либо кадра очистки кольца (ring purge). Если система не получает один
из этих кадров в течение 18 секунд, она инициализирует процесс
"выборов" монитора, в ходе которого системы обмениваются "заявками"
и договариваются, кто из них будет новым активным монитором. Если
процесс выборов не заканчивается в течение одной секунды, или
рабочая станция становится активным монитором и инициализирует чистку
кольца, которая не завершается в течение одной секунды, или если ра-
Глава 9. Token Ring и 100VG AnyLAN
263
бочая станция получает кадр маяка (MAC beacon) или кадр удаления
станции, то установка соединения с MAU считается неудачной и
добавление неуспешным.
Узел передает
MAU кадры
тестирования
аботентского
кабеля
Узел передает
MAU
фантомное
напряжение
Нет
Узел передает
в сеть кадры
теста
дублирующего
адреса
Узел участвует
в опросе кольца
Узел передает
кадры
инициализации
I кольца серверу
параметров
кольца
Добавлена
завершилось }4г
неудачей
ниеЛ
чось Н
-Нет-
/добавление^
Да -W завершилось I
V неудачей J
f Добавление^
■НеТ-Ы завершилось 1
\неудачей ./
/Добавление Л
HeT-W прошло 1
\успешноУ
/^Добавлением
•Нет-W прошло 1
\^ успешно _у
Рис. 9.4. Процедура добавления рабочей станции Token Ring позволяет убедиться
в том, что присоединенная к кольцу система работает правильно
Верификация адреса. Процедура верификации адреса позволяет
проверить, нет ли в кольце другой рабочей станции с тем же адресом.
Возникновение такой ситуации возможно по причине того, что Token Ring
поддерживает адреса, администрируемые локально. Система вырабатывает
последовательность кадров теста дублирующего адреса, подобных кадрам
шага 1, за исключением того, что они распространяются через всю сеть.
Если другой системы с таким же адресом нет, то тестовые кадры должны
вернуться назад с битами ATI и FCI, сброшенными в 0, после этого
система переходит к следующему шагу. Если система получает два тестовых
кадра с битами ATI и FCI, установленными в 1, или если тестовые кадры
264
Часть III. Сетевые протоколы
не возвращаются в течение 18 секунд, то добавление рабочей станции
считается неудачным и она удаляется из кольца.
4. Участие в опросе кольца. Система должна участвовать в опросе кольца,
получая кадры AMP и SMP с битами ARI и FCI, сброшенными в 0,
изменяя значения этих бит на логическую 1 и передавая свои собственные
кадры SMP. Если рабочая станция не получила кадр AMP или SMP в
течение 18 секунд, то добавление рабочей станции считается неудачным и
она удаляется из кольца.
5. Запрос инициализации. Рабочая станция передает по функциональному
адресу сервера параметров кольца сети (СО 00 00 00 00 02) четыре кадра
запроса инициализации (MAC request initialization frame). Если система
получает обратно кадры с битами AR1 и FCI, имеющими нулевое значение, то
это означает, что сервер параметров кольца не работает и сетевой адаптер
системы использует свои значения по умолчанию, а инициализация (так
же, как и добавление системы) считается успешной. Когда система
получает один из своих кадров обратно с битами ARI и FCI, установленными в 1
(указывающими на то, что сервер параметров кольца получил кадр), она в
течение двух секунд ожидает ответа. Если ответа нет, система повторяет
свои попытки до четырех раз, после чего инициализация квалифицируется
как неудачная, и рабочая станция удаляется из кольца.
Состояния системы
В течение времени своего нормального функционирования система Token
Ring может находиться в трех различных рабочих состояниях.
□ Повторение. В состоянии повторения рабочая станция передает
следующему в основном направлении узлу все данные, поступающие к ней
через порт приема. Когда рабочая станция имеет свой собственный пакет,
требующий передачи, она выставляет в 1 бит маркера в байте управления
доступом кадра и переходит в состояние передачи. В то же время таймер
удержания маркера (ТНТ, token holding timer), который позволяет системе
выполнять передачу в течение 8,9 мс, обнуляется.
□ Передача. Перейдя в состояние передачи, рабочая станция отправляет в
сеть один кадр и освобождает маркер. После успешной доставки кадра
рабочая станция передает заполняющую последовательность
(последовательность из логических 1), пока не вернется в состояние повторения.
Если система получает кадр маяка, очистки кольца или кадр маркера-
заявки (Claim Token MAC frame), она прерывает передачу и посылает
кадр прерывания передачи, чтобы очистить кольцо.
□ Удаление. В то время, когда передающий порт рабочей станции
находится в состоянии передачи, ее принимающий порт находится в режиме
удаления. Как только передаваемые данные после прохождения по коль-
Глава 9. Token Ring и 100VG AnyLAN
265
цу возвращаются обратно, система удаляет их из сети для того, чтобы они
не циркулировали бесконечно. Теперь, когда система выявляет поле
конечного разделителя на принимающем порте, она "знает", что кадр был
полностью удален, и возвращается в состояние повторения. Если 8,9 мс
тайм-аут удержания маркера истекает прежде, чем будет получен
конечный разделитель, система регистрирует ошибку потери кадра (lost frame
error), чтобы в дальнейшем передать кадр уведомления о случайном сбое
(soft error report frame) перед тем, как вернуться в состояние повторения.
Мониторы Token Ring
Каждая сеть Token Ring включает систему, которая функционирует как
активный монитор (active monitor), то есть отвечает за обеспечение надлежащей
производительности сети. Активный монитор не имеет какого-либо
специального программного или аппаратного обеспечения, он просто назначается
на эту роль процессом, называемым "выборами"монитора (monitor contention).
Все остальные системы в сети функционируют как резервные мониторы
(standby monitor), "ожидая" сбоя системы, несущей нагрузку активного
монитора. Активный монитор выполняет несколько функций.
□ Передача кадров присутствия активного монитора. Каждые семь секунд
активный монитор (AM) передает кадр присутствия активного монитора
(Active Monitor Present MAC frame), который инициализирует процесс
опроса кольца.
□ Контроль опроса кольца. AM должен в течение семи секунд с начала
процедуры опроса кольца получить кадр присутствия активного монитора,
либо кадр присутствия резервного монитора от узла, расположенного
непосредственно в направлении, противоположном от него. Если необходимый
кадр не получен, AM регистрирует ошибку опроса кольца,
О Управление синхронизацией. AM генерирует главный синхронизирующий
сигнал, который остальные рабочие станции используют для
синхронизации своих генераторов тактовых импульсов. Синхронизация гарантирует,
что все системы в сети "знают", когда начинается и заканчивается каждый
передаваемый бит. Это также ограничивает эффект "дрожи" (jitter) —
незначительного фазового сдвига, приводящего к появлению в сети
повторных передач данных.
□ Поддержка буфера времени ожидания. В случае небольшого по размерам
кольца возможно, что рабочая станция начнет передачу и получит первые
биты обратно на свой принимающий порт прежде, чем передача будет
закончена. AM предотвращает это, внося задержку распространения, по
меньшей мере, в 24 бита (называемую буфером времени ожидания (latency
buffer)), которая позволяет маркеру правильно циркулировать по сети.
266
Часть III. Сетевые протоколы
□ Контроль процесса передачи маркера. Активный монитор должен
получать правильный маркер каждые 10 мс, что дает гарантию
функционирования механизма передачи маркера должным образом. Если рабочая
станция повышает приоритет маркера и оказывается не в состоянии
понизить его или не полностью удаляет свой пакет из кольца, AM выявляет
проблему и разрешает ее, очищая кольцо и генерируя новый маркер.
Каждый узел, получая от AM кадр очистки кольца (Ring Purge MAC frame),
останавливает свои действия, сбрасывает свои таймеры и переходит в
режим повторения в ходе подготовки к приему нового пакета.
Опрос кольца
Опрос кольца — это процесс выявления каждым узлом в сети Token Ring
своего ближайшего предшествующего активного соседа (NAUN, nearest
active upstream neighbor). Рабочие станции используют полученную в
результате информацию во время процесса испускания маяка для изолирования
неисправных участков сети.
Процесс опроса кольца запускается активным монитором, когда он передает
кадр присутствия активного монитора (AMP). Этот кадр содержит бит ARI
(Address Recognized Indicator, адрес распознан) и бит FCI (Frame Copied
Indicator, кадр скопирован), оба из которых имеют значение 0. Первая в
основном направлении от AM система принимает кадр и изменяет значение
битов ARI и FCI на 1. Принимающая система также сохраняет адрес узла,
отправившего кадр, как адрес ближайшего активного соседа. Поэтому
первая станция, которая получит кадр AMP, всегда изменяет значения этих
двух битов. Благодаря этому система, принявшая кадр с нулевыми
значениями битов ARI и FCI, устанавливает, что этот кадр отправил ее
ближайший предшествующий активный сосед.
После запоминания адреса своего ближайшего активного соседа, система
создает МАС-кадр такого же типа, за исключением того, что вместо кадра
присутствия активного монитора это теперь кадр присутствия резервного
монитора (SMP, Standby Monitor Present). Система выкладывает кадр SMP в
очередь для того, чтобы отправить его с задержкой в 20 мс, что дает другим
станциям возможность передать свои данные. Без такой задержки кольцо,
вероятно, было бы забито трафиком его опроса, временно блокируя
передачу пакетов данных.
После помещения кадра SMP в очередь система повторяет первоначальный
кадр AMP для следующего в основном направлении узла. Так как биты ARI и
FCI теперь имеют значение 1, над этим кадром не будет осуществляться
никаких действий, за исключением дальнейшего продвижения по кольцу до тех пор,
пока он не достигнет активного монитора, который удалит его из сети.
Когда задержка в 20 мс истечет, вторая система передаст пакет SMP и весь
процесс будет повторен следующей в основном направлении системой. Фак-
Глава 9. Token Ring и 100VG AnyLAN
267
тически каждый узел в сети создает кадр SMP или AMP, который
идентифицирует его для следующей в основном направлении системы как ближайшего
активного соседа. Когда активный монитор принимает пакет SMP с нулевыми
значениями битов ARI и FCI, он определяет, что процесс опроса завершен.
Вся операция должна занимать не более семи секунд, или AM регистрирует
ошибку опроса кольца прежде, чем снова запускает весь процесс. Если любая
из систем не получает пакет AMP в течение 15-секундного интервала
времени, то она полагает, что активный монитор не функционирует, и инициирует
процесс выборов, что приводит к определению нового активного монитора.
Испускание маяка
Когда станции в сети Token Ring не удается выявить сигнал на своем порту
приема, она полагает, что в сети произошел сбой, и запускает процесс,
называемый испусканием маяка (beaconing). Система каждые 20 мс
осуществляет широковещательную передачу кадров маяка на всю сеть (без захвата
маркера) до тех пор, пока снова не появится входящий сигнал. Каждая станция,
передающая кадры маяка, по существу сигнализирует о проблеме с ее
ближайшим предшествующим активным соседом, так как она не принимает
сигнал. Если ближайший активный сосед также начинает выдавать кадры
маяка, это указывает на то, что проблема лежит еще дальше в направлении,
противоположном основному. Заметив, какие из станций сети оповещают
об отсутствии входного сигнала, можно выявить неработающую систему или
локализовать поврежденный сегмент кабеля. Для этих целей существует
четыре типа управляющих кадров МАС-уровня (нижнего из двух подуровней,
составляющих Канальный уровень), которые перечислены далее.
□ Активация режима восстановления (Set Recovery Mode (Приоритет 1)).
Кадр активации режима восстановления почти всегда незаметен из-за
того, что он передается не адаптером системы Token Ring. Этот кадр
используется только во время процесса восстановления,
инициализируемого присоединенным к сети устройством управления.
□ Потеря сигнала (Signal Loss (Приоритет 2)). Кадр потери сигнала
генерируется в ситуации, когда процесс выборов монитора завершается по
тайм-ауту, и системе, находящейся в режиме участия в выборах, не
удается получить какой-либо сигнал от активного монитора. Наличие в сети
этого кадра обычно свидетельствует об обрыве кабеля или
возникновении неисправности оборудования.
П Потоковый сигнал, нет маркера-заявки (Streaming Signal, Not Claim Token
(Приоритет З)). Кадр "потоковый сигнал, нет маркёра-заявки" посылается
в том случае, когда процесс выборов монитора завершается по тайм-ауту и
система не получила кадров маркера-заявки за весь период выборов. Тем
не менее, система при этом принимает сигнал синхронизации от активного
монитора. Взамен этого кадра может быть создан кадр потери сигнала.
268
Часть III. Сетевые протоколы
П Потоковый сигнал, маркер-заявки (Streaming Signal, Claim Token
(Приоритет 4)). Кадр "потоковый сигнал, маркер заявки" вырабатывается по
завершении тайм-аута процесса выборов монитора, если система
получила во время периода выборов кадр маркера-заявки. Этот кадр обычно
свидетельствует о кратковременной проблеме, вызванной слишком
длинным кабелем или помехой, внесенной шумами от внешних источников.
Когда система подозревает, что это она могла вызвать проблему сети,
которая привела к испусканию маяка, она удаляет себя из кольца, чтобы
проверить, не исчезнет ли проблема. Если станция передает кадры маяка дольше
26 секунд, она выполняет тест автоматического удаления по причине
передачи маяка (beacon transmit auto-removal test). В том случае, если система
принимает 8 следующих друг за другом кадров маяка, свидетельствующих о том,
что она является ближайшим предшествующим активным соседом системы,
испускающей маяк, она выполняет тест автоматического удаления по
причине приема маяка (beacon receive auto-removal test).
Анализируя пакеты, циркулирующие во время испускания маяка, можно
узнать больше о проблемах сети Token Ring.
Кадры Token Ring
В сетях Token Ring реализованы четыре различных типа кадров, в отличие
от Ethernet, которые имеют только один формат кадра. Кадр данных — это
единственный тип кадров, который действительно переносит данные
протоколов вышележащих уровней, тогда как командный кадр выполняет
процедуры управления и обслуживания кольца. Вспомогательное значение имеет
Кадр маркера, используемый исключительно для организации доступа к
среде передачи данных, и кадр прерывания передачи, применяемый только при
возникновении определенных типов ошибок.
Кадр данных
Кадры данных Token Ring переносят информацию, создаваемую
протоколами вышележащих уровней, в стандартных протокольных блоках данных
(PDU, Protocol Data Unit) подуровня управления логической связью (LLC,
Logical Link Control), как определено в документе IEEE 802.2. Поля,
которые формируют формат кадра, приведены на рис. 9.5. Их назначение
описано ниже.
□ Начальный разделитель (SD, Start Delimiter), 1 байт. Начальный
разделитель сигнализирует о начале кадра сознательным нарушением правил
разностной манчестерской схемы кодирования. Используется
комбинация бит JK0JK000, где биты J — это нарушение кодирования значения 0,
а биты К — нарушение кодирования 1.
Глава 9. Token Ring и 100VG Any LAN
269
DSAP(1 байт)
SSAP (1 байт)
Поле управления
(1 байт)
К! Начальный разделитель (1 байт)
|\1 Поле управления доступом (1 байт)
|\1 Поле управления кадром (1 байт)
Адрес назначения (6 байтов)
N
и
N
N
Адрес источника (6 байтов)
Заголовок LLC
Данные
(переменной длины)
Контрольная последовательность
кадра (4 байта)
Конечный разделитель (1 байт)
Поле статуса кадра (1 байт)
Рис. 9.5. Кадр данных Token Ring переносит информацию,
созданную вышележащими уровнями
О Управление доступом (AC, Access Control), 1 байт. Байт управления
доступом описывается комбинацией символов PPPTMRRR, где значение РРР —
это три бита приоритета, а группа символов R — три резервных бита
приоритета, предназначенные для определения важности данных,
передаваемых в сетях Token Ring. Рабочие станции в сети Token Ring могут иметь
уровень приоритета от 0 до 7, где 7 — наивысший приоритет. Система
может захватить свободный маркер и передать данные только в том случае,
если маркер имеет приоритет ниже, чем приоритет этой рабочей станции.
Если узел обладает более высоким приоритетом, чем тот, что указан в сво-
270
Часть Hi Сетевые протоколы
бодном маркере, он может повысить приоритет маркера, надлежащим
образом изменив биты приоритета для того, чтобы более быстро передать
стоящие на очереди пакеты. Когда маркер возвращается к системе,
поднявшей его приоритет, она может отправить другой пакет с тем же
приоритетом или возвратить маркеру его предыдущий приоритет и изменить
его статус на "свободно". Станция, которой было отказано в захвате
маркера по причине слишком низкого приоритета, может скорректировать биты
резервирования, чтобы потребовать маркер с более низким уровнем
приоритета. Остаются еще два бита поля управления доступом. Символ Т
обозначает бит маркера, определяющий, является ли кадр кадром
данных/команд (1) или кадром маркера (0). На позиции символа М
расположен бит монитора, который замещается с 0 на 1 системой, выбранной в
качестве активного монитора. Поскольку активный монитор является
единственной системой, способной изменять значение этого бита, то когда
активный монитор получает пакет с 1 в этом бите, это свидетельствует о
том, что пакет по какой-то причине не был удален из сети передавшим его
узлом и неправильно преодолел кольцо еще раз.
□ Управление кадром (FC, Frame Control), 1 байт. Байт управления кадром
использует комбинацию ТТ00АААА, где биты Т указывают, что содержится
в пакете: кадр данных или команд. Третий и четвертый биты не
задействованы и всегда имеют значение 0. Биты А представляют собой биты
сигнального кода (attention code), идентифицирующего тип командного МАС-
кадра. Определенные типы таких кадров должны быть немедленно
записаны в экстренный буфер (express buffer) принимающей системы.
П Адрес назначения (DA, Destination Address), 6 байтов. Поле адреса
назначения указывает получателя пакета, используя либо его аппаратный
адрес, зашитый в плату сетевого адаптера, либо широковещательный или
групповой адрес.
□ Исходный адрес (SA, Source Address), 6 байтов. Поле определяет
аппаратный адрес отправителя пакета, зашитый в плату сетевого адаптера.
□ Данные переменной длины (Information, variable). В кадре данных
информационное поле содержит протокольный блок данных, передаваемый
вниз по сетевому стеку от протокола Сетевого уровня. Он включает
стандартный заголовок LLC, состоящий из DSAP, SSAP и полей управления.
Размер информационного поля может достигать 4500 байт и
ограничивается временем удержания маркера кольца (ring token holding tim), то есть
максимальным интервалом времени, в течение которого рабочая станция
может удерживать маркер.
□ Контрольная последовательность кадра (FCS, Frame Check Sequence),
4 байта. Поле контрольной последовательности кадра содержит 4-
байтовый результат вычисления CRC, выполняемого над полями
управления кадром, адреса назначения, исходного адреса и информационными
Глава 9. Token Ring и 100VG AnyLAN
271
полями для проверки целостности переданного пакета. Значение CRC
вычисляется передающим узлом и сохраняется в поле контрольной
последовательности кадра. По прибытии в место назначения точно такие
же вычисления выполняются снова, и их результат сравнивается со
значением поля. Совпадение говорит об успешной передаче.
О Конечный разделитель (ED, End Delimiter), 1 байт. Поле конечного
разделителя служит для выделения конца пакета из битового потока. В нем
снова нарушаются правила разностной манчестерской схемы
кодирования для образования уникальной последовательности бит. Здесь
применяется схема обозначения JK1JK1IE, где биты J и К выполняют
нарушение кодирования 1 и 0 соответственно (как в поле начального
разделителя). I соответствует биту промежуточного кадра (intermediate frame bit),
имеющему значение 1 в случае, если в текущей последовательности еще
остаются пакеты, ожидающие передачи. Бит Е — это бит обнаружения
ошибки (error detection bit), который принимающая система устанавливает
в 1, если обнаруживает в передаче ошибку CRC. Это предотвращает
сообщения о той же ошибке от систем ниже по течению.
О Статус кадра (FS, Frame Status), 1 байт. Поле статуса кадра использует
схему обозначения AF00AF00, в которой А — это индикатор
распознанного адреса (ARI, Address Recognized Indicator), a F — индикатор
скопированного кадра (FRI, Frame Copied Indicator). Значения этих бит
дублируются, так как поле состояния кадра не включено в проверку CRC
контрольной последовательности кадра. Биты ARI и FCI сбрасываются
передающей рабочей станцией в 0. Если принимающий узел распознает кадр, он
реагирует тем, что устанавливает ARI в 1. Когда принимающая система
может скопировать кадр в буферную память адаптера, то она
устанавливает FCI в 1. Если такого не происходит, это свидетельствует о том, что
пакет не прошел проверку CRC или был поврежден каким-то другим
образом и нуждается в повторной передаче.
В спецификации Token Ring перечислены значения функциональных
адресов, присваиваемых системам в сети, несущим специализированную
нагрузку. Используя эти адреса, узел может послать сообщение непосредственно
системе, ответственной за какую-либо функцию, не зная ее аппаратный
адрес. Это следующие предопределенные адреса:
активный монитор (active monitor) CO 00 00 00 00 01;
сервер параметров кольца (ring parameter server) CO 00 00 00 00 02;
монитор ошибок работы кольца (ring error monitor) CO 00 00 00 00 08;
сервер создания отчетов о конфигурации СО 00 00 00 00 10;
(configuration report server)
мост исходного маршрута (source route bridge) CO 00 00 00 01 00.
272
Часть III. Сетевые протоколы
Командный кадр
Командные кадры, также называемые кадрами MAC, отличаются от кадров
данных только информационным полем и иногда полем управления кадром.
Кадры MAC не используют заголовок LLC, вместо этого они содержат PDU,
состоящий из двух байт, которые указывают суммарную длину последующей
управляющей информации, включающей длину самого PDU, 2-байтового
поля, идентифицирующего управляющую функцию кадра, и переменного
количества байтов самой управляющей информации (рис. 9.6).
Длина (2 байта)
Главный векторный ID
(2 байта)
N
N
N
N
N
N
Начальный разделитель (1 байт)
Поле управления доступом (1 байт)
Поле управления кадром (1 байт)
Адрес назначения (1 байт)
Адрес источника (6 байтов)
Заголовок MAC
Данные (переменной длины)
Контрольная последовательность
(4 байта)
Конечный разделитель (1 байт)
Поле статуса кадра (1 байт)
Рис. 9.6. Командный кадр переносит управляющие сообщения,
предназначенные для выполнения процедур обслуживания кольца
Кадры MAC выполняют исключительно функции обслуживания и
управления кольцом. Они никогда не переносят данных вышележащих уровней и
Глава 9. Token Ring и 100VG AnyLAN
273
никогда не передаются в другие области коллизий мостами, коммутаторами
или маршрутизаторами. Наиболее часто используемые функции
указываются при помощи 4-битового кода в поле управления кадром. Некоторые из
них приведены ниже:
0010 маяк (Beacon);
ООП маркер-заявка (Claim Token);
0100 очистка кольца (Ring Purge);
0101 присутствие активного монитора (Active Monitor Present);
ОНО присутствие резервного монитора (Standby Monitor Present).
Некоторые кадры MAC с определенными функциями обрабатываются
сетевыми адаптерами в специальной области памяти, называемой экстренным
буфером (express buffer). Буферизация позволяет узлу работать с кадрами
MAC, содержащими важные управляющие команды, в любое время, даже
если он занят получением большого количества кадров данных.
Кадр маркера
Кадр маркера предельно прост. Он состоит только из трех 1-байтовых полей:
начального разделителя (SD), поля управления доступом (FC) и конечного
разделителя (ED) (рис. 9.7). Бит маркера в поле управления доступом всегда
установлен в значение единицы, а поля разделителей имеют тот же формат,
что и в кадрах данных и команд.
Начальный разделитель (1 байт)
Поле управления доступом (1 байт)
Конечный разделитель (1 байт)
Рис. 9.7. Кадр маркера, генерируемый для управления
доступом к сетевой среде передачи данных
Кадр прерывания передачи
Кадр прерывания передачи (abort delimiter frame) состоит только из полей
начального и конечного разделителей, использующих такой же формат, как
эквивалентные поля в кадрах данных и команд (рис. 9.8). Этот тип кадра
применяется преимущественно при возникновении необычайных ситуаций,
таких как внезапное прекращение и преждевременное окончание передачи
пакета. Когда такое случается, активный монитор передает кадр прерывания
передачи, который проходит по кольцу, удаляя все неправильно переданные
данные и готовя его для следующей передачи.
274
Часть III. Сетевые протоколы
Начальный разделитель (1 байт)
Конечный разделитель (1 байт)
Рис. 9.8. Кадр прерывания передачи, предназначенный для очистки
кольца перед созданием активным монитором нового маркера
Ошибки Token Ring
Стандарт 802.5 определяет несколько типов случайных сбоев (soft error), о
которых системы сети могут посылать отчеты при помощи кадров MAC
рабочей станции, функционирующей как монитор сбоев работы кольца (ring
error monitor). Когда адаптер Token Ring обнаруживает случайный сбой, он
начинает двухсекундный отсчет времени, в течение которого ожидает, не
появятся ли другие ошибки. По истечении двух секунд система посылает
сообщение отчета о случайном сбое по адресу монитора сбоев работы
кольца (СО 00 00 00 00 08). Системами Token Ring выявляются несколько типов
случайных сбоев.
□ Ошибка разделения (burst error). Ошибка разделения возникает, если в
течение пяти половинных битовых тактов (то есть трех передаваемых
битов) система выявляет отсутствие соответствующего перехода в середине
бита, характерного для разностного манчестерского кодирования. Этот
тип ошибки обычно вызывается шумами в кабеле, которые являются
результатом неисправности оборудования или могут быть внесены
некоторыми другими внешними факторами.
□ Ошибка линии связи (line error). Ошибка линии связи встречается, когда
рабочая станция получает кадр, который имеет бит обнаружения ошибки
(в поле конечного разделителя) со значением 1. Такое значение бита
может быть выставлено при неверном CRC в контрольной
последовательности кадра, либо при детектировании бита, нарушающего разностное
манчестерское кодирование, в любом поле, отличном от начального и
конечного разделителей. Сеть с шумовыми проблемами обычно имеет
одну ошибку линии связи на каждые десять ошибок разделения.
□ Ошибка потери кадра (lost frame error). Ошибка потери кадра возникает в
случае, если система посылает кадр и не получает его обратно в течение
4 мс, отпущенных таймером возврата к повторению (return to repeat timer).
Этот сбой может быть вызван чрезмерными шумами в сети.
□ Ошибка маркера (token error). Ошибка маркера вырабатывается, когда
истекают 10 мс таймера правильной передачи (valid transmission timer)
активного монитора, а кадр все еще не получен. Такое нарушение может
быть вызвано чрезмерными шумами в сети.
Глава 9. Token Ring и 100VG AnyLAN
275
П Внутренняя ошибка (internal error). Внутренняя ошибка генерируется при
выявлении системой ошибки контроля четности во время операции
прямого доступа к памяти (DMA, Direct Memory Access) между сетевым
адаптером и компьютером. Она может быть вызвана дефектом
собственной памяти адаптера или памяти компьютера. Если после установки
адаптера в другую систему ошибка не исчезает, то проблема заключается
в самой плате адаптера.
□ Погрешность частоты (frequency error). Погрешность частоты появляется,
когда система — резервный монитор принимает сигнал, который
отличается от ожидаемой частоты на значение, превышающее определенную
величину. Данный факт может означать, что активный монитор
генерирует неправильный сигнал синхронизации. Необходимо выключить
питание текущего активного монитора, чтобы инициировать новый процесс
выборов. Если после этого погрешность частоты больше не
прослеживается, то неисправен сетевой адаптер в исходном активном мониторе.
□ Ошибка AC (AC error). Ошибка АС возникает, когда узел получает один за
другим два кадра опроса кольца с битами ARI и FCI, сброшенными в О,
при этом первый кадр является AMP или SMP, а второй — SMP. По
причине того, что ближайший последующий сосед системы, передающей
кадры AMP или SMP, должен изменять эти биты, система не должна получать
неизмененные кадры в указанном порядке. Такая ошибка означает, что
система, расположенная сразу в направлении, противоположном
основному, не может правильно переопределить биты ARI и FCI, вероятно, это
вызвано неисправностью сетевого адаптера.
□ Ошибка FC (FC error (Frame Copied)), Ошибка FC случается при
получении системой однонаправленного кадра MAC с выставленным значением
бита ARI, свидетельствующим о наличии шумовой проблемы или
дублирующемся адресе в сети.
□ Ошибка преждевременного прекращения передачи (abort delimiter
transmitted error). Ошибка преждевременного прекращения передачи возникает,
если сетевые условия вынуждают рабочую станцию остановить передачу
в середине кадра и создать кадр прекращения передачи. Это происходит,
когда передающая система принимает маркер с неправильным конечным
разделителем или получает маркер-заявку, маяк или кадр очистки кольца
во время ожидания приема начального разделителя своего собственного
посланного кадра.
□ Ошибка перегрузки при приеме (receive congestion error). Ошибка
перегрузки при приеме появляется, когда система принимает направленный
ей кадр, но не имеет достаточного свободного объема буфера памяти
для того, чтобы сохранить пакет, так как буфер переполнен входящими
кадрами.
276
Часть III. Сетевые протоколы
^ Примечание ]Д
Ошибка АС называется изолирующей ошибкой (isolating error), поскольку она
указывает на определенную машину, ставшую источником проблемы. Ошибка,
которая не свидетельствует об определенном источнике, называется не
изолирующей ошибкой (nonisolating error).
100VG-AnyLAN
lOOVG-AnyLAN является сетевым протоколом для настольных систем,
который обычно группируется с Fast Ethernet, поскольку они оба были созданы
в одно время и для одного рынка. Тем не менее, этот протокол не может
быть назван разновидностью Ethernet, так как он не использует механизма
CSMA/CD управления доступом к среде передачи данных.
100VG-AnyLAN определен в спецификации IEEE 802.12, в то время как
вариации Ethernet документально оформлялись рабочей группой 802.3.
Изначально навязываемый фирмами Hewlett-Packard и AT&T в качестве сетевого
решения для 100 Мбит/с UTP, которое превосходит Fast Ethernet, 100VG-
AnyLAN не был поддержан рынком, хотя некоторые продукты 100VG все еще
доступны, и Fast Ethernet, несомненно, стал преобладающей 100 Мбит/с
сетевой технологией.
Подобно Fast Ethernet, замысел, лежащий в основе стандарта 100VG,
заключается в применении существующей кабельной системы lOBaseT и
обеспечении простого, постепенного перехода на более быструю технологию.
Изначально эта технология предназначалась для поддержки всех альтернатив
Физического уровня, совпадающих с вариантами, поддерживаемыми в Fast
Ethernet, но в действительности был реализован только первый тип
кабельной системы для 100VG, использующий все четыре витые пары кабеля UTP
категории 3 или лучшей. Поддерживаемая ей максимальная длина сегмента
кабеля составляет 100 м для кабеля категории 3 и 4, и 200 м —- для
категории 5. В одной области коллизий допускается размещать до 1024 узлов.
В основе кабельной системы lOOVG-AnyLAN лежит технология, называемая
передачей сигналов квартетом (quartet signaling) и задействующая все четыре
витые пары кабеля.
В 100VG такой же формат кадра, как в Ethernet 802.3 или Token Ring 802.5,
что позволяет сосуществовать в сети трафику всех этих трех протоколов.
Указанная совместимость является критически важным моментом,
обеспечивающим свободный переход с более старых и медленных технологий к
современному уровню их развития. Как и в случае с Fast Ethernet, на рынке
доступны двухскоростные платы сетевых адаптеров, что делает возможным
осуществлять модернизацию сети постепенно, по одному компоненту за раз.
Глава 9. Token Ring и 100VG AnyLAN
277
Вместе с тем, сетевые адаптеры 10BaseT/100VG-AnyLAN значительно более
сложные устройства, нежели платы 10/100 Fast Ethernet. В то время как
сходство между обычным Ethernet и Fast Ethernet позволяет адаптерам
использовать множество общих для обоих протоколов компонентов, 100VG достаточно
отличается от lOBaseT, в результате чего на одной плате фактически
располагаются два сетевых адаптера, которые совместно используют только кабель и
разъемы шины. Это и относительное отсутствие одобрения 100VG-AnyLAN
привели к тому, что цены на оборудование для этой технологии значительно
выше, чем цены на подобное оборудование для Fast Ethernet.
Механизм управления доступом к среде передачи данных — это область, в
которой сосредоточены основные отличия 100VG-AnyLAN от Ethernet.
Сети 100VG используют метод, называемый доступом по приоритету запроса
(demand priority), который удаляет из сети присущие ей коллизии, а также
обеспечивает разделение обычного трафика и трафика с высоким
приоритетом. Введение уровней приоритета направлено на поддержку приложений,
требующих высокой пропускной способности для передачи постоянного
потока данных, таких как аудио и видео в реальном времени.
Спецификация lOOVG-AnyLAN определяет структуру стека протоколов
данного стандарта, согласованную с эталонной моделью OSI, выделяя
несколько подуровней по степени их функциональности. Подобно другим
стандартам IEEE 802, подуровень управления логической связью (LLC, logical link
control) является вершиной функциональности Канального уровня узла,
ниже которой располагается подуровень управления доступом к среде (MAC,
media access control). В повторителе (концентраторе) прямо под LLC
находится подуровень управления доступом к среде повторителя (RMAC, repeater
media access control). Ниже подуровня MAC или RMAC спецификация
размещает два компонента Физического уровня, независящие от среды
передачи данных: подуровень PMI (physical medium-independent) и интерфейс МН
(medium-independent interface), а также подуровень Физического уровня,
зависящий от среды передачи данных (PMD, physical medium-dependent).
В самом низу стека располагается интерфейс MDI, который обеспечивает
непосредственное соединение с сетевой средой передачи и, соответственно,
также от нее зависимый. Следующие разделы описывают деятельность на
каждом из этих уровней.
Подуровень управления
логической связью
Функциональное назначение LLC-подуровня определено в стандарте IEEE
802.2 и оно точно такое же, что и в сетях 802.3 (Ethernet) и 802.5 (Token
Ring). Для получения более подробной информации см. раздел "Подуровень
управления логической связью" в главе 8.
278
Часть III. Сетевые протоколы
Подуровни MAC и RMAC
Механизм доступа по приоритету запроса 100VG заменяет механизм
CSMA/CD сети Ethernet и Fast Ethernet. В отличие от большинства других
механизмов MAC, доступ к среде передачи данных в сети на основе
обработки запросов по приоритетам контролируется концентратором. Каждый
узел в сети по умолчанию находится в состоянии простоя. При этом он
передает своему концентратору сигнал Idle_Up (ожидание приема),
свидетельствующий о том, что система готова к приему данных. Когда узел имеет
данные для передачи, он посылает концентратору либо сигнал Re-
quest_Normal (запрос с обычным приоритетом), либо сигнал Request_High
(запрос с высоким приоритетом). Высокоприоритетные запросы всегда
обслуживаются раньше запросов с низким приоритетом. Нужный уровень
приоритета данных определяется протоколом вышележащего уровня в
зависимости от приложения, генерирующего эти данные. Трафик таких
приложений, как аудио и видео в реальном времени, требующих минимизации
задержек, проходит через сеть с более высоким уровнем приоритета.
Концентратор непрерывно сканирует в режиме кругового опроса (round-robin)
все свои порты, ожидая приема сигналов запроса от узлов. После каждого
опроса концентратор выбирает узел с наименьшим номером порта, который
ожидает ответа на высокоприоритетный запрос, и посылает ему сигнал
Grant (предоставление разрешения), который является для узла разрешением
осуществить передачу. После отправки выбранному узлу сигнала Grant
концентратор отправляет всем остальным портам сигнал Incoming (входящий
сигнал), который информирует узлы о возможной передаче. Когда каждый из
узлов получает входящий сигнал, он прекращает запрашивать разрешение и
ожидает входящей передачи.
Когда концентратор принимает пакет от отправляющего данные узла, он
считывает из заголовка кадра адрес назначения и посылает пакет через
соответствующий адресу порт. Все остальные порты принимают сигнал
Idle_Down (конец ожидания). После получения пакета данных, либо сигнала
Idle_Down, узлы возвращаются в свое первоначальное состояние и начинают
передавать запрос, либо сигнал Idte_Up. Затем концентратор обрабатывает
следующий высокоприоритетный запрос. Когда все высокоприоритетные
запросы будут удовлетворены, концентратор разрешает узлам передавать
трафик обычного приоритета в порядке номеров портов. Описанный обмен
сигналами изображен на рис. 9.9.
^ Примечание j|
По умолчанию концентратор 100VG передает входящие пакеты только через
тот порт (или порты), который идентифицируется адресом назначения пакета.
Такой режим работы называется приватным (private mode). Однако существует
возможность сконфигурировать определенные узлы для работы в беспорядоч-
Глава 9. Token Ring и 100VG AnyLAN
279
ном режиме (promiscuous mode). В этом случае они будут получать каждый
пакет, распространяемый по сети.
м
, и
Рабочая
станция
IdleJJp
RequestJHigh
Grant
Пакет данных
ldle_Down
IdleJJp
JSP-w- ч
fwBTfYYTTT'i
Концентратор
ldle_Up
Incoming
Пакет данных
ldle_Up
Рабочая
станция
Рис. 9,9. Концентраторы 100VG осуществляют арбитраж доступа к сетевой
среде, предоставляя узлам разрешение на передачу
Первоочередная обработка высокоприоритетных запросов позволяет
приложениям, требующим своевременного доступа к сети, получить его. Но также
существует механизм, защищающий трафик обычного приоритета от чрезмерных
задержек. Если время ожидания обработки запроса обычного приоритета
превышает заданное значение, то приоритет запроса поднимается до высокого.
В сети с несколькими концентраторами всегда существует корневой
концентратор (root hub), к которому, в конечном счете, присоединяются все
остальные. Когда корневой концентратор получает запрос через порт, к
которому подключен другой концентратор, он предоставляет подчиненному
концентратору возможность выполнить свой собственный опрос портов и
обработать по одному запросу от каждого из портов. Таким образом,
разрешение доступа к среде передачи данных распространяется вниз по дереву
сети, и все узлы имеют равные шансы осуществить передачу.
Подготовка кадра MAC
Вдобавок к управлению доступом к сетевой среде подуровень MAC также
компонует кадр пакета для передачи через сеть. В сети 100VG-AnyLAN
существует четыре возможных типа кадров:
□ 802.3;
□ 802.5;
□ пустой (void);
□ подготовки связи (link training).
280
Часть III. Сетевые протоколы
Кадры 802.3 и 802.5
lOOVG-AnyLAN способен обрабатывать как кадр 802.3 (Ethernet), так и кадр
802.5 (Token Ring), так что на период плавного развертывания протокол
100VG может сосуществовать с другими типами сети. Однако применение
обоих типов кадра сразу невозможно. Необходимо сконфигурировать все
концентраторы в сети на использование одного типа кадра.
Все кадры 100VG инкапсулируются подуровнем Физического уровня, не
зависящим от среды передачи данных, между полем начала потока (Start of
Stream) и полем конца потока (End of Stream), которые информируют
подуровень PMI принимающей станции о времени, когда пакет был отправлен и
когда завершилась передача. Между этими полями кадры 802.3 и 802.5
вставляют данные точно такого же формата, какой определен в их
спецификациях.
Подуровень MAC предоставляет собственный аппаратный адрес системы
для поля адреса источника каждого пакета, а также выполняет для пакета
CRC-вычисления, сохраняя их в поле FCS.
Для входящих пакетов подуровень MAC отвечает за CRC-вычисления,
результаты которых сравнивает с содержимым поля FCS. Если пакет проходит
проверку кадра, то подуровень MAC отделяет два адреса и поле FCS и
передает оставшиеся данные следующему уровню.
Пустые кадры
Пустые кадры (void frames) создаются только повторителями в случае, если
узел не осуществил передачу пакета в заданный интервал времени после
того, как повторитель подтвердил ее.
Кадры подготовки связи
Каждый раз после перезагрузки узла или его повторного присоединения к
сети запускается процедура подготовки линии связи, в ходе которой
концентратор передает последовательность специализированных пакетов
подготовки связи (link training packets). Процедура преследует несколько
перечисленных ниже целей.
□ Проверка соединения. Для того чтобы узел был присоединен к сети, он
должен обменяться с концентратором 24 последовательными кадрами
подготовки без их повреждения или потери. Это гарантирует, что
физическое соединение действующее, а сетевой адаптер и порт концентратора
работают правильно.
□ Конфигурация порта. Данные в пакетах подготовки указывают на тип
кадра (802.3 или 802.5), который будет использовать узел, работу в
приватном или беспорядочном режиме и то, является ли он конечным узлом
(компьютером) или повторителем (концентратором).
Глава 9. Token Ring и 100VG Any LAN
281
□ Регистрация адреса. Концентратор считывает из пакета подготовки
аппаратный адрес узла и добавляет его в таблицу, содержащую адреса всех
присоединенных узлов.
Пакеты подготовки содержат двухбайтовые поля запрашиваемой конфигурации
(requested configuration) и позволенной конфигурации (allowed configuration),
которые дают возможность узлам и повторителям согласовать настройки
конфигурации порта для соединения. Генерируемые узлом пакеты подготовки
содержат его установочные параметры в поле запрашиваемой конфигурации и
ничего — в поле позволенной конфигурации. Повторитель при приеме
пакетов добавляет установочные параметры, которые он может обеспечить, в поле
позволенной конфигурации и отправляет пакет обратно узлу.
Пакеты также включают от 594 до 675 байт незначимого заполнения в поле
данных для того, чтобы убедиться, что соединение между узлом и
повторителем работает правильно, и данные могут передаваться без ошибок.
Подуровень PMI
Как свидетельствует название, подуровень Физического уровня,
независящий от среды передачи данных (PMI, physical medium-independent),
выполняет похожие функции для всех пакетов 100VG, независимо от сетевой
среды. Когда подуровень PMI принимает кадр от подуровня MAC, он
подготавливает данные для передачи, используя технологию, называемую переда-
чей сигналов квартетом (quartet signaling). Квартет относится к четырем
парам проводов кабеля UTP, все из которых протокол задействует для
передачи каждого пакета. Передача сигналов квартетом включает в себя четыре
отдельных процесса, которые перечислены ниже.
1. Каждый пакет делится на последовательность 5-битовых сегментов
(называемых квинтетами), которые последовательно распределяются по
четырем каналам, представляющим четыре витые пары. Таким образом,
первый, пятый и девятый квинтеты будут переданы через первую витую
пару, второй, шестой и десятый — через вторую пару и так далее.
2. Квинтеты подвергаются перемешиванию бит с использованием разного
алгоритма для каждого канала, чтобы получить случайную
последовательность бит для каждой пары и избежать строк битов с одинаковыми
значениями. Перемешивание данных таким способом минимизирует
эффект взаимного влияния и перекрестных помех в кабеле.
3. Перемешанные квинтеты преобразуются в секстеты (6-битовые блоки) при
помощи процесса, называемого кодированием 5В6В, которое основывается
на предопределенной таблице эквивалентов 5- и 6-битовых значений. Так
как секстет содержит равное количество 0 и 1, напряжение в кабеле
остается распределенным, и ошибки (которые имеют форму более трех
последовательно расположенных 0 или 1) выявляются намного легче. Регулярное
282
Часть III. Сетевые протоколы
изменение напряжения также дает возможность взаимодействующим
станциям точнее синхронизировать свои тактовые генераторы.
4. В заключение, преамбула, поля начала и конца кадра присоединяются к
закодированным секстетам и, если это требуется, поле данных
выравнивается до максимальной длины за счет добавления незначимого заполнения.
Подуровень интерфейса МП
Подуровень интерфейса, не зависящего от среды передачи данных (МП,
medium-independent interface), является логической связкой между уровнями
PMI и PMD. Как и в случае Fast Ethernet, МИ может также принимать
форму элемента сетевого оборудования, который функционирует как
унифицированный интерфейс к любой среде передачи, поддерживаемой
lOOVG-AnyLAN.
Подуровень PMD
Подуровень Физического уровня, зависящий от среды передачи данных
(PMD, physical medium-dependent), отвечает за формирование реальных
электрических сигналов, передаваемых по сетевому кабелю. Выполняемые
подуровнем PMD функции, связанные с этим процессом, перечислены ниже.
□ Генерация сигналов управления состоянием линии связи. Узлы и
повторители обмениваются информацией о состоянии линии связи, используя
управляющие низкочастотные сигналы (тоны), передаваемые по всем
четырем парам в полнодуплексном режиме (две пары передают и две пары
принимают). Обычные передачи данных осуществляются в
полудуплексном режиме.
П Формирование сигнала потока данных. Подуровень PMD для
представления генерируемых сигналов применяет систему кодирования,
называемую кодированием без возврата к нулю (NRZ, non-return to zero). NRZ
сводит к минимуму эффект перекрестных помех и внешних шумов, которые
могут повредить пакеты во время передачи.
П Передача синхронизированных данных. Кодирование NRZ за каждый такт
передает один бит данных. 30 МГц на каждую витую пару в общем дает
скорость передачи 120 Мбит/с. Так как схема кодирования 5В6В
использует 6 бит для переноса 5 бит данных, то результирующая пропускная
способность составляет 100 Мбит/с.
Интерфейс MDI
Интерфейс, зависящий от среды передачи данных (MDI, medium-dependent
interface), — это материальное оборудование, которое обеспечивает доступ к
сетевой среде, реализованное в виде платы сетевого адаптера или
концентратора.
Глава 9. Token Ring и 100VG Any LAN
283
Работа с 100VG-AnyLAN
В сравнении с успехом на рынке продуктов Fast Ethernet lOOVG-AnyLAN не
приобрел такой популярности и не был принят как промышленный
стандарт явно, но некоторые сети до сих пор ориентируются на него. Проблема
заключается не столько в производительности, так как в этом отношении
100VG несомненно конкурентоспособен с Fast Ethernet, сколько в
маркетинге и поддержке.
Несмотря на использование таких же спецификаций Физического уровня и
тех же форматов кадров, lOOVG-AnyLAN значительно отличается от Ethernet,
что вызывает нерешительность у части администраторов сети, тех, кто
потратил значительное количество времени и денег на изучение поддержки
сетей CSMA/CD. С этих позиций развертывание новой сети lOOVG-AnyLAN
не выглядит мудрым коммерческим решением, но сохранение
существующих капиталовложений в эту технологию все еще имеет смысл.
Смешивание узлов lOOVG-AnyLAN и Fast Ethernet в одной области
коллизий невозможно, но пока для создания отдельного домена коллизий
применяется коммутатор, можно продолжать эксплуатировать существующие
сегменты 100VG и добавлять новые системы Fast Ethernet. Наиболее
практичный метод заключается в установке модульного коммутатора, в который
можно вставлять трансиверы, поддерживающие различные протоколы
Канального уровня.
Hewlett-Packard, например (один из первых поставщиков lOOVG-AnyLAN),
все еще имеет модули трансиверов 100VG для своего AdvanceStack Switch
2000, который также поддерживает сегменты родоначального, Fast и Gigabit
Ethernet, а заодно FDDI и ATM. Такое устройство предоставляет системам
100VG полный доступ к остальной сети в то же время позволяет расширять
ее, используя любой из этих протоколов без дополнительных инвестиций в
технологию lOOVG-AnyLAN.
Технология lOOVG-AnyLAN отмирает, и только вопрос времени, чтобы она
была заброшена окончательно, почему администраторы сети начали
подумывать о замене трансиверов и сетевых адаптеров в системах 100VG на
оборудование Fast Ethernet или другую технологию. Коммутаторы такого типа
являются эффективной мерой на какой-то срок, но это только временное решение,
которое является несостоятельным по причине общего неуспеха продукта.
Глава 10
Высокоскоростные
магистрали
Концентратор/
коммутатор
По существу магистраль (backbone) — это сеть, которая соединяет другие
сети вместе, формируя интерсеть. Стандартная модель корпоративной сети
состоит из отдельно взятых сетей, обслуживающих подразделения или этажи
здания или даже целые здания. Такие сети часто называют
горизонтальными. Каждая из горизонтальных сетей при помощи маршрутизатора или
коммутатора присоединяется к магистральной сети, как показано на
рис. 10.1. Это позволяет рабочей станции из любой сети осуществлять обмен
данными с любой другой рабочей станцией.
Когда обмениваются данными две рабочие
станции из одной сети, весь трафик
остается в этой локальной сети. Однако, если
рабочие станции расположены в разных
сетях, трафик через маршрутизатор
передается в магистраль и затем в сеть назначения.
Так как магистраль совместно используется
всеми сетями, через нее проходит
значительная часть трафика. По этой причине
магистрали, как правило, работают на более
высоких скоростях, нежели локальные сети.
Магистрали также могут быть проложены
на более длинные дистанции по сравнению
с локальными сетями, поэтому обычно для
их прокладки используется
оптоволоконный кабель, который может передавать
сигнал на много большее расстояние, чем
это позволяет медный кабель.
Во время, когда зарождалась концепция
магистральной сети, обычная ЛВС
масштаба подразделения понималась как
относительно медленная сеть Ethernet 10 Мбит/с.
Рис. 10.1. Корпоративная сеть, состоящая
из нескольких ЛВС, соединенных магистралью
Концентратор/
коммутатор
Концентратор/
коммутатор Г
Глава 10. Высокоскоростные магистрали
285
^ Примечание J|
Термины маршрутизатор и коммутатор описывают различные компоненты,
но в рамках данного обсуждения выполняемые ими функции одинаковы и
заключаются в том, что оба эти устройства обеспечивают интерфейс между
сетями. Когда в этой главе употребляется термин маршрутизатор, то
подразумевается, что в качестве его эквивалента может выступать коммутатор. Для
получения более подробной информации о маршрутизаторах, коммутаторах и
выполняемых ими функциях см. главу 6.
Первые магистрали применяли толстый Ethernet, выбранный вследствие того,
что сегменты толстого коаксиального кабеля могли достигать длины 500 м.
Вместе с тем, эти магистрали работали с той же скоростью, что и
горизонтальные сети. Для поддержки всего межсетевого трафика было необходимо,
чтобы распределенная магистраль работала с более высокой пропускной
способностью. Это требование привело к разработке протоколов Канального
уровня, подобных FDDI (Fiber Distributed Data Interface^ распределенный
интерфейс передачи данных по волоконно-оптическим каналам). FDDI функционирует
со скоростью 100 Мбит/с, что в то время было быстрее любой другой
технологии, и задействует оптоволоконный кабель, который может быть проложен
на большие расстояния, чем это позволяет толстый Ethernet.
С появлением на рынке продуктов Fast Ethernet требования к
быстродействию ужесточились на порядок. Горизонтальные сети 100 Мбит/с стали
обычными, и понадобилась еще более быстрая магистральная технология.
Это привело к разработке протоколов, таких как ATM (Asynchronous Transfer
Mode, асинхронная передача данных) и Gigabit Ethernet.
Распределенные
и локализованные магистрали
Повсеместно используются два основных типа магистральных сетей:
распределенные магистрали и локализованные магистрали. В случае
распределенной магистрали (distributed backbone) магистральная структура имеет
форму отдельного сегмента кабеля, который проходит по всей территории
корпоративной сети и присоединяется к каждой горизонтальной сети при
помощи маршрутизатора или коммутатора. В случае локализованной
магистрали (collapsed backbone) концентратор каждой горизонтальной сети соединяется
с расположенным в центре маршрутизатором или коммутатором (рис. 10.2).
Этот маршрутизатор выполняет функции магистрали для всей интерсети,
передавая трафик между горизонтальными сетями. Этот тип магистрали не
нуждается в дополнительных сегментах кабеля, так как центральный
маршрутизатор имеет отдельные модули для каждой сети, подключенной к
объединительной панели. Объединительная панель (backplane) — это внутренняя
коммуникационная шина, которая занимает место сегмента кабеля в
распределенной магистральной сети.
286
Часть III. Сетевые протоколы
Коммутатор/
концентратор
Коммутатор/
концентратор
Коммутатор/
концентратор
Рис. 10.2. Локализованная магистраль
присоединяет все ЛВС к одному
маршрутизатору или коммутатору
Преимущество локализованной магистрали
заключается в том, что межсетевой трафик на
пути к месту назначения передается только
через один маршрутизатор, в отличие от
распределенной магистрали, которая требует
отдельного маршрутизатора для присоединения
каждой сети к магистрали. Недостаток
подобной магистрали состоит в том, что
концентратор каждой сети должен быть
соединен с центральным маршрутизатором одним
сегментом кабеля. В зависимости от
физического размещения площадок и расположения
маршрутизатора это может быть слишком
большое расстояние для того, чтобы
прокладывать медный кабель.
По причине того, что локализованная
магистраль не использует отдельных сегментов
кабеля для соединения горизонтальных сетей,
нет необходимости в своем собственном
протоколе. Современная технология Fast Ethernet
имеет практическое воплощение
локализованной магистрали. В качестве примера
может выступать корпоративная сеть, которая
состоит из горизонтальных сетей 100BaseTX,
разделенных модульными концентраторами,
соединяющими различные типы среды
передачи данных. В то время как медный кабель
присоединяет отдельные рабочие станции к концентратору, один
оптоволоконный сегмент 100BaseFX проложен к информационному центру
организации, где установлен большой мультисетевой коммутатор. Этот коммутатор
маршрутизирует трафик между сетями, а применение оптоволоконного
кабеля означает, что он может быть расположен фактически в любом месте
здания. Вся сеть работает со скоростью 100 Мбит/с, и не существует
трафика, который проходил бы более чем через две сети при передаче данных от
одной рабочей станции к другой.
В то время как подобная реализация является идеальным решением для
новых сетей, создаваемых сегодня, существуют тысячи уже развернутых сетей,
которые все еще применяют для своих горизонтальных сетей Ethernet
10 Мбит/с или другой относительно медленный протокол, и не могут быть
легко адаптированы к концепции локализованной магистрали. Горизонталь-
Локализованная
магистраль"
Глава 10. Высокоскоростные магистрали
287
ные сети нередко используют устаревшую среду передачи, такую как UTP
категории 3 или даже "тонкий Ethernet", и не могут поддерживать длинный
кабель, подходящий к центральному маршрутизатору. Может случиться, что
горизонтальные сети расположены в разных зданиях микрорайона, в таком
случае локализованная магистраль потребует, чтобы каждое здание имело
кабель, протянутый к месту расположения маршрутизатора.
В подобных случаях требуется распределенная магистраль. Каждый из
обсуждаемых в этой главе протоколов подходит для применения в
магистральной сети, соединяющей отдельные горизонтальные сети. Также возможно
употребление всех этих протоколов для горизонтальных сетей, но в
большинстве случаев в таком качестве они не используются. Сегодня только
немногие сети имеют оптоволоконный кабель, подведенный к рабочим
местам, и с технологией Fast Ethernet, способной работать с медной средой на
скорости 100 Мбит/с, эта ситуация, вероятно, не изменится до тех пор, пока
не потребуется большая пропускная способность.
FDDI
Впервые появившийся в конце 1980-х годов и определенный в стандартах,
разработанных комитетом ХЗТ9.5 Национального Института Стандартизации
США (ANSI) FDDI (Fiber Distributed Data Interface, распределенный интерфейс
передачи данных по волоконно-оптическим каналам) был первым 100 Мбит/с
протоколом Канального уровня, добившимся популярности. В 1995 году
комитет стал называться ХЗТ12. Стандарты FDDI также были утверждены
Международной организацией по стандартизации (ISO).
Во время внедрения FDDI доминирующими технологиями ЛВС были
толстый и тонкий Ethernet 10 Мбит/с, и FDDI представлял собой большой шаг
вперед в скорости передачи данных. Вдобавок, применение
оптоволоконного кабеля обеспечило впечатляющее увеличение размера пакета, длины
сегмента сети и количества поддерживаемых рабочих станций. Пакеты
FDDI могут переносить до 4500 байт данных (по сравнению с 1500 байтами
в Ethernet), и сеть может состоять из кабеля длиной до 100 км, поддерживая
при этом до 500 рабочих станций. Данные усовершенствования в сочетании
с невосприимчивостью оптоволокна к электромагнитным помехам делают
FDDI идеальным протоколом для соединения удаленных рабочих станций и
сетей даже тогда, когда они расположены в разных зданиях. В конечном
счете FDDI стал известен преимущественно как магистральный протокол,
для роли которого он превосходно подходит.
Хотя оптоволоконный кабель может быть подведен к рабочим местам, очень
немногие сети применяют его для этой цели в силу дороговизны
соответствующего оборудования, а также прокладки и эксплуатации самого кабеля.
Для решения этой проблемы был разработан стандарт, определяющий такой
же протокол, но для медной среды передачи. Он был назван TP-PMD
288
Часть III. Сетевые протоколы
(Twisted Pair — Physical Media Dependent) или CDDI (Cooper Distributed
Data Interface, распределенный проводной интерфейс передачи данных), но
широкого признания не получил.
^ Примечание ^Д
Для получения более подробной информации об оптоволоконном кабеле и его
свойствах см. главу 4.
Благодаря частому использованию FDDI в качестве магистрального
протокола соответствующее оборудование, такое как мосты и маршрутизаторы,
необходимое для подключения сетей Ethernet к магистралям FDDI, широко
распространено. FDDI разительно отличается от Ethernet и эти два типа
сети могут быть соединены только при помощи устройства, подобного
маршрутизатору, обеспечивающему интерфейс между различными сетями.
Сегодня широкое признание Fast Ethernet, который может работать с тем же
самым оптоволоконным кабелем, привело к снижению популярности FDDI.
Оптоволоконная сеть Fast Ehernet обеспечивает такую же скорость и
сравнимую длину сегментов, а помимо этого не требует введения в сеть
совершенно нового формата кадра и метода управления доступом к среде
передачи данных. Поэтому для объединения сегментов оптоволоконного Fast
Ethernet вместо маршрутизаторов могут быть задействованы относительно
недорогие концентраторы.
Топология FDDI
FDDI является протоколом с передачей маркера, подобным Token Ring. Он
использует либо топологию "двойное кольцо", либо топологию "звезда".
В отличие от Token Ring, в котором сетевое кольцо является логическим, а
не физическим, изначальная спецификация FDDI предназначалась для
систем, действительно замкнутых кабелем в кольцо. Однако в рассматриваемом
случае — это уже двойное кольцо. Двойное кольцо (double ring), также
называемое магистральным кольцом (trunk ring), состоит из двух отдельных
колец, — основного или первичного (primary) и дополнительного (вторичного,
secondary), по которым трафик движется в противоположных направлениях,
обеспечивая отказоустойчивость. Длина двойного кольца может достигать
100 км, и рабочие станции могут быть расположены на расстоянии до 2 км.
Рабочие станции, присоединенные к обоим кольцам, называются станциями с
двойным подключением (DASs, dual attachment stations). В случае обрыва кабеля
или неисправности узла трафик перенаправляется в дополнительное кольцо и
распространяется в противоположном направлении, сохраняя возможность
доступа к данным любой другой системы сети. Кольцо FDDI, работающее в
описанном режиме, называется свернутым кольцом (wrapped ring). Исправно
функционирующая в обоих режимах сеть FDDI изображена на рис. 10.3.
Глава 10. Высокоскоростные магистрали
289
Узел Узел
Обратная
петля ^ «
//
i^u, l Двойное : ;JV
И.
6!"
Узел XS V Узел Узел
vv - •**'-'' Участок неисправного
^1 fР^ кабеля ;:"--'
рнл
Г* М L Закольцо-
^ : 1 вывание
Узел Узел
Рис. 10.3. Нормально функционирующее двойное кольцо FDDI (слева)
и свернутое кольцо (справа)
В случае свернутого кольца, если возникнет повреждение во втором кабеле,
сеть распадется на два изолированных кольца, и взаимодействия в ней будут
прерваны. Вдобавок, свернутое кольцо менее эффективно, чем
полнофункциональное кольцо, поскольку трафик вынужден пройти дополнительное
расстояние для достижения места назначения, поэтому рассмотренный
резервный режим — только временная мера до тех пор, пока неисправность не
будет устранена.
FDDI также может использовать топологию "звезда", в которой рабочие
станции присоединяются к концентратору, называемому концентратором с
двойным подключением (DAC, dual-attachment concentrator). Концентратор
может быть стоящим отдельно или присоединенным к двойному кольцу, в
общем формируя топологию, которая иногда именуется "двойным кольцом
деревьев" (dual ring of trees). Рабочие станции, напрямую скоммутированные с
концентратором, являются станциями с одиночным подключением (SASs,
single-attachment stations). Они присоединяются только к основному кольцу и не
могут пользоваться услугами, предоставляемыми сворачиванием кольца.
Спецификации FDDI определяют четыре типа портов» предназначенных для
подключения рабочих станций к сети. Они перечислены ниже.
ПА — для присоединения DAS к дополнительному кольцу.
П В — для присоединения DAS к основному кольцу.
ОМ- порт DAC для соединения с SAS.
О S- для подключения SAS к порту М концентратора.
Станции и концентраторы с двойным подключением имеют порты А и В,
используемые для соединения этих устройств в двойное кольцо. Сигналы из
основного кольца входят через порт В и выходят через порт А, в то время
290
Часть III. Сетевые протоколы
как сигналы из дополнительного кольца входят через порт А и выходят
через В. Станции с одиночным подключением имеют один порт S, который
связывает их с основным кольцом только через порт М концентратора с
двойным подключением.
^ Примечание ^
Ограничения в 500 рабочих станций и длины сети до 100 км основаны только
на использовании компьютеров DAS. Сеть FDDI, состоящая только из машин
SAS, может быть до 200 км длиной и поддерживать до 1000 рабочих станций.
Компьютеры DAS, присоединенные непосредственно к двойному кольцу,
функционируют как повторители, то есть восстанавливают сигналы во
время передачи каждого пакета в остальную сеть. Однако, если станция не
оборудована обходным переключателем, то в состоянии, когда система
выключена, она не передает пакеты дальше и сеть сворачивается. Обходной
переключатель (bypass switch) реализуется либо как часть платы сетевого
адаптера, либо как отдельно взятое устройство, позволяющее входным
сигналам проходить через станцию и попадать в остальную сеть, но при этом
сигналы не регенерируются. Для случая оптоволоконной сети здесь можно
провести аналогию с открытым окном, которое позволяет солнечным лучам
освещать комнату вместо того, чтобы включить электрический свет. Тем не
менее, как и в любой другой среде передачи, если сигнал не усиливать, то
он имеет тенденцию затухать. Когда слишком много соседних систем не
ретранслируют пакеты, то сигнал может ослабнуть до такой степени, что
станции не смогут прочитать его.
Функции DAC более напоминают MAU сети Token Ring с тем отличием,
что они формируются как логическое кольцо, в то время как сеть FDDI
использует топологию "звезда". Присоединение DAC к двойному кольцу
увеличивает длину основного кольца на расстояние, равное пути к каждой
присоединенной к нему рабочей станции и обратно, как показано на рис. 10.4.
И хотя DAC присоединен к основному и дополнительному кольцам, порты
М связывают рабочие станции только с основным кольцом. Таким образом,
несмотря на то, что сам DAC пользуется преимуществами
отказоустойчивости двойного кольца, обрыв кабеля, соединяющего рабочую станцию с
DAC, отключает ее от сети. Тем не менее, DAC способен динамически
исключить неисправную станцию из кольца (снова похоже на MAU Token
Ring), поэтому указанная проблема оказывает влияние только на отдельную
рабочую станцию, но не на все кольцо.
Иногда возможно присоединить DAS к двум портам DAC для того, чтобы
обеспечить резервную линию связи на случай, если активная линия будет
нарушена. Такое соединение называется двойным подключением (dual homing).
В целом, такой способ отличается от прямого соединения DAS с двойным
кольцом по причине того, что порты А и В рабочей станции подключаются
Глава 10. Высокоскоростные магистрали
291
к портам М концентратора. Порты М связываются только с основным
кольцом, поэтому системы с такой коммутацией просто имеют запасное
соединение с основным кольцом, а не соединение с обоими кольцами.
Коммутатор
рабочей группы
Основное кольцо
FDDI
Дополнительное
кольцо
Коммутатор/концентратор
информационного центра
Рис. 10.4. Концентраторы с двойным подключением (DACs),
присоединенные к двойному кольцу, обеспечивают подключение
множества станций с одиночным подключением (SASs)
Сеть FDDI позволяет каскадировать концентраторы. Это утверждение
означает, что можно подключить один DAC к порту М другого DAC, чтобы
расширить сеть. На количество уровней нет ограничений, пока соблюдается
максимальное количество рабочих станций, допустимое для кольца. Также
возможно создать кольцо из двух станций, соединив порты S двух
компьютеров SAS или подключив порт S к порту А или В. Некоторые адаптеры
FDDI могут потребовать для этого специальной настройки.
292
Часть III. Сетевые протоколы
В случае сети, использующей FDDI для всех своих систем, администраторы
обычно присоединяют серверы и другие важные компьютеры
непосредственно к двойному кольцу как станции DAS для того, чтобы избежать
простоя в результате неисправности кабеля. Для одиночных подключений
рабочих станций пользователей применяются DAC. Если FDDI задействуется в
качестве магистрали, то рекомендуется подключать все системы как DAS.
Подсистемы FDDI
Функции, выполняемые протоколом FDDI, разбиты на четыре отдельных
уровня.
□ Уровень, зависящий от среды передачи данных (PMD, Physical Media
Dependent). Подготавливает данные для передачи через определенный тип
сетевой среды передачи данных.
□ Физический уровень (PHY, Physical). Кодирует и декодирует данные
пакета в формат, подходящий для передачи через сетевую среду, и отвечает
за тактовые импульсы и синхронизацию кольца.
□ Уровень управления доступом к среде (MAC, Media Access Control).
Формирует пакеты FDDI, применяя кадр, содержащий адресные данные,
данные планирования и маршрутизации, а затем осуществляет доступ к
сетевой среде.
□ Уровень управления станциями (SMT, Station Management). Обеспечивает
функции управления для кольца FDDI, включая добавление и удаление
станций из кольца, выявление отказов и переконфигурацию, определение
соседей и сбор статистики.
Стандарты FDDI состоят из отдельных документов для каждого из этих
уровней, а также спецификаций для некоторых функциональных
возможностей определенных уровней. Действия, выполняемые каждым уровнем,
обсуждаются в следующих подразделах.
^ Примечание JJ
Стандарты FDDI так же, как стандарты ANSI и ISO, нельзя получить свободно
через Интернет или как-либо иначе. Однако их можно приобрести в форме для
печати либо на CD-ROM, или у Национального Института Стандартизации США
по адресу http://www.ansi.org или у Global Engineering Documents по адресу
http://global.his.com.
Уровень, зависящий от среды передачи данных
Уровень, зависящий от среды передачи данных (PMD), отвечает за физические
компоненты, имеющие отношение к передаче данных через определенный
тип сетевой среды. Стандарты FDDI описывают два возможных варианта
физического уровня.
Глава 10. Высокоскоростные магистрали
293
Оптоволокно
Оптоволоконные стандарты PMD определяют нормативы одномодового и
многомодового оптоволоконного кабеля, а также рабочие характеристики
других компонентов, вовлеченных в создание сигнала, включая источники
оптического излучения, фотодетекторы, трансиверы и разъемы интерфейса
к среде передачи. Например, источники оптического излучения должны
обладать способностью передавать сигнал мощностью 25 мкВт, а
фотодетекторы должны различать сигнал мощностью от 2 мкВт.
Изначально стандарт был ориентирован на применение многомодового
оптоволоконного кабеля с толщиной волокна 62,5/125 микрон, хотя кабели с
другим диаметром сердечника и оболочки, такие как 50/125, 80/125 и 100/140,
также допустимы. Наряду с этими кабелями можно использовать одномодо-
вый оптоволоконный кабель, как определено в стандарте SMF-PMD, с
диаметром сердечника от 8 до 10 микрон и диаметром оболочки 125 микрон.
Одномодовое оптоволокно обеспечивает значительно меньшее затухание
сигнала по сравнению с многомодовым, что позволяет прокладывать его на
большие расстояния. Однако оно также дороже и менее гибкое, что делает
его установку более сложной.
Максимальное расстояние 2 км между двумя рабочими станциями FDDI,
упоминавшееся ранее, относится к многомодовому оптоволоконному
кабелю. Для одномодового кабеля эта дистанция может быть увеличена до 40—
60 км. Существует также стандарт для недорогого многомодового
оптоволоконного кабеля. Он называется LCF-PMD и позволяет располагать рабочие
станции на расстоянии, не превышающем 500 м. Все перечисленные
оптоволоконные кабели используют одинаковую длину волны (1300 нм),
поэтому их можно интегрировать в одной сети до тех пор, пока строго
соблюдаются нормативы для кабельной системы.
Витая пара
Стандарт TP-PMD, опубликованный в 1995 г. и иногда называемый CDDI
(Cooper Distributed Data Interface, распределенный проводной интерфейс
передачи данных), нацелен на применение стандартной неэкранированной
витой пары (UTP) категории 5 или экранированной витой пары (STP)
Туре 1. В обоих случаях максимальное расстояние, на которое может быть
проложен кабель, составляет 100 м. Кабель "витая пара" обычно
применяется для подключения SAS к концентратору, а для магистрали используется
оптоволоконный кабель. Это позволяет осуществлять прокладку
горизонтальной кабельной системы недорогим медным кабелем и одновременно
задействовать все преимущества оптоволоконной среды передачи для
магистрали без необходимости в мосте или маршрутизаторе между FDDI и
Ethernet. CDDI никогда не имел на рынке большой популярности, возможно
из-за того, что вскоре после его внедрения появился Fast Ethernet.
294
Часть III. Сетевые протоколы
Физический уровень
В то время как уровень PMD определяет характеристики определенного
типа среды передачи, уровень PHY реализуется набором микросхем платы
сетевого адаптера и обеспечивает независимый от среды передачи интерфейс
к уровню MAC, расположенному над ним. В оригинальных стандартах FDDI
уровень PHY отвечает за кодирование и декодирование пакетов,
сформированных уровнем MAC, в передаваемые по кабелю сигналы. FDDI
использует схему кодирования, которая называется NRZI 4B/5B (Non-Return to
Zero Inverted, кодирование без возврата к нулю с инверсией). Она в
значительной степени более эффективна, чем манчестерское и разностное
манчестерское кодирование, применяемые в Ethernet и Token Ring.
^ Примечание ^|
Для получения более подробной информации о технологиях передачи
сигналов Физического уровня см. главу 2.
Однако стандарт TP-PMD применяет иную схему кодирования,
называющуюся MLT-3 (Multi-Level Transition, многоуровневый переход), в которой сигнал
представляется тремя значениями уровня потенциала сигнала, вместо двух,
принятых в NRZI 4B/5B. Обе эти схемы обеспечивают сигнал, необходимый
для синхронизации тактовых генераторов передающей и принимающей
рабочих станций за счет надежного распознавания передаваемых данных.
Уровень управления доступом к среде
Уровень MAC принимает протокольные блоки данных (PDU) размером до
9000 байт от протокола Сетевого уровня и формирует пакеты размером до
4500 байт, инкапсулируя данные внутрь кадра FDDI. Этот уровень также
отвечает за согласованный доступ к среде передачи данных, объявляя и
формируя маркеры.
Кадры данных
Большинство пакетов, передаваемых станцией FDDI, — это кадры данных.
Кадр данных может переносить данные протокола Сетевого уровня, МАС-
данные, используемые при объявлении маркера и в процессе испускания
маяка, или данные управления станциями.
Кадры FDDI содержат информацию, преобразованную в символы. Символ
(symbol) — это 5-битовая двоичная последовательность, которую схема
кодирования NRZI 4B/5B формирует для передачи 4-битового значения. Таким
образом, два символа эквивалентны одному байту. Такое кодирование
отводит значения для 16 шести адцатеричных символов данных: восьми символов
управления (control symbols) для выполнения специальных функций (некото-
Глава 10. Высокоскоростные магистрали
295
рые из которых указываются в формате кадра) и восьми нарушающих
символов (violation symbols), не используемых FDDI. В табл. 10.1 перечислены
символы, которыми оперирует FDDI, включая служебные, и 5-битовые
последовательности, соответствующие им.
Таблица 10.1. Значения символов FDDI
Символ
5-разрядное двоичное значение
0 (двоичное 0000) 11110
1 (двоичное 0001) 01001
2 (двоичное 0010) 10100
3 (двоичное 0011) 10101
4 (двоичное 0100) 01010
5 (двоичное 0101) 01011
6 (двоичное 0110) 01110
7 (двоичное 0111) 01111
8 (двоичное 1000) 10010
9 (двоичное 1001) 10011
А (двоичное 1010) 10110
В (двоичное 1011) 10111
С (двоичное 1100) 11010
D (двоичное 1101) 11011
Е (двоичное 1110) 11100
F (двоичное 1111) 11101
Q (Quiet, молчание) 00000
Н (Halt, останов) 00100
I (Idle, простой) 11111
J (Starting Delimiter 1, первый символ гра- 11000
ницы начала кадра
К (Ending Delimiter 2, второй символ гра- 10001
ницы начала кадра
Т (Ending Delimiter, конец кадра) 01101
R (Reset, двоичный ноль) 00111
S (Set, двоичная единица) 11001
296
Часть III. Сетевые протоколы
Формат кадра данных FDDI показан на рис. 10.5. Назначение полей кадра
описано ниже.
□ Преамбула (PA, Preamble). Содержит как минимум 16 символов простоя,
то есть чередующихся 0 и 1, которые другие системы в сети используют
для синхронизации своих тактовых генераторов и после этого отбрасывают.
□ Начальный разделитель (St), Starting Delimiter), 1байт. Представляет
собой символы J и К, определяющие начало кадра.
□ Поле управления кадром (FC, Frame Control), 1 байт. Содержит два
символа, идентифицирующие тип размещенных в поле данных. Вот
некоторые наиболее часто встречающиеся значения.
• 40 — пустой кадр.
• 41, 4F — кадр управления станциями. Указывает на то, что поле
данных состоит из протокольных блоков данных SMT, которые, в свою
очередь, составлены из SMT-заголовка и SMT-информации.
• С2, СЗ — кадр MAC. Свидетельствует о том, что кадр является либо
МАС-кадром объявления (С2), либо МАС-кадром маяка (СЗ). Эти
кадры посылаются для восстановления после сбоев, возникших в
процессе передачи маркера, таких как отсутствие маркера или неудача в
приеме каких-либо данных в принципе.
• 50, 51 — кадр LLC. Информирует о том факте, что поле данных
содержит стандартный IEEE 802.3 кадр LLC. Пакеты FDDI,
переносящие данные приложений, размещают здесь кадры подуровня
управления логической связью (LLC).
• 60 — конструируемый кадр.
• 70 —зарезервированный кадр.
□ Адрес назначения (DA, Destination Address), 6 байтов. Задает МАС-адрес
следующей системы в сети, которая должна принять кадр, или
определяет групповой или широковещательный адрес.
□ Адрес источника (SA, Source Address), 6 байтов. Указывает МАС-адрес
системы, отправившей пакет.
□ Поле данных (Data), переменной длины. Включает в себя данные
протокола Сетевого уровня или SMT-заголовок и данные, или МАС-данные,
зависящие от функции кадра, указанной в поле управления кадром.
□ Контрольная последовательность кадра (FCS, Frame Check Sequence),
4 байта. Содержит значение циклического избыточного кода, задаваемое
передающей системой, которое будет повторно вычислено получателем и
сравнено с этим значением для того, чтобы проверить, не был ли пакет
поврежден при передаче.
Глава 10. Высокоскоростные магистрали
297
Преамбула (8 байт)
Начальный разделитель (1 байт)
Поле управления кадром (1 байт)
Адрес назначения (6 байтов)
Адрес источника (6 байтов)
Данные (переменной длины)
Контрольная последовательность
кадра (4 байта)
Конечный раделитель (4 бита)
Поле статуса кадра (12 битов)
Рис. 10.5. Кадр данных FDDI
□ Конечный разделитель (ED, Ending Delimiter), 4 бита. Одиночный символ
Т, являющийся признаком завершения кадра.
□ Поле статуса кадра (FS, End of Frame Sequence), 12 битов. Содержит три
индикатора, которые могут принимать значения R (Reset, сброшен) и S
(Set, установлен). Все три индикатора сброшены, когда кадр передается
первый раз, и могут быть изменены промежуточными системами, когда
они повторно передают пакет. Функциональное назначение этих трех
указателей рассматривается ниже.
• Е (Error, ошибка). Свидетельствует о том, что система выявила
ошибку либо в поле контрольной последовательности кадра, либо в
формате кадра. Любая станция, получившая кадр со значением S этого
указателя, немедленно отбрасывает этот кадр.
• A (Acknowledge, подтверждение распознавания адреса). Устанавливается
в том случае, если система определила, что адрес назначения кадра
применим к ней, по причине того, что поле назначения содержит
либо ее МАС-адрес, либо широковещательный адрес.
298
Часть III. Сетевые протоколы
• С (Сору, подтверждение копирования кадра). Выставленное значение в
этом поле говорит о том, что система успешно скопировала
содержимое кадра в свои буферы памяти. При нормальных условиях указатели
А и С устанавливаются оба. Тот факт, что указатель А установлен, а
указатель С — нет, свидетельствует о том, что кадр не был сохранен в
памяти системы. Наиболее вероятной причиной этого может быть
переполнение системы предназначенным ей трафиком.
Передача маркера
FDDI применяет передачу маркера для своего механизма управления
доступом к среде передачи данных, подобно протоколу Token Ring. Специальный
пакет, называющийся маркером (token), циркулирует вокруг сети, и только
системе, обладающей маркером, дозволено передавать данные.
Дополнительная возможность, в терминологии Token Ring получившая название
раннего освобождения маркера (early token release) и позволяющая системе
отправить в сеть новый маркер сразу после передачи своего последнего пакета, в
сети FDDI является стандартной. Системы FDDI также могут передавать
несколько пакетов, прежде чем освободить маркер для следующей станции.
Когда пакет пройдет по всему кольцу и вернется к системе, которая создала
его, эта система удаляет пакет из кольца, чтобы предотвратить его
бесконечное циркулирование.
Формат кадра маркера показан на рис. 10.6. Назначение полей описано ниже.
□ Преамбула (PA, Preamble). Содержит как минимум 16 символов простоя,
то есть чередующихся 0 и 1, которые другие системы в сети используют
для синхронизации своих тактовых генераторов и после этого отбрасывают.
□ Начальный разделитель (SD, Starting Delimiter), 1 байт. Представляет
собой два символа J и К, определяющие начало кадра.
□ Поле управления кадром (FC, Frame Control), 1 байт. Содержит два
символа, которые указывают на функции кадра, используя для этого
следующие шестнадцатеричные значения:
• 80 — маркер без ограничений;
• СО — маркер с ограничениями.
□ Конечный разделитель (ED, Ending Delimiter), 1 байт. Содержит два
символа Т, являющихся признаком завершения кадра.
FDDI — детерминированный сетевой протокол. Умножив количество систем
в сети на время, необходимое для прохождения пакета, можно вычислить
максимальный интервал времени, который может потребоваться системе для
того, чтобы получить маркер. Оно называется номинальным временем оборота
маркера по кольцу (target token rotation time). Сети FDDI обычно
функционируют в асинхронном режиме кольца, в котором любая система может
передавать данные, если она захватила маркер. Некоторые сети FDDI могут также
Глава 10. Высокоскоростные магистрали
299
работать в синхронном режиме кольца, который позволяет администраторам
выделить системе или группе систем часть полной полосы пропускания
сети. Все другие системы в сети работают асинхронно и соревнуются за
оставшуюся полосу пропускания обычным образом.
Преамбула (8 байтов)
Начальный разделитель (1 байт)
Поле управления кадром (1 байт)
Конечный разделитель (4 бита) Рис 10 б Кадр маркера FDDI
Уровень управления рабочими станциями
В отличие от Ethernet и большинства других протоколов Канального уровня,
FDDI имеет встроенные в него возможности мониторинга и управления
рабочими станциями. Уровень SMT (Station Management Layer) отвечает за
обслуживание кольца и диагностику операций в сети, таких как:
□ инициализация станции;
□ добавление и удаление станции;
□ управление соединением;
□ управление конфигурацией;
□ локализация неисправности и устранение;
□ планирование сетевой политики;
□ сбор статистических данных.
Компьютер может содержать более одного адаптера FDDI, и каждый
адаптер имеет свою собственную реализацию уровней PMD, PHY и MAC, но
реализация SMT едина для всей системы. SMT-сообщения переносятся
внутри стандартных кадров данных FDDI со значением 41 или 4F в поле
управления кадром. В информационное поле кадра данных FDDI
вкладывается протокольный блок данных SMT, составленный из SMT-заголовка и
поля данных SMT. Формат SMT PDU показан на рис. 10.7. Назначение
полей описано ниже.
□ Класс кадра (Frame Class), 1 байт. Определяет функции сообщения,
используя перечисленные ниже значения.
• 01 — Кадр информации об окружении (Neighborhood Information
Frame). Станции FDDI периодически передают объявления своих
300
Часть III. Сетевые протоколы
МАС-адресов, которые позволяют системам в сети определить адреса
своих соседей вверх по течению (потока данных) и вниз по течению.
Этот механизм известен как протокол объявления соседей (Neighbor
Notification Protocol). Такие сообщения могут также использоваться в
процессе мониторинга сети в целях создания карты кольца FDDI.
Класс кадра (1 байт)
Тип кадра (1 байт)
Идентификатор версии (2 байта)
Идентификатор транзакции
(4 байта)
Идентификатор станции (8 байтов)
Заполнение (2 байта)
Длина поля данных (2 байта)
Данные SMT (переменной длины)
Рис. 10.7. Формат PDU кадра управления рабочими станциями FDDI
• 02 — Кадр информации о статусе-конфигурации (Status Information
Frame-Configuration, SIF-Cfg). Служит для запроса и предоставления
информации о конфигурации системы в целях локализации
неисправности, составления карты кольца и сбора статистики.
• 03 — Кадр информации о статусе-функционировании (Status Information
Frame-Operation, SIF-Opt). Используется для запроса и
предоставления информации р работе системы в целях локализации
неисправности, составления карты кольца и сбора статистики.
• 04 — Эхо-кадр (Echo Frame). Применяется при тестировании
прохождения кадра между системами FDDI методом возвратной петли для
проверки связи.
• 05 — Кадр предоставления ресурса (Resource Allocation Frame, RAF).
Предназначен для выработки сетевой политики, например, для
выделения синхронной полосы пропускания.
• 06 — Кадр отказа в доступе (Request Denied Frame, RDF). Выдается в
случае отрицательного ответа на запрос, посланный другой станцией,
Глава 10. Высокоскоростные магистрали
301
по причине неподдерживаемого значения поля идентификатора
версии или ошибочной длины.
• 07 — Кадр отчета о статусе (Status Report Frame, SRF). Используется
для доставки сетевым администраторам отчета о статусе станции при
возникновении определенных условий, более известных как "ловушки
SNMP". Некоторые из этих условий перечислены ниже.
0 Ошибка кадра (Frame Error Condition). Свидетельствует о
возникновении необычайно большого количества ошибок кадров.
0 Условие LER (LER Condition). Указывает на количество ошибок
связи с портом, превышающее заданный лимит.
0 Дублирующийся адрес (Duplicate Address Condition). Указывает на
то, что система и ее сосед вверх по течению имеют дублирующиеся
адреса.
0 Нарушение сворачивания (Peer Wrap Condition). Уведомляет о том,
что станция DAS, работающая в режиме сворачивания (wrapped
mode), или говоря другими словами, перенаправляющая данные из
основного кольца в дополнительное, работает неправильно по
причине обрыва кабеля или из-за другой неисправности.
0 Условие закрепления (Hold Condition). Возникает при переходе
системы в одно из двух состояний фиксации. Станция может
находиться в состоянии holding-prm (закреплена за основным кольцом)
или holding-sec (закреплена за дополнительным кольцом).
0 Невозможность копирования (NotCopied Condition). Извещает о
переполнении буферов памяти системы, в результате чего пакеты
ретранслируются без копирования в буферы.
0 Ошибка ЕВ (ЕВ Error Condition). Вырабатывается в случае ошибки
"эластичного" буфера у любого из портов.
0 Изменение МАС-маршрута (MAC Path Change). Свидетельствует о
том, что текущий маршрут был изменен для какого-либо MAC-
адреса системы.
0 Изменение маршрута порта (Port Path Change). Свидетельствует о
том, что текущий маршрут был изменен для какого-либо из портов
системы.
0 Изменение МАС-соседа (MAC Neighbor Change). Указывает на
обновление соседа вниз или вверх по течению.
0 Нежелательное соединение (Undesirable Connection). Возникает при
неподходящем соединении с системой.
• 08 — Кадр управления параметрами-чтение (Parameter Management
Frame-Get, PMF-Get). Предоставляет возможность просмотреть атри-
302
Часть III. Сетевые протоколы
буты в базе данных управляющей информации (MIB, management
information base) удаленной системы.
• 09 — Кадр управления параметрами-запись (Parameter Management
Frame-Set). Предоставляет возможность установить значения
определенных атрибутов MIB на удаленной системе.
• FF —, Кадр дополнительного сервиса (Extended Service Frame, ESF).
Используется в случае определения новых сервисов SMT.
□ Тип кадра (Frame Type), 1 байт. Идентифицирует тип сообщения,
содержащегося в кадре. Возможны несколько значений.
• 01 — объявление.
• 02 — запрос.
• 03 — ответ.
□ Идентификатор версии (Version ID), 2 байта. Определяет структуру поля
данных SMT. Может принимать одно из двух значений.
• 0001 — указывает на версию ниже, чем 7х.
• 0002 — указывает на версию 7х.
□ Идентификатор транзакции (Transaction ID), 4 байта. Содержит значение,
используемое для сопоставления сообщений запроса и ответа.
□ Идентификатор станции (Station ID), 8 байтов. Представляет собой
уникальный идентификатор станции, состоящий из двух байт, задаваемых
пользователем, и 6-байтового МАС-адреса платы сетевого адаптера.
□ Заполнение (Pad), 2 байта. Содержит два байта со значением 00,
подгоняющие общий размер заголовка до 32 байт.
□ Длина поля данных (Info Field Length), 2 байта. Объявляет длину поля
данных SMT.
□ Данные SMT (SMT Info), переменной длины. Включает один или более
параметров, каждый из которых состоит из нескольких подполей.
• Тип параметра (Parameter Type), 2 байта. Определяет назначение
параметра. Первый из двух байтов указывает класс параметра. Возможны
значения, перечисленные ниже.
0 00 — общие параметры.
0 10 — SMT-параметры.
0 20 — МАС-параметры.
0 32 — РАТН-параметры.
0 40 — PORT-параметры.
• Длина параметра (Parameter Length), 2 байта. Объявляет общую длину
полей индекса ресурса и значения параметра.
Глава 10. Высокоскоростные магистрали
303
• Индекс ресурса (Resource Index), 4 байта. Идентифицирует объект
MAC, PATH или PORT, описываемый параметром.
• Значение параметра (Parameter Value), переменной длины. Содержит
полезную информацию параметра.
Системы FDDI применяют SMT-сообщения, чтобы добавить себя в кольцо
после включения питания. Процедура состоит из нескольких этапов, в ходе
которых инициализируется кольцо и тестируется связь с сетью. Кроме того,
система активирует свое соединение с кольцом, используя кадр маркера
объявления, который определяет, существует ли уже в сети маркер. Если
существование подтверждается, маркер объявления конфигурирует текущий
маркер так, чтобы включить заново добавляемую систему в его маршрут.
В другом случае все системы генерируют кадры объявления, которые
позволяют им определить значение времени обращения маркера и систему,
которая должна создать маркер.
Вследствие большого размера SMT-заголовка и количества функций,
выполняемых SMT-сообщениями, по сравнению с другими протоколами, в
сети FDDI осуществляется тщательный контроль над переполнением.
FDDI-II
FDDI-II — следующий за FDDI стандарт, который был разработан с той
целью, чтобы обеспечить более оптимальную форму выделения полосы
пропускания, чем режим синхронного кольца оригинального стандарта FDDL
FDDI-II предназначен для сетей, которые требуют повышенной
производительности для приложений реального времени, таких как потоковое аудио и
видео. По существу, FDDI-II — это технология коммутации каналов, в
которой существующая полоса пропускания может быть разделена на 16
каналов различной емкости. После чего определенному приложению может быть
назначен выделенный канал между клиентом и сервером, обеспечивающий
соответствующую постоянную пропускную способность.
FDDI-II никогда не имел значительного рынка в основном из-за того, что
технология требует, чтобы все системы в сети работали с оборудованием
FDDI-II. Если в кольце присутствуют какие-либо станции стандартного
FDDI, то все системы сети будут работать в стандартном FDDI-режиме.
Gigabit Ethernet
Когда 100 Мбит/с сетевые технологии, подобные -FDDI, были впервые
представлены, большинство горизонтальных сетей использовали Ethernet 10
Мбит/с. Эти новые протоколы преимущественно применялись для создания
магистралей. Сейчас, когда Fast Ethernet стремительно завоевывает рынок
горизонтальных сетей, магистраль 100 Мбит/с в большинстве случаев
оказывается неподходящей для поддержки соединений между коммутаторами,
304
Часть III. Сетевые протоколы
обслуживающими несколько сетей Fast Ethernet. Gigabit Ethernet был
разработан как следующее поколение сети Ethernet. Его быстродействие
составляет 1 Гбит/с или 1000 Мбит/с, что в десять раз быстрее, чем скорость
работы Fast Ethernet.
Хотя это все еще сравнительно новая технология, для Gigabit Ethernet
фактически гарантировано место на рынке, так как, подобно Fast Ethernet,
предшествующему ему, он реализует такой же формат кадра, размер кадра и
метод управления доступом к среде передачи данных, как ранний стандарт
Ethernet 10 Мбит/с. Fast Ethernet потеснил позиции FDDI как
доминирующего 100 Мбит/с сетевого решения по причине того, что он не требует от
администратора сети использования для магистрали другого протокола.
Таким же образом Gigabit Ethernet позволяет администратору отказаться от
применения для своей магистрали иного протокола, подобного ATM.
Сетевой комплекс, объединяющий Ethernet и ATM или FDDI сети, требует
преобразования данных на Сетевом уровне из одного формата кадра в
другой. Соединение вместе двух сетей Ethernet, даже если они работают с
различной скоростью, это уже прерогатива Канального уровня, так как формат
кадров остается неизменным. Помимо этого использование Ethernet по всей
сети сводит на нет потребность в подготовке администраторов сети к работе
с новым протоколом и в приобретении нового оборудования для
тестирования и диагностики. Подводя черту, замечу, что в большинстве случаев
возможно модернизировать магистраль Fast Ethernet до Gigabit Ethernet без
полной замены концентраторов, коммутаторов и кабеля. Однако, это не
означает, что не потребуется некоторая модернизация сетевого оборудования.
Для концентраторов и коммутаторов понадобятся модули, поддерживающие
новый протокол, и оборудование для тестирования и диагностики также
может потребовать обновления для работы на более высокой скорости.
Архитектура Gigabit Ethernet
Gigabit Ethernet определен в документе 802.3z, опубликованном IEEE в июне
1998 г. Эта же рабочая группа 802.3 также отвечает за стандарты Ethernet и
Fast Ethernet, принятые раньше. IEEE 802.3 рассматривает сеть, работающую
со скоростью 1000 Мбит/с в полудуплексном или полнодуплексном режиме
и способную использовать различные типы сетевой среды передачи. Кадр,
применяемый для инкапсуляции пакетов, идентичен кадру 802.3 Ethernet, и
протокол использует тот же механизм управления доступом к среде
передачи данных с контролем несущей и обнаружением конфликтов (CSMA/CD),
как и другие реализации Ethernet.
Подобно Ethernet первых поколений и Fast Ethernet стандарт Gigabit
Ethernet содержит элементы Физического и Канального уровней, как показано на
рис. 10.8. Канальный уровень состоит из подуровней управления логической
связью (LLC) и управления доступом к среде (MAC), которые являются об-
Глава 10. Высокоскоростные магистрали
305
щими для всех протоколов IEEE 802. Подуровень LLC идентичен для всех
стандартов Ethernet, его использующих, в соответствии с требованиями
документа IEEE 802.2. Лежащий в основе подуровня MAC механизм
CSMA/CD, концептуально тот же самый, что и в сети обычного Ethernet
или Fast Ethernet, но с небольшими отклонениями в способе реализации.
Управление логической связью
Управление доступом к среде
Согласующий подуровень
Интерфейс Gigabit, независимый от среды печати
Подуровень схемы кодирования сигналов
физической среды
Подуровень соединения с физической
средой передачи
Подуровень, зависящий от физической
среды передаци
Интерфейс, зависящий от физической
среды передачи
Физическая
среда передачи
rsa
Канальный уровень
Физический уровень
Рис. 10.8. Архитектура протокола Gigabit Ethernet
Управление доступом к среде
передачи данных
Gigabit Ethernet разработан для поддержки полнодуплексных операций, как
основного режима обмена сигналами. Когда системы могут одновременно
передавать и принимать данные, нет необходимости в механизме
управления доступом к среде, подобном CSMA/CD. Тем не менее, для того, чтобы
системы в сети lOOOBaseX могли работать в полнодуплексном режиме,
понадобилось внесение некоторых изменений в механизм CSMA/CD. Механизм
выявления коллизий сети Ethernet работает правильно только в случае, если
конфликт был выявлен до того, как была закончена передача пакета. Как
только система заканчивает передачу пакета, данные удаляются из ее
буферов, и далее уже невозможно повторно передать этот пакет, если возникает
новая коллизия.
^ Примечание ^Д
Для получения более подробной информации о принципах работы MAC-
механизма CSMA/CD см. главу 8.
306
Часть Ш. Сетевые протоколы
Если скорость, с которой система передает данные, возрастает, интервал
времени, отведенный на обнаружение коллизии (называемый задержкой
подтверждения сигнала), уменьшается. Когда Fast Ethernet увеличил
быстродействие сети Ethernet в десять раз, то это ускорение было
скомпенсировано уменьшением максимального диаметра сети. Такая политика позволила
протоколу сохранить не только минимальный размер пакета в 64 байта,
определенный еще в стандарте оригинального Ethernet, но и способность
эффективно выявлять коллизии.
Вне всякого сомнения, с дальнейшим десятикратным ростом
производительности, уменьшать максимальный диаметр сети было непрактично, так как в
результате сеть была бы не длиннее 20 м или около того. Поэтому стандарт
802.3z удлинил сигнал несущей CSMA/CD с 64 байт до 512 байт. Это
означает, что, несмотря на то, что минимальный размер пакета в 64 байта остается
прежним, подуровень MAC системы Gigabit Ethernet добавляет к маленьким
пакетам сигнал расширения несущей для того, чтобы дополнить пакеты до
512 байт. Тем самым, минимальное время, требуемое для передачи каждого
пакета, становится достаточным для правильной работы механизма выявления
коллизий, даже если сеть имеет такой же диаметр, как Fast Ethernet.
Биты расширения несущей добавляются в пакет Ethernet после контрольной
последовательности кадра. Таким образом, несмотря на то, что они являются
частью кадра, добавленной в целях выявления коллизий, биты расширения
несущей отбрасываются системой назначения перед вычислением
контрольной последовательности и сравнением результата со значением в пакете.
Однако подобное растягивание длины кадра может сильно повлиять на
эффективность работы сети. Небольшие пакеты могут содержать до 448 битов
заполнения (512—64), в результате чего пропускная способность поднимается
очень незначительно и близка к Fast Ethernet. Для решения этой проблемы
стандарт 802.3z вводит наряду с расширением несущей возможность пакетной
передачи (packet bursting), в процессе которой несколько пакетов передаются
впритык друг к другу до тех пор, пока не сработает ограничение по
длительности пачки импульсов, равное 1500. Это компенсирует потерю, вызванную
битами расширения несущей, и возвращает сети обратно ее скорость.
Когда Gigabit Ethernet используется для магистральных сетей (для которых
он изначально и предназначался), полнодуплексное соединение между
коммутаторами и серверами является наиболее практичным выбором.
Дополнительные расходы при этом минимальны и, в случае исключения проблемы
выявления коллизий, это увеличивает теоретическую пропускную
способность сети до 2 Гбит/с.
Интерфейс Gigabit Mil
В спецификациях Gigabit Ethernet интерфейс между Канальным и
Физическим уровнями называется интерфейсом Gigabit, независимым от среды пе-
Глава 10. Высокоскоростные магистрали
307
редачи (GMII, Gigabit Media Independent Interface), он позволяет любому
стандарту Физического уровня взаимодействовать с подуровнями MAC и
LLC. GMII — это расширение интерфейса, независимого от среды
передачи (МИ, Media Independent Interface), введенного в Fast Ethernet, которое
поддерживает скорости передачи в 10, 100 и 1000 Мбит/с и имеет
раздельные 8-разрядные тракты для передачи и приема данных при
полнодуплексном обмене данными. GMII также определяет два сигнала, которые
могут быть прочитаны подуровнем MAC, осуществляющие функции
контроля несущей (carrier sense) и обнаружения коллизий (collision detect). Один
из сигналов опрашивает линию на предмет наличия несущей, а другой
информирует о текущих коллизиях. Эти сигналы передаются Канальному
уровню посредством согласующего подуровня, расположенного между GMII
и подуровнем MAC.
GMII функционально разбит на три своих собственных подуровня,
перечисленных ниже.
□ Подуровень кодирования сигналов физической среды.
□ Подуровень соединения с физической средой.
□ Подуровень, зависящий от физической среды передачи данных.
В следующих разделах обсуждаются функции, выполняемые этими
подуровнями.
Подуровень кодирования сигналов
физической среды
Подуровень кодирования сигналов физической среды (PCS, Physical Coding
Sublayer) отвечает за кодирование и декодирование сигналов, передаваемых
между ним и подуровнем соединения с физической средой передачи (РМА).
Все возможные варианты Физического уровня, определенные в документе
802.3z, используют схему кодирования 8В/10В, которая была заимствована
из стандартов ANSI Fibre Channel. В этой системе каждый 8-разрядный
символ данных представлен 10-разрядным кодом. Некоторые коды являются
символами управления, подобными используемым МАС-механизмом
расширения несущей. Каждый код формируется разбиением восьми бит
данных на две группы, в первую из которых входят три самых старших разряда
(у), а вторая включает 5 младших битов (х). Для записи кода применяется
следующая нотация:
/Dx, у/,
где х и у - эквивалентные десятичные значения для этих групп.
Управляющие коды обозначаются таким же способом, за исключением того, что
символ D заменяется на К, при этом форма записи преобразуется к виду:
/Кх, у/.
308
Часть III. Сетевые протоколы
Т. Примечание J3
Fibre channel — это стандарт соединения устройств, который был разработан с
той целью, чтобы предоставить компьютерам высокоскоростной (до 800 Мбит/с)
доступ к периферийным устройствам, таким как RAID-массивы и другие
системы с внешней распределенной памятью, расположенным на незначительном
расстоянии от компьютера. .Это — не сеть в традиционном понимании этого
слова, тем не менее, fibre channel использует различные технологии, которые
пригодны для сетевых установок.
Идея, лежащая в основе этого типа кодирования, заключается в том, чтобы
сократить до минимума возможность появления последовательных 1 и 0,
которые затрудняют синхронизацию тактовых генераторов систем. Для
достижения оптимального результата каждая пара групп кода должна быть
составлена из:
□ пяти 0 и пяти 1;
□ шести 0 и четырех 1;
□ шести 1 и четырех 0.
fcj^ Примечание ^|
Физический уровень 1000BaseT не использует систему кодирования 8В/10В.
Для получения более подробной информации см. разд. "WOOBaseT" далее в
этой главе.
PCS также вырабатывает сигналы контроля несущей и обнаружения
коллизий и отвечает за управление процессом автоматического согласования,
активируемого для определения скорости, с которой должна работать плата
сетевого адаптера (10, 100, 1000 Мбит/с), и режима работы (полудуплексный
или полнодуплексный).
Подуровень соединения с физической средой
Подуровень соединения с физической средой (РМА, Physical Medium Attachment)
отвечает за преобразование кодовых групп, генерируемых PCS в
непрерывную последовательность, которая может быть передана по сетевой среде, и
преобразование потока последовательных бит, поступающего из сети, в
кодовые группы для использования вышележащими уровнями.
Подуровень, зависящий от физической
среды передачи данных
Подуровень, зависящий от физической среды передачи данных (PMD, Physical
Medium-Dependent), обеспечивает интерфейс между кодированными
сигналами, генерируемыми PCS, и физической сетевой средой передачи данных.
Это — то самое место, где формируются реальные оптические и электриче-
Глава 10. Высокоскоростные магистрали
309
ские сигналы, передаваемые через физическую среду, и откуда они
направляются в кабель через интерфейс, зависящий от среды передачи (МП).
Физический уровень
Под общим названием lOOOBaseX объединяются три варианта Физического
уровня для Gigabit Ethernet, определенные в документе 802.3z: два для
оптоволоконного кабеля и один для медной среды передачи. Другой вариант
медной среды передачи описан в отдельном документе IEEE 802.ЗаЬ,
который был утвержден в июне 1999 г. Три варианта Физического уровня в
802.3z были заимствованы из спецификаций ANSI ХЗТ11 Fibre Channel.
Использование существующих стандартов для этого критически важного
элемента технологии сильно ускорило процесс разработки как самих
стандартов Gigabit Ethernet, так и соответствующего сетевого оборудования. Вообще
говоря, lOOOBaseX опирается на те же типы оптоволоконного кабеля, что
применяются в FDDI и 100BaseFX (стандарт оптоволоконного Fast Ethernet), но
на более коротких расстояниях. Предельно допустимая длина сегмента
Gigabit Ethernet, задействующего одномодовый оптоволоконный кабель,
составляет 5 км.
^ Примечание ^Д
Для случая многомодового кабеля стандарт 802.3z стал первым использовать
на высоких скоростях в качестве источника света лазер. Большинство сетевых
технологий, реализуемых на основе оптоволокна, применяют лазеры только в
сочетании с одномодовым кабелем, в то время как сигналы для многомодового
кабеля создаются при помощи светодиодов. Эффект "дрожания" сигнала (jitter
effect), который был проблемой в предыдущих попытках совместить лазеры с
многомодовым кабелем, был разрешен при помощи переопределения
характеристик лазерных передатчиков, применяемых для генерации сигналов.
В отличие от раннего Ethernet и Fast Ethernet, оптоволоконные стандарты
Физического уровня для lOOOBaseX базируются не на свойствах
определенного типа кабеля, а скорее на свойствах оптических трансиверов, которые
генерируют сигнал в кабеле. Каждый из оптоволоконных стандартов
поддерживает несколько классов кабеля, использующих короткую или длинную
длину волны лазерных передатчиков. Возможные варианты Физического
уровня для lOOOBaseX описываются в следующих разделах.
1000BaseLX
lOOOBaseLX предназначен для прокладки сравнительно протяженных
магистралей, в которых данные передаются длинноволновым лазером с длиной
волны в диапазоне от 1270 до 1355 нанометров по многомодовому
оптоволоконному кабелю внутри здания или одномодовому кабелю в качестве более
протяженной линии связи, такой как соединение между зданиями в
университетской сети. Многомодовый оптоволоконный кабель с диаметром сер-
310
Часть III. Сетевые протоколы
дечника 50 или 62,5 микрон поддерживает линии связи длиной до 550 м, в
то время как 9-микронный оптоволоконный кабель — до 5000 м (5 км). Оба
типа оптоволоконного кабеля используют стандартные SC-коннекторы.
Типы кабеля, поддерживаемые 1000BaseLX, приведены в табл. 10.2.
Таблица 10.2. Кабельные спецификации WOOBaseLX
Тип кабеля
Одномодовый
Многомодовый
Многомодовый
Многомодовый
Диаметр
сердечника
9 микрон
50 микрон
50 микрон
62,5 микрон
Ширина
полосы
N/A
400 МГц/км
500 МГц/км
500 МГц/км
Максимальная
длина линии связи
5000 м
550 м
550 м
550 м
lOOOBaseSX
В lOOOBaseSX оптический сигнал генерируется при помощи
коротковолнового лазера с длиной волны в диапазоне от 770 до 860 нанометров. Этот
стандарт ориентирован на короткие магистрали и горизонтальные
кабельные системы. Он более экономичен, чем lOOOBaseLX, так как берет за
основу только относительно недорогой многомодовый оптоволоконный кабель в
нескольких вариациях и лазеры для коротковолновой передачи, такие же,
какие обычно применяются в приводах CD-ROM и проигрывателях
компакт-дисков. Присутствующее на рынке оборудование для Gigabit Ethernet в
большинстве случаев изготовлено именно под этот стандарт.
Типы кабеля, поддерживаемые lOOOBaseSX, приведены в табл. 10.3.
Таблица 10.3. Кабельные спецификации lOOOBaseSX
Тип кабеля
Многомодовый
Многомодовый
Многомодовый
Многомодовый
Диаметр
сердечника
50 микрон
50 микрон
62,5 микрон
62,5 микрон
Ширина
полосы
400 МГц/км
500 МГц/км
160 МГц/км
200 МГц/км
Максимальная длина
линии связи
500 м
550 м
220 м
275 м
1000BaseLH
lOOOBaseLH (LH — аббревиатура от Long Haul, дальняя связь) не является
стандартом, утвержденным IEEE, и даже не находится в процессе
рассмотрения. Это спецификация Физического уровня, разработанная группой про-
Глава 10. Высокоскоростные магистрали
311
изводителей сетевого оборудования, включающей 3Com и Cisco, которая
искала Gigabit Ethernet-решение для длинных дистанций, подходящее для
применения в региональных вычислительных сетях. Какие-либо
определенные виды кабеля за стандартом еще не закреплены, поэтому разные
производители работают с различными реализациями. 3Com, например,
остановился на двух вариантах, оба из которых используют 9-микронный
одномодовый кабель. Один светопровод с длиной волны 1310 нанометров
предназначен для расстояний от 1 до 49 км, другой кабель рассчитан на
длину волны 1550 нм и расстояния от 50 до 100 км.
lOOOBaseCX
В оригинальном документе 802.3z присутствует только один стандарт для
медной кабельной системы. lOOOBaseCX предназначен исключительно для
коротких линий связи (до 25 м), таких как соединения внутри одного
монтажного шкафа или информационного центра. Эти соединения требуют
применения целевого 150-омного экранированного медного кабеля.
Стандарт специально оговаривает, что использовать UTP или IBM Type 1 STP не
рекомендуется. По существу, lOOOBaseCX направлен на соединения между
оборудованием, таким как кластеры серверов и линии связи между
коммутаторами, поскольку он дешевле и проще в установке, чем оптоволоконный
кабель. Соединения часто расположены в пределах контролируемой
площади помещения, которая не требует большой длины и нечувствительности к
помехам, обеспечиваемым оптоволокном. Изготовление оборудования для
lOOOBaseCX не представляет большого интереса для производителей,
преимущественно из-за ограниченности рынка для него.
lOOOBaseT
Хотя это и не включено в стандарт 802.3z, но одной из первоначальных
целей команды, разрабатывающей Gigabit Ethernet, была поддержка
стандартного кабеля UTP категории 5 с длиной соединений длиной до 100 м. Это
позволило бы существующим сетям Fast Ethernet быть модернизированными
до Gigabit Ethernet без прокладки нового кабеля или изменения топологии
сети. lOOOBaseT был определен в отдельном документе, называемом 802.ЗаЬ,
который был единогласно утвержден IEEE в июне 1999 г.
Чтобы достигнуть таких высоких скоростей для медного кабеля, lOOOBaseT
изменил способ использования протоколом кабеля UTP. Несмотря на то,
что lOOOBaseT разработан для такой же кабельной системы, что и в
100BaseTX, он задействует все четыре витые пары кабеля вместо
традиционных двух. Фактически это удваивает пропускную способность 100BaseTX, но
все еще недостаточно для достижения скорости 1000 Мбит/с. Но в
дополнение lOOOBaseT для передачи данных по кабелю также опирается на более
подходящую схему кодирования сигналов, отличную от других стандартов
1000BaseX. В таком сочетании каждая из витых пар переносит данные уже
312
Часть III. Сетевые протоколы
со скоростью 250 Мбит/с, что в сумме дает 1000 Мбит/с или 1 Гбит/с.
Упомянутая схема кодирования известна под названием амплитудно-импульсная
модуляция 5 (РАМ-5, Pulse Amplitude Modulation 5).
lOOOBaseX, предусматривающий в качестве варианта использование
стандартного кабеля категории 5 (определенного в стандартах TIA/EIA), тем не
менее, рекомендует для новых сетей lOOOBaseT применять, по меньшей
мере, кабель категории 5Е (расширенная категория 5). Кабель категории 5Е
протестирован на устойчивость к обратному (Return Loss) и приведенному
переходному затуханию (ELFEXT, Equal-Level Far-End CrossTalk). Как и в
случае Fast Ethernet, сетевые адаптеры lOOOBaseT и другое оборудование
предполагают возможность работы с несколькими скоростями, или
100/1000, или 10/100/1000 Мбит/с, способствующую постепенному переходу
к Gigabit Ethernet. Несмотря на то, что в ближайшее время маловероятно
повсеместное использование Gigabit Ethernet для сетей, подходящих к
рабочим местам, в конечном счете, это произойдет, об этом говорит весь ход
истории. (Кто мог представить десять лет назад, что ПК будут иметь
процессоры с тактовой частотой 700 МГц и жесткие диски объемом 13 Гб?)
Области применения Gigabit Ethernet
На первый взгляд, Gigabit Ethernet кажется простым способом увеличить
скорость сети до скорости света, но существует несколько проблем, которые
необходимо рассмотреть, прежде чем вы начнете модернизировать свою
сеть. Первая, являющаяся основой всех остальных, заключается в том, что
Gigabit Ethernet все еще новая технология. Пока сравнительно небольшое
количество продуктов на рынке поддерживают эти стандарты, и цены на те
из них, что доступны, достаточно высоки. Розничная стоимость плат
сетевых адаптеров 1000BaseSX от основных производителей находится в
диапазоне от 600 $ до 700 $, а цены на концентраторы и коммутаторы начинаются
с 1000 $ и быстро ускоряясь, уходят в стратосферу. Подавляющее
большинство продуктов, безусловно, представлены как результат сформировавшейся
технологии, и со временем цены на них упадут, в особенности, когда
оборудование lOOOBaseT подтолкнет рынок, но прежде чем проводить
модернизацию, необходимо решить, стоят ли те преимущества, которые она в себе
несет, затраченных на нее средств.
Предупреждение^
На рынке присутствовало достаточное количество продуктов Gigabit Ethernet еще
до того, как стандарты для этой технологии были утверждены IEEE. Хотя
основополагающие элементы организации сети Gigabit Ethernet прочно установились
задолго до утверждения, и многие из этих продуктов могут быть полностью
совместимы со стандартами, рекомендуется внимательно свериться со
спецификациями производителя, прежде чем сделать такую серьезную покупку.
Глава 10. Высокоскоростные магистрали
313
Вторая причина, по которой, в свою очередь, необходимо задаться вопросом
экономической целесообразности модернизации до Gigabit Ethernet,
заключается в том, что обновление одной лишь магистрали не обязательно даст
заметный рост производительности сети. В результате увеличения
пропускной способности Ethernet с 10 до 100, а теперь до 1000 Мбит/с менее чем за
пять лет, сетевые технологии оставили далеко позади за собой возможности
компьютеров, с определенной точки зрения и составляющих сеть. Даже
наиболее производительные серверы не имеют соответствующих
комплектующих для того, чтобы обрабатывать трафик 1000 Мбит/с. Адаптеры SCSI
и системные шины могут быть быстро переполнены огромным количеством
трафика ввода/вывода, который в состоянии обеспечить Gigabit Ethernet.
Поэтому, исходя из того, что магистраль Gigabit Ethernet обычно
применяется для связи между коммутаторами, соединяющими несколько сетей
100 Мбит/с, подключение серверов непосредственно к магистрали может не
дать такого выигрыша в быстродействии.
Другая проблема, связанная с Gigabit Ethernet, касается приложений,
которым может потребоваться большая пропускная способность. Обычная
сетевая активность, такая как совместное использование файлов и принтеров
или просмотр ресурсов Web, не требует сети 1000 Мбит/с. Большинство
приложений, которые могли бы использовать указанную пропускную
способность, вырабатывают аудио- и видеотрафик, но Gigabit Ethernet был
разработан как протокол исключительно для данных. Пропускная способность
1000 Мбит/с, конечно, достаточна для поддержки таких приложений, но
Gigabit Ethernet не гарантирует ее постоянство, поскольку не имеет
соответствующих встроенных механизмов.
Голос и видео, чтобы функционировать правильно, требуют передачи
непрерывного потока данных с постоянной пропускной способностью, и
другие технологии, например, ATM, изначально разрабатывались с учетом
ее обеспечения. Однако, существуют и иные новые стандарты качества
обслуживания, такие как Resource Reservation Protocol (RSVP, протокол
резервирования ресурсов) и стандарт назначения приоритетов пакетам IEEE
802.1р, которые, по-видимому, могут использоваться в сочетании с Gigabit
Ethernet для того, чтобы обеспечить достаточно постоянную пропускную
способность. Поэтому остается только ждать, станет ли Gigabit Ethernet
адекватным решением в то время, когда пользователи начнут полагаться на
высокоскоростные ЛВС для критически важных сетевых взаимодействий,
воплощаемых в видеоконференциях и других технологиях.
ATM
ATM (Asynchronous Transfer Mode, асинхронный режим передачи) в начале
1990-х был "Святым Граалем" сетевой индустрии. Преподносимый как самая
современная сетевая технология, ATM был разработан для передачи речи,
данных и видео по различным типам сетевой среды с использованием высо-
314
Часть III. Сетевые протоколы
коскоростного, двухточечного, полнодуплексного, ориентированного на
установление соединения протокола с коммутацией ячеек. К сожалению, как
и поиск Святого Грааля, достижение решения этой задачи заняло намного
больше времени, чем кто-либо мог предположить, и окончательная цель
продолжает оставаться недостижимой.
Теория, лежащая в основе ATM, выше всяких похвал. Вместо
направленности на кадры различной длины, подобно Ethernet и другим протоколам,
трафик ATM разбивается на 53-байтовые ячейки (cells). Применение
структуры данных предопределенного размера делает сетевой трафик более легко
измеряемым количественно, предсказуемым и управляемым. С ATM
становится возможным гарантировать, что определенное количество данных будет
доставлено в заданный интервал времени. Это делает данную технологию
более приемлемой в объединенных сетях передачи данных/речи/видео, для
которых недетерминированный протокол, подобный Ethernet, не подходит в
силу скорости их работы. Вдобавок ATM имеет встроенную в протокол
возможность QoS (quality of service, качество обслуживания), которая позволяет
администраторам зарезервировать определенную полосу пропускания для
заданного приложения.
ATM является протоколом как для ЛВС, так и для ГВС. Он радикально
отличается от других протоколов нижних уровней, рассматриваемых в данной
книге. Все сетевые взаимодействия в ATM являются двухточечными.
Широковещательных передач не существует, это означает, что составляющей
частью этой технологии является коммутация, а не маршрутизация. ATM
может использоваться в сетях общего пользования так же, как и в частных.
Передача через сети общего пользования может предоставить сервисы ATM,
которые позволят клиентам соединиться с удаленными ЛВС. В частных
сетях виртуальные соединения ATM с различной скоростью работы могут
проходить через всю сеть, от магистрали до рабочего места.
Однако в реальности технология ATM нашла только один благоприятный
для себя сегмент рынка — магистрали между зданиями в больших
корпоративных сетях. Приблизительно 20 процентов существующих корпоративных
магистралей работают через ATM в основном из-за того, что
администраторы находят, что ее возможности QoS и поддержка передачи речи, данных и
видео делают эту технологию более производительной, чем традиционные
протоколы ЛВС.
Архитектура ATM
Многие привычные концепции других протоколов, такие как управление
доступом к среде передачи данных и переменная длина кадров, не
применимы к ATM. Из-за того, что ATM не разделяет полосу пропускания между
системами, нет необходимости в механизмах MAC, подобных CSMA/CD
или передаче маркера. Так как все передачи ATM состоят из ячеек фикси-
Глава 10. Высокоскоростные магистрали
315
рованной длины, процесс коммутации более прост и предсказуем. В ATM
все процессы коммутации выполняются аппаратно, поскольку нет
необходимости в программном управлении потоком данных и других подобных
технологиях.
^ Примечание ^Д
Ссылки на системы и устройства ATM относятся к коммутаторам,
маршрутизаторам, а также компьютерам.
Пропускная способность, предоставляемая сетью ATM, также легко
определяется количественно, что упрощает выделение ее определенной части
отдельному приложению. В сети Ethernet, например, может понадобиться
предоставить намного большую полосу пропускания, чем это в действительности
требуется для достаточно хорошей производительности приложения для
видеоконференций. Такая ситуация возникает из-за того, что пропускная
способность, требуемая для видеоконференции, подсчитывается сверх
максимальной пропускной способности, используемой всеми остальными
приложениями вместе, следуя из того, что сеть сознательно разработана так, чтобы
приспосабливаться к условиям пикового значения трафика, которые имеют
место только на незначительных временных отрезках. В сети ATM
пропускная способность может быть вычислена более точно.
Подобно Ethernet и Token Ring, протокол ATM выполняет функции
Физического и Канального уровней эталонной модели OSI, но сам при этом
делится на три уровня (рис. 10.9), перечисленные ниже.
□ Физический уровень.
□ Уровень ATM.
□ Уровень адаптации ATM.
В следующих разделах рассматриваются функции, выполняемые каждым из
уровней.
Уровень адаптации ATM
Подуровень конвергенции
Подуровень сегментации
и восстановления
^
Уровень ATM
Физический уровень
м
Н
Ч >j
Канальный уровень
Физический уровень
Рис. 10.9. Архитектура ATM
316
Часть III. Сетевые протоколы
Физический уровень
Стандарты ATM не определяют технологии Физического уровня так точно,
как это делает большинство других протоколов Канального уровня. Эта
независимость от среды передачи является одним из руководящих принципов,
лежащим в основе разработки технологии. ATM может работать с различной
скоростью через соединения SONET (Synchronous Optical Network,
синхронная оптическая сеть) и DS-3 (Digital Signal Level-3), многомодовый
оптоволоконный кабель, экранированную витую пару (STP), среди других
прочих. Диапазон скоростей варьируется от 25 Мбит/с для соединений с
рабочими местами до 2,46 Гбит/с, хотя наиболее распространенные
реализации работают на 155 или 625 Мбит/с. Кажется маловероятным, что
реализации на 25 Мбит/с когда-либо станут широко применяться для соединений
с рабочими местами, поскольку Fast Ethernet предоставляет в четыре раза
большую скорость и по меньшей цене. Более высокие скорости обычно
используются для глобальных соединений и магистралей.
|^ Примечание ^j
SONET и DS-3 являются телекоммуникационными стандартами, которые
определяют соединения с конкретным быстродействием и с соответствующим
форматом данных. Соединение DS-3 работает на 44,736 Мбит/с и является
эквивалентом линии ТЗ. SONET — это оптоволоконный стандарт, вернее, набор стандартов
для оптоволоконных линий связи (ОС, optical carrier) в диапазоне от ОС-1,
работающей со скоростью 51,84 Мбит/с, до ОС-192 со скоростью 9,952 Гбит/с.
Сам физический уровень ATM разделен на два подуровня: подуровень,
зависящий от физической среды передачи (PMD, physical medium dependent), и
подуровень конвергенции передачи (ТС, transmission convergence). Подуровень PMD
определяет реальную среду передачи, используемую сетью, включая тип
кабеля и другое оборудование, например, коннекторы, а также применяемую
схему кодирования сигналов. Этот подуровень также отвечает за
обеспечение синхронизации всех тактовых генераторов в системах сети, что
достигается за счет непрерывной передачи и приема битов синхронизации от
других систем.
Подуровень ТС отвечает за четыре функции, перечисленные ниже.
□ Очерчивание ячеек. Поддерживание границ между ячейками,
позволяющие системам выявлять ячейки в потоке битов.
□ Генерирование и верификация последовательности контроля ошибок в
заголовке. Обеспечение целостности данных ячейки на основе проверки
кода контроля ошибки в заголовке ячейки.
□ Согласование скорости передачи ячеек. Вставка и удаление пустых ячеек с
целью согласования скорости передачи с возможностями принимающей
.системы.
□ Адаптация передаваемых кадров. Упаковка ячеек в кадры подходящего
формата для передачи через определенную физическую сетевую среду.
Глава 10. Высокоскоростные магистрали
317
Уровень ATM
Уровень ATM определяет формат ячейки, создает заголовок, реализует
механизм контроля ошибок, создает и уничтожает виртуальные каналы.
Существует две разновидности заголовка ячейки: один — для сетевого интерфейса
пользователя (UNI, User Network Interface), который используется для связи
между пользовательскими системами или между пользовательскими
системами и коммутаторами, и второй — межсетевой интерфейс (NNI, Network-to-
Network Interface) — для связи между коммутаторами.
В каждом случае 53 байта, составляющие ячейку, делятся на 5-байтовый
заголовок и 48 байтов данных. В сравнении с 18-байтовым заголовком
Ethernet заголовок ATM кажется совсем маленьким, но следует принимать во
внимание, что кадр Ethernet может переносить до 1500 байт данных. Таким
образом, в полноразмерном кадре Ethernet заголовок составляет меньше
2 процентов от всего пакета, в то время как заголовок ATM всегда занимает
10 процентов от размера ячейки. Это делает технологию ATM значительно
менее эффективной, чем Ethernet, в силу количества перемещаемой
служебной информации.
Формат ячейки ATM показан на рис. 10.10. Функции полей перечислены ниже.
□ Поле управления потоком (Generic flow control, GFC), 4 бита.
Обеспечивает локальные функции в ячейке UNI, которые в настоящее время не
используются, и не включено в ячейку NNI.
□ Идентификатор виртуального пути (Virtual path identifier, VPI), 8 битов.
Указывает следующее место назначения ячейки на ее пути через сеть
ATM к конечному месту назначения.
О Идентификатор виртуального канала (Virtual channel identifier, VCI), 16
битов. Локализует канал в пределах виртуального соединения. Ячейка будет
проходить по этому каналу на пути своего следования к месту назначения.
□ Индикатор типа полезных данных (Payload type indicator, PTI), 3 бита.
Определяет природу данных, переносимых ячейкой. Назначение каждого
бита рассматривается ниже.
• Бит 1. Определяет, содержит ли ячейка пользовательские данные или
управляющую информацию.
• Бит 2. Если ячейка содержит пользовательские данные, состояние
этого бита свидетельствует о наличии где-либо в сети перегрузки.
• Бит 3. В ячейках с пользовательскими данными для одного из типов
предоставляемого сервиса выставленное значение бита указывает на
то, что ячейка содержит последний сегмент PDU уровня AAL-5.
□ Поле приоритета ячейки (Cell loss priority, CLP), 1 бит. Представляет
собой индикатор приоритета ячейки, назначаемый при возникновении в
318
Часть III. Сетевые протоколы
сети перегрузки, которая вынуждает отбрасывать ячейки. Значение 0
свидетельствует о высоком приоритете ячейки, а значение 1 говорит о том,
что ячейка может быть отброшена.
□ Поле контроля ошибок в заголовке (Header error control, EC), 8 бит.
Используется для выявления множественных ошибок в битах заголовка и
исправления ошибки, если она присутствует только в одном бите. Эта
возможность позволяет выявить ошибки только в заголовке, контроля ошибок
в поле полезных данных на этом уровне не существует. Содержит код,
вычисляемый на базе значений четырех предшествующих байт заголовка.
П Поле полезных данных (Payload), 48 байтов. Непосредственно включает в
себя пользовательскую, сетевую или управляющую информацию,
переносимую ячейкой.
Поле управления потоком (4 бита)
Идентификатор виртуального пути
(8 битов)
Идентификатор виртуального канала
(16 битов)
Идентификатор типа полезных данных
(3 бита)
Поле приоритета потери ячейки (1 бит)
Поле контроля ошибок в заголовке
(8 бит)
Поле полезных данных (48 байтов)
Рис. 10.10. Формат ячейки ATM
Глава 10. Высокоскоростные магистрали
319
^ Примечание ^|
Различие между UNI-заголовком и NNI-заголовком заключается только в поле
управления потоком, которое убрано из NNI-ячейки. Четыре бита управления
потоком в этом случае добавляются к полю идентификатора виртуального пути,
длина которого становится равной 12 бит вместо 8.
Виртуальные каналы
Соединение между двумя системами ATM имеет форму виртуального
соединения (VC, virtual circuit). Виртуальные соединения ATM разделяются на два
типа: постоянные виртуальные соединения (PVCs, permanent virtual circuits),
создаваемые администраторами сети вручную и доступные в любое время, и
коммутируемые виртуальные соединения (SVCs, switched virtual circuits),
которые системы порождают по мере необходимости и после использования
уничтожают.
Установка виртуального соединения через сеть до места назначения
позволяет передавать через это соединение ячейки без их интенсивной
обработки промежуточными системами на пути следования. Виртуальное
соединение состоит из виртуального пути (virtual path) и виртуального канала (virtual
channel). Виртуальный путь — это логическое соединение между двумя
системами, которое включает в себя множество виртуальных каналов так же,
как кабель между двумя точками может состоять из множества проводников,
по каждому из которых передается отдельный сигнал. После установки
виртуального пути между двумя точками, создание для каждого нового
соединения дополнительного виртуального канала в пределах данного пути
является сравнительно простой задачей.
Вдобавок, управление виртуальным путем — это простейший способ
изменить свойства всех виртуальных каналов, содержащихся в нем. Например,
когда выходит из строя коммутатор, виртуальный путь может быть
перенаправлен по другому маршруту, и все виртуальные каналы будут
перенаправлены вместе с ним. Заголовок каждой ячейки ATM содержит идентификатор
VPI и идентификатор VCI, которые указывают виртуальный путь,
используемый ячейкой, и виртуальный канал в пределах этого пути.
Адресация ATM
Сети ATM имеют свои собственные адреса для каждого устройства, помимо
адресов любых вышележащих уровней протокольного стека, которыми эти
системы могут располагать. Это иерархические адреса длиной 20 байт,
которые больше напоминают телефонные номера и позволяют развертывать
предельно большие сети. В отличие от протоколов, которые разделяют
полосу пропускания сети между многими системами, в ATM нет
необходимости включать адрес назначения и источника в каждую ячейку, так как
передачи ATM используют выделенное двухточечное соединение. Вместо этого
320
Часть III. Сетевые протоколы
адресация возлагается на коммутаторы ATM, которые непосредственно
создают новые виртуальные пути и виртуальные каналы.
Уровень адаптации ATM
Основная функция уровня адаптации ATM (AAL, ATM adaptation layer)
заключается в подготовке данных, получаемых от протокола Сетевого уровня, для
передачи и разбиения их на блоки по 48 байт, которые уровень ATM упакует
в ячейки, добавив заголовок. AAL состоит из двух подуровней: подуровня
конвергенции (CS, convergence sublayer) и подуровня сегментации и сборки (SAR,
segmentation and reassemble sublayer). Подуровень конвергенции подготавливает
данные Сетевого уровня для сегментации с использованием различных полей,
различающихся для каждого типа сервиса, который будет передавать данные.
Полученные в результате протокольные блоки данных подуровня
конвергенции (CS-PDU) разбиваются подуровнем SAR на блоки подходящего размера
для их последующей упаковки в ячейки.
На рассматриваемом подуровне доступны несколько протоколов AAL,
которые предоставляют различные типы сервисов для поддержки разнообразных
приложений.
□ AAL-1. Сервис с установлением соединения, предназначенный для
приложений, требующих эмуляции каналов, например, для передачи речи и
видеоконференций. Этот сервис нуждается в синхронизации, поэтому
необходима сетевая среда передачи данных, такая как SONET, которая
поддерживала бы синхронизацию. Для данного сервиса подуровень
конвергенции добавляет к данным поля номера последовательности (Sequence
Number) и защиты номера последовательности (Sequence Number
Protection), которые позволяют принимающей системе собрать ячейки в
правильном порядке.
□ AAL-3/4. Поддерживает передачу данных как с установлением
соединения, так и без установления, с контролем ошибок и
мультиплексированием. Подуровень конвергенции создает PDU, добавляя к данным
начальный/конечный дескриптор в качестве заголовка и поле длины, как
постинформацию. Затем подуровень SAR разбивает CS-PDU на блоки,
размером с ячейку. Он также присоединяет к каждому блоку CRC-значе-
ние с целью выявления ошибок.
□ AAL-5. Иначе называемый SEAL (Simple and Efficient Adaptation Layer,
уровень простой и эффективной адаптации), AAL-5 обеспечивает сервисы с
установлением соединения и без установления соединения. Он наиболее
часто используется для трафика ЛВС. Подуровень конвергенции берет
блок данных Сетевого уровня размером до 64 Кбайт и наращивает его
заполнением переменной длины и 8-байтовой заключительной части.
Заполнение гарантирует, что блок данных впишется в границы ячейки, а
описатель включает поле длины блока и CRC-значение для всего PDU. Затем
Глава 10. Высокоскоростные магистрали
321
SAR разбивает PDU на сегменты по 48 байт для упаковки их в ячейки.
Значение третьего бита поля индикатора типа полезных данных в АТМ-
заголовке устанавливается равным 0 для всех сегментов блока данных, за
исключением последнего, у которого значение этого бита равно 1.
Недостатки ATM
Существует несколько серьезных недостатков, которые следует рассмотреть,
прежде чем начать думать о внедрении ATM в качестве магистрали (или в
иных целях) в свою сеть. Первый — это стоимость: оборудование для ATM
намного дороже, чем для Gigabit Ethernet или фактически любого другого
высокоскоростного протокола. Цена сетевых ATM-адаптеров для сервера
начинается с 600 $—800 $, а возможные затраты на коммутаторы ATM могут
быть выражены пяти- и шестизначными числами.
Поддержка
Другая большая проблема — это стоимость и сложность реализации и
поддержки сети ATM. Тогда как квалифицированный администратор ЛВС
Ethernet в состоянии с небольшими трудностями установить компоненты
магистрали Gigabit Ethernet, магистраль ATM в этом смысле — совершенно иной
случай. Сети ATM являются гибридом технологий сетей дистанционной
связи и сетей передачи данных. Это два различных типа сетей, но в случае
ATM они оба могут использовать одинаковые кабели и коммутаторы.
Вследствие чего магистраль ATM может быть подключена не только к
компонентам сети передачи данных, таким как маршрутизаторы, коммутаторы и
серверы, но также к РВХ (Private Branch eXchange, учрежденческая телефонная
станция) и другим телекоммуникационным устройствам.
Тот факт, что указанные типы сетей традиционно разделяются, означает,
что их обслуживанием также часто занимаются разные люди.
Профессионалы широкого профиля, которые имеют опыт в обоих областях и обладают
знаниями, требуемыми для создания инфраструктуры ATM, встречаются
относительно редко и поэтому они требуют высокого жалования. В
результате, часть опасности, которую несет с собой внедрение ATM, заключается в
том, что сеть будет полагаться на технологию, которую полностью
понимают только один или два человека в компании. На фоне современного
изменчивого рынка труда — это плохой багаж.
LANE
Другая проблема, связанная с применением ATM б качестве сетевой
магистрали, заключается в умении заставить ее работать в связке с другими
протоколами. Если не использовать ATM по всей сети, включая соединения с
рабочими местами, то магистраль должна объединять отдельные ЛВС,
применяющие Ethernet или другие протоколы Канального уровня. В этом и есть
322
Часть III. Сетевые протоколы
суть проблемы, поскольку ATM является протоколом с установлением
соединения, a Ethernet и Token Ring таким качеством не обладают. Протоколы
с установлением соединения не имеют возможностей широковещательной
передачи, поэтому они не могут предоставить свойственных системам в
сетях Ethernet (или Token Ring) методов, позволяющих обнаружить адрес или
даже просто существование сервера в магистрали ATM.
На первых- порах решением этой проблемы для администраторов сети стало
планирование постоянных виртуальных соединений (PVCs) между
коммутаторами ATM/Ethernet, серверами и другими устройствами в сети ATM.
С этих позиций, коммутаторы предоставляли системам Ethernet адреса для
связи с системами ATM. Это — работающее решение, но оно требует от
администратора немалого труда, объем которого увеличивается вместе с
ростом числа систем в сети ATM.
В 1995 г. была представлена LANE (LAN Emulation, эмуляция локальных
сетей) 1.0, которая устраняла необходимость в ручной настройке PVCs.
LANE автоматически создает и удаляет коммутируемые виртуальные
соединения между коммутаторами и сетевыми системами ATM. Это свойство
делает магистраль прозрачной для локальных сетей Ethernet, создавая
виртуальный широковещательный домен, который включает в себя системы ATM.
Спецификация LANE 2.0, утвержденная в 1997 г., добавила поддержку
классов QoS протокола ATM и многоадресную передачу.
К сожалению, для своей работы LANE требует множества различных
программных модулей. Они перечислены ниже.
□ Клиент эмуляции ЛВС (LEC, LAN Emulation Client). Модуль каждого
устройства ATM, который имеет как МАС-адрес ЛВС, так и ATM-адрес.
Вместе эти устройства формируют ELAN (emulated LAN, эмулированная
локальная сеть). Системы Ethernet взаимодействуют с клиентами LEC
коммутаторов, объединяющих сети для того, чтобы выяснить адреса систем ATM.
Если клиент LEC в настоящее время имеет связь с запрошенной системой
ATM, то он предоставляет ее адрес системе Ethernet. В противном случае
клиент LEC связывается с сервером LES и сервером BUS, используя
протокол эмуляции разрешения адресов ЛВС (LE_ARP, LAN Emulation Address
Resolution Protocol), чтобы выяснить адрес. Когда адрес разрешен, клиент
LEC также выполняет услуги продвижения данных.
□ Сервер эмуляции ЛВС (LES, LAN Emulation Server). Поддерживает базу
данных, содержащую все адреса, известные клиентам LEC в ELAN. Все
клиенты LEC имеют виртуальное соединение каналов (VCC, virtual channel
connection) с сервером LES, которое они используют для осуществления
запросов адресов определенных систем в сети ATM. Если сервер LES не
находит запрошенного адреса в своей базе данных, он перенаправляет
запрос другому серверу LES в сети.
Глава 10. Высокоскоростные магистрали
323
П Сервер широковещательных и неадресуемых сообщений (BUS, Broadcast
and Unknown Server). Когда сервер LES не может определить адрес,
принадлежащий запрошенной системе, сервер BUS устанавливает
виртуальные соединения каналов со всеми клиентами LEC в сети и
распространяет по ним ячейки, передаваемые клиентами LEC устройствам в сетях
Ethernet, к которым они подключены. Сервер BUS также обеспечивает
сервис эмуляции широковещательной передачи, передавая сообщения
всем клиентам LEC в сети.
□ Сервер конфигурации эмуляции ЛВС (LECS, LAN Emulation Configuration
Server). Поддерживает базу данных информации о конфигурации для
каждой ELAN, координирует функционирование других модулей и
добавляет в ELAN новых клиентов.
Это набор комплексного программного обеспечения, применяемый только
для того, чтобы заставить стать сеть ATM видимой для Ethernet или других
протоколов ЛВС, в то время как магистраль Gigabit Ethernet может делать то
же самое совершенно прозрачно. Многие администраторы сетей остаются в
стороне от ATM, так как она требует больших усилий для выполнения задач,
которые могут быть решены достаточно просто. Но и не меньше организаций
нашли ATM более подходящей для своих магистралей, требующих поддержки
передачи речи и видео, а также данных в таких сетях, как сети,
обслуживающие больницы и университеты. Передача медицинских изображений и
приложения дистанционного обучения требуют выделенной полосы пропускания,
которую ATM может обеспечить более эффективно, чем другие технологии.
Однако, если проводится модернизация существующей ЛВС Ethernet, уже
имеющей сформированную телефонную сеть, а приложения, требующие
высокой пропускной способности, подобные видеоконференциям, не стоят в
ближайших планах на будущее организации, то Gigabit Ethernet, вероятно,
будет более практичным и экономически выгодным выбором.
Глава 11
TCP/IP
Со времени своего создания в 1970-х, стек протоколов TCP/IP был развит в
промышленный стандарт для протоколов передачи данных на Сетевом и
Транспортном уровнях модели OSI. В дополнение, стек включает множество
протоколов, работающих на самых разных уровнях модели OSI, от
Канального уровня внизу, до Прикладного уровня наверху.
Создатели операционных систем стремятся упростить стек сетевых
протоколов, чтобы сделать его более понятным среднему пользователю. Например,
на рабочей станции Windows установка протоколов TCP/IP выполняется с
помощью выбора одного единственного условного протокола, хотя на самом
деле при этом осуществляется поддержка всего семейства протоколов, из
которых TCP (Transmission Control Protocol, протокол управления
передачей) и IP (Internet Protocol, Интернет-протокол) — всего лишь два
представителя. Альтернативы TCP/IP функционируют, в основном, аналогичным
образом: стек протоколов IPX состоит из множества протоколов,
произошедших из TCP/IP; NetBEUI, хотя и значительно проще устроен, также во
многих действиях опирается на другие протоколы, например, на SMB
(Server Message Block, блок серверных сообщений). Понимание принципов
работы каждого из протоколов семейства TCP/IP, а также механизмов их
взаимодействия между собой для обеспечения соответствующих
коммуникационных сервисов, представляется крайне важным для процессов
обслуживания и устранения неисправностей ТСР/1Р-сетей.
Особенности TCP/IP
Можно указать несколько причин тому, что TCP/IP стал набором
протоколов, используемым большинством сетей, не последняя из которых — то, что
эти протоколы применяются в Интернете. Протоколы TCP/IP были
разработаны для поддержки зарождавшейся сети Интернет (в то время носившей
название ARPANET), еще до появления персональных компьютеров, когда
почти ничего не было слышно о возможности взаимодействия между
компьютерными продуктами разных производителей. Интернет был тогда и
остается сейчас сетью, состоящей из компьютеров различных типов, и,
соответственно, требовался именно тот набор протоколов, который был бы общим
для всех них.
Глава 11. TCP/IP
325
Главным элементом, отличающим TCP/IP от остальных стеков протоколов,
обеспечивающих сервисы Сетевого и Транспортного уровней, является
собственная уникальная система адресации. Каждому устройству сети TCP/IP
присваивается IP-адрес (иногда больше, чем один), однозначно
идентифицирующий это устройство для других систем. Большинство персональных
компьютеров, задействованных в сети, используют в настоящее время
сетевые адаптеры типа Ethernet и Token Ring с заранее присвоенными
встроенными уникальными идентификаторами (МАС-адресами), которые делают
IP-адреса избыточными. Многие другие типы компьютеров имеют
всевозможные адреса, назначаемые сетевыми администраторами, причем нет
никакой уверенности в том, что у другого компьютера в сети масштаба
Интернета не будет точно такого же адреса.
Так как IP-адреса регистрируются централизованно, можно быть
уверенным, что никакие два (правильно сконфигурированные) компьютера в
Интернете не будут иметь одинаковых IP-адресов. Благодаря своей системе
адресации, протоколы TCP/IP способны поддерживать практически любое
аппаратное обеспечение или программную платформу из ныне
существующих. Протоколы IPX всегда ассоциировались главным образом с Novell
NetWare, протокол NetBEUI применяется сейчас почти исключительно в
сетях Microsoft Windows. В то же время протоколы TCP/IP являются
поистине универсальными со своей возможностью взаимодействия между
различными компьютерными платформами и поддержкой всех платформ без
выделения особого статуса какой-либо одной из них.
Другой уникальный аспект протоколов TCP/IP заключается в способе их
разработки, совершенствования и ратификации. Вместо опоры на официальную
организацию по выработке стандартов типа IEEE, протоколы TCP/IP
подготавливались в демократической манере специально созданной для этой цели
группой добровольцев, которые общались, в основном, через сам Интернет.
Приветствовался всякий, кто был заинтересован в совершенствовании
протоколов настолько, чтобы принять в нем участие. В дополнение, сами стандарты
были выпущены организацией под названием IETF (Internet Engineering Task
Force, проблемная группа проектирования сети Интернет) и предоставлены в
бесплатное пользование всем желающим. Стандарты, публикуемые IEEE, и
схожие также вполне доступны всем желающим, но отнюдь не бесплатно.
Тому, кто захочет получить официальную копию стандарта IEEE 802.3, который
является основой Ethernet, придется выложить за это не одну сотню долларов.
Напротив, любой из стандартов TCP/IP, фигурирующих под общим
названием Requests for Comments (RFCs), можно официально получить с Web-сайта
IETF по адресу http://www.ietf.org, а также с множества других сайтов
Интернета, причем платить за это не требуется.
Протоколы TCP/IP также обладают исключительной масштабируемостью.
В качестве подтверждения этого свойства достаточно мысленно представить,
что они были предопределены во времена, когда сеть ARPANET представ-
326
Часть III. Сетевые протоколы
ляла собой закрытый клуб для узкого круга ученых и теоретиков, и ни одна
самая смелая мечта которых не заходила настолько далеко, чтобы
предположить, что когда-либо эти протоколы будут использоваться в сети
масштаба Интернета. Основным фактором, ограничивавшим рост Интернета, был
32-разрядный размер самого пространства IP-адресов, однако новая версия
протокола IP под названием IPv6 решила эту проблему, расширив адресное
пространство до 128-разрядного.
Архитектура TCP/IP
Протоколы TCP/IP были разработаны для поддержки сети почти любого
допустимого размера. В связи с этим, они просто обязаны иметь
возможность оказывать услуги, требуемые приложениями, использующими их, без
расточительного расходования пропускной способности сети и других
ресурсов. Например, протокол NetBEUI определяет положение в сети других
систем, посылая широковещательные сообщения и ожидая ответа от
желаемой системы. По этой причине NetBEUI эффективен только в небольших
сетях, составленных из одного широковещательного домена. Совершенно
немыслимо, если при современных размерах Интернета каждый компьютер
должен будет посылать широковещательное сообщение миллионам и
миллионам машин сети каждый раз, когда ему требуется определить
местонахождение только одного конкретного компьютера. Для подстройки под
нужды конкретных приложений стек TCP/IP применяет различные
комбинации протоколов, в целях обеспечения качества обслуживания, необходимого
и достаточного для выполнения задачи, но не более того.
Стек протоколов TCP/IP
Набор протоколов TCP/IP предшествовал эталонной модели OSI, но, тем не
менее, протоколы можно разделить на четыре уровня, которые будут в общих
чертах аналогичны семиуровневому стеку OSI, как показано на рисунке 11.1.
В ЛВС функциональность Канального уровня определяется не протоколом из
стека TCP/IP, а стандартными протоколами Канального уровня типа Ethernet
или Token Ring. Хотя, вместе с тем, существует Address Resolution Protocol
(ARPf протокол разрешения адресов), применяемый системами для
согласования МАС-адреса адаптера сетевого интерфейса и IP-адреса, который
работает на сетевом уровне.
Именно стандарты TCP/IP определяют два протокола, наиболее часто
использующиеся для создания коммуникаций Канального уровня с
применением модемов и других вариантов прямого соединения. Это — Point-to-Point
Protocol (PPP, протокол двухточечного соединения) и Serial Line Internet
Protocol (SLIP, межсетевой протокол для последовательного канала).
Глава 11. TCP/IP
327
OS!
Прикладной уровень
Представительский
уровень
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
TCP/IP
Прикладной уровень
Транспортный уровень
Уровень межсетевого
взаимодействия
Уровень сетевых
интерфейсов
Рис. 11.1. Протоколы TCP/IP имеют
свой собственный стек, в общих чертах
аналогичный эталонной модели OSI
Уровень Межсетевого взаимодействия представлен протоколом IP (Internet
Protocol, Интернет-протокол), выступающим в качестве первичного
носителя для всех остальных протоколов, оперирующих на более высоких уровнях,
и Internet Control Message Protocol (ICMP, протокол контроля сообщений в
сети Интернет), осуществляющего диагностику и контроль сообщений об
ошибках на уровне IP. Протокол IP, как основной протокол-носитель,
является протоколом без установления соединения и, в связи с этим,
ненадежным, поскольку недостающие сервисы обеспечиваются Транспортным
уровнем по мере необходимости.
На Транспортном уровне функционируют два протокола: Transmission
Control Protocol (TCP, протокол управления передачей) и User Datagram
Protocol (UDP, протокол передачи дейтаграмм пользователя). Протокол TCP
ориентирован на установление соединения и надежен, в то время как UDP
представляет собой протокол без установления соединения и, в силу
этого, — не настолько устойчив. Приложение может затребовать первый или
второй протокол в зависимости от собственных запросов и сервисов,
которые ему уже предоставлены.
В некоторых случаях можно сказать, что Транспортный уровень стека
протоколов TCP/IP включает в себя Сеансовый уровень модели OSI вместе с ее
Транспортным уровнем, но это справедливо не всегда. Например, системы
на базе Windows могут задействовать протокол TCP/IP для деятельности,
связанной с совместным использованием файлов и принтеров, такой как
передача сообщений NetBIOS, однако в этом случае NetBIOS по-прежнему
обеспечивает функциональность Сеансового уровня, как и в случае
применения протоколов NetBEUI или IPX вместо TCP/IP. Этот пример — только
одна из иллюстраций того, насколько стек протоколов TCP/IP
приблизительно аналогичен модели OSI, однако не полностью ей соответствует. Обе
эти модели представляют собой больше средства обучения и диагностики,
чем руководящие принципы для разработки и применения протоколов, и
они не содержат четких определений функций каждого из уровней.
Прикладной уровень наиболее трудно поддается описанию, так как
протоколы, работающие здесь, могут быть как полностью завершенными,
самодостаточными приложениями (FTP), так и всего лишь механизмами, с по-
328
Часть III. Сетевые протоколы
мощью которых другие приложения обеспечивают какие-либо услуги, как в
случае Domain Name System (DNS, система имен доменов) и Simple Mail
Transfer Protocol (SMTP, простой протокол электронной почты).
IP-адресация
IP-адреса, используемые для идентификации компьютеров в сети TCP/IP,
представляют собой единственную характеристику стека протоколов
TCP/IP, которая определяется наиболее строго. IP-адрес является
абсолютным идентификатором как компьютера, так и той сети, к которой он
принадлежит. Каждый IP-пакет, передаваемый по сети TCP/IP, в своем
заголовке содержит IP-адреса системы отправителя и системы получателя. Хотя
сети Ethernet или Token Ring и имеют уникальные адреса, зашитые в
адаптеры сетевого интерфейса, однако собственный метод эффективного
указания направления сетевого трафика к индивидуальным компьютерам
большой сети, берущий за основу эти адреса, для них отсутствует.
Аппаратный адрес платы сетевого адаптера состоит из префикса,
определяющего производителя сетевой карты, и назначаемого последним
уникального цифрового кода для каждого выпущенного им адаптера. Когда речь
идет о распределении сетевого трафика, префикс практически бесполезен,
так как в большой сети карты разных производителей распределены почти
случайно. Кроме того, для доставки сетевых пакетов конкретной машине
необходим список всех компьютеров сети с указанием соответствующих
аппаратных адресов. В случае сети масштаба Интернета подобный подход
представляется совершенно непрактичным. В связи с наличием
идентификатора сети, IP-пакеты могут быть направлены в нужную сторону с
использованием относительно небольшого количества адресов сетей, вместо
полного списка всех компьютеров.
IP-адрес имеет длину 32 бита и изображается в виде четырех 8-битных
десятичных чисел, разделенных точками, например, 192.168.2.45. Такая форма
записи называется точечной десятичной записью {dotted decimal notation).
Каждое из 8-битных чисел иногда носит название октета (octet) или
квадранта (quad). (Эти термины изначально употреблялись в связи с тем, что для
некоторых компьютеров распространенный термин "байт" не означал
именно 8 бит.) Так как каждый квадрант представляет собой десятичный
эквивалент 8-битного двоичного числа, его возможные значения находятся в
пределах от 0 до 255. Таким образом, полный диапазон IP-адресов находится в
пределах от 0.0.0.0 до 255.255.255.255.
IP-адреса определяют не столько компьютеры, сколько сетевые
интерфейсы. Система с двумя платами сетевых адаптеров или с одним сетевым
адаптером и модемным соединением с сервером TCP/IP, имеет два IP-адреса.
Компьютер с двумя или более сетевыми интерфейсами называют групповым
(multihomed). Если интерфейсы относятся к различным сетям, то, при соот-
Глава 11. TCP/IP
329
ветствующей конфигурации, компьютер данного типа может проводить
трафик между ними, то есть функционировать в качестве маршрутизатора.
^ Примечание j]
Маршрутизатором может быть обычный компьютер с двумя сетевыми
интерфейсами и программным обеспечением для обеспечения возможностей
маршрутизации, а также маршрутизатор может представлять собой
специализированное устройство, разработанное специально для принятия решения о
выборе пути сетевого трафика. Стандарты TCP/IP рассматривают
маршрутизаторы любого типа как шлюзы (gateway), в то время как общепринятая сетевая
терминология определяет шлюз как устройство, маршрутизирующее трафик
между двумя сетями, использующими различные протоколы.
Каждый IP-адрес содержит биты, указывающие адрес сети, и биты,
конкретизирующие интерфейс установленного в сети компьютера, управляющего
доступом к ресурсам этой сети, называемого хостом (host). Обращаясь ко
всей сети, системы задействуют только биты идентификации сети, заменяя
биты адреса хоста нулями. Биты, определяющие сеть, служат для передачи
пакетов от одного маршрутизатора к другому, связанному с сетью
назначения, который затем передает информацию конкретному узлу.
Маска подсети
IP-адрес всегда выделяет часть своих битов для идентификации сети и часть
битов для идентификации узла, однако их количество, используемое для
каждой из этих целей, не всегда одно и то же. Во многих адресах общего
назначения используются 24 бита для адреса сети и 8 бит для адреса узла,
но граница между соответствующими битами может быть проведена в
любом месте адреса. Для указания назначения каждого бита каждая TCP/IP-
система имеет, кроме IP-адреса, еще и маску подсети. Маска подсети (subnet
mask) представляет собой 32-битное двоичное число, биты которого позици-
онно соответствуют битам IP-адреса. Установленный бит маски подсети
означает, что связанный с ним бит IP-адреса есть часть идентификатора сети,
в то время как бит со значением "О" предполагает, что соответствующий бит
IP-адреса участвует в обозначении идентификатора узла. Как и собственно
IP-адрес, маска подсети записывается с применением точечной квадронота-
ции, поэтому может быть очень похожей на IP-адрес, хотя выполняет
совершенно иную функцию.
В качестве примера можно рассмотреть систему со следующей TCP/IP-
конфигурацией:
IP address: 192.168.2.45
Subnet Mask: 255.255.255.0
В данном случае часть IP-адреса, идентифицирующая сеть, — есть 192.168.2,
в то время как 45 относится к идентификатору узла. В десятичной записи
330
Часть III. Сетевые протоколы
это может выглядеть странным, но двоичные эквиваленты имеют
следующий вид:
IP address: 11000000 10101000 00000010 00101101
Subnet Mask: 11111111 11111111 11111111 00000000
Как видно из данного примера, граница между битами адреса сети и битами
адреса узла пролегает между третьим и четвертым квадрантами. Хотя
пограничная линия не обязательно пролегает между двумя квадрантами. Маска
подсети 255.255.240.0 резервирует 12 бит для адреса хоста, поскольку ее
двоичный эквивалент выглядит так:
11111111 11111111 11110000 00000000
Линия раздела между адресами сети и хоста может пролегать в любом месте
среди 32 бит маски подсети, но никогда не происходит смешивания битов
для обозначения разных частей адреса. Четкая граница всегда делит IP-адрес
на биты адреса сети слева и биты адреса узла справа.
Регистрация IP-адресов
Для того чтобы IP-адрес однозначно идентифицировал компьютер сети,
критически важно, чтобы никакие два интерфейса не могли иметь
одинаковые IP-адреса. В частной сети администраторы должны убедиться, что
каждый адрес уникален. Они могут выполнить это, отслеживая вручную все
адреса, ассоциированные с их сетями и узлами, или используя сервис типа
DHCP (Dynamic Host Configuration Protocol, протокол динамической
конфигурации узла) для присвоения адресов автоматически.
^ Примечание j|
Для получения более подробной информации о DHCP и автоматическом
присвоении IP-адресов и конфигурировании TCP/IP см, главу 18.
В Интернете данная проблема существенно более сложна. Поскольку
тысячи различных сетей, входящих в Интернет, управляются множеством
администраторов, крайне непрактичным будет полагать, что уникальность
каждого IP-адреса при объединении этих сетей будет соблюдена. К тому же не
существует службы, способной автоматически присваивать IP-адреса в
мировом масштабе. Единственным решением могла бы быть некая "счетная
палата" или регистр IP-адресов, который позволил бы убедиться в том, что
они не повторяются.
Даже в такой форме данная задача выглядит поистине монументально, так
как с Интернетом связаны буквально миллионы компьютеров. Тем не
менее, такой регистр существует, но вместо назначения индивидуальных IP-
адресов каждому компьютеру, различным компаниям и организациям выде-
Глава 11. TCP/IP
331
ляются адреса сетей. Организация, занимающаяся регистрацией адресов
сетей для Интернета, называется Internet Assigned Numbers Authority (IANA,
Агентство по выделению имен и уникальных параметров протоколов
Интернета). После того, как сеть приобретает собственный адрес, исключительно
IANA несет ответственность за получение уникального IP-адреса каждым из
компьютеров данной сети. Такая двухуровневая система администрирования
относится к основным принципам, заложенным в архитектуру Интернета.
Регистрация имен доменов происходит аналогичным образом. NSI (Network
Solutions Inc.) назначает имя домена, а администраторы каждого домена уже
отвечают за присвоение индивидуального имени каждому узлу.
Классы IP-адресов
IANA регистрирует несколько классов адресов сетей, отличающихся только
своими масками подсети, т. е. количеством битов, отображающих адрес сети
и адрес узла. Перечень существующих классов IP-адресов приведен в
таблице 11.1.
Таблица 11.1. Классы IP-адресов
Класс А Класс В
Класс С
Класс D Класс Е
Адрес сети
(бит)
Адрес узла
(бит)
8
24
16
16
24
8
Маска подсети 255.0.0.0 255.255.0.0 255.255.255.0
Адрес
начинается
с (двоичн.)
Значение
первого байта
(десятичн.)
Число
подсетей
0-127
127
Число узлов 16 777 214
10
128-191
16 384
65 534
110
192-223
2 097 151
254
1110
224-239
1111
240-255
Идея выделения различных классов адресов заключалась в создании сетей
переменного размера для удовлетворения нужд различных организаций и
прикладных программ. Компания, имеющая относительно небольшую сеть,
может зарегистрировать IP-адрес класса С, который позволяет поддерживать
до 254 компьютеров в составе сети. Более крупная организация может ис-
332
Часть III. Сетевые протоколы
пользовать IP-адрес класса В или А и образовывать множество подсетей в
пределах собственной сети. Подсети создаются путем "одалживания" части
битов адреса узла для создания адресов подсетей, которые, по сути,
являются сетями внутри сети.
На практике адреса сетей не регистрируются непосредственно
организациями, владеющими ими. Эту функцию выполняют специальные коммерческие
компании, занимающиеся обеспечением доступа в Интернет, которые
называются провайдерами или поставщиками услуг Интернета (ISP, Internet Service
Provider) и обеспечивают клиентов -— владельцев индивидуальных сетей
блоками адресов в соответствии с их потребностями.
IP-адреса класса D не предназначены для распределения в виде блоков, как
другие классы адресов. Эта часть адресного пространства выделена под
групповые адреса. Групповой (мультивещательный) адрес (multicast address)
идентифицирует группу компьютеров, имеющих общий признак, но не
обязательно расположенных в одном месте или даже не принадлежащих одной
организации. Диапазон IP-адресов, обозначенный как класс Е,
зарезервирован для будущих применений.
Нерегистрируемые IP-адреса
Регистрируемые IP-адреса выделяются сетям, соединенным с Интернетом,
имеющим компьютеры, к которым предполагается доступ из других сетей. В
частной сети, не имеющей выхода в Интернет, нет необходимости в этой
процедуре. Кроме того, большинство коммерческих сетей, подключенных к
Интернету, имеют различного рода брандмауэры (firewall) для
предотвращения несанкционированного проникновения в их компьютеры. Практически
во всех случаях совершенно нет смысла в том, чтобы каждый компьютер
сети был доступен через Интернет, это даже заключает в себе огромную
потенциальную опасность. Поэтому многие брандмауэры изолируют системы
сети, что делает регистрацию IP-адреса бесполезной.
В сети, полностью изолированной от Интернета, администраторы могут
использовать любые IP-адреса, которые сочтут нужными, до тех пор, пока они
не повторяются у компьютеров сети. Если же какой-либо из компьютеров
такой сети все-таки подключить каким-либо способом к Интернету,
возникнет потенциальная возможность конфликта между внутренним адресом
компьютера сети и IP-адресом другого компьютера в Интернете. Например,
если окажется, что компьютеру сети присвоен такой же адрес, что и Web-
серверу Microsoft, то другой пользователь этой сети, пытающийся
соединиться с сайтом Microsoft, легко может попасть в компьютер локальной сети
с тем же адресом.
Для предотвращения подобных конфликтов стандарты TCP/IP определяют
диапазоны IP-адресов, предназначенные для применения в
незарегистрированных сетях (они показаны в табл. 11.2). Такие адреса не присваиваются ни
Глава 11. TCP/IP
333
одной из зарегистрированных сетей и, исходя из этого, могут совершенно
свободно использоваться любой организацией, частной или общественной.
Таблица 11.2. Нерегистрируемые IP-адреса
Класс А От 10.0.0.0 до 10.255.255.255
Класс В От 172.16.0.0 до 172.31.255.255
КлассС От 192.168.0.0 до 192.168.255.255
Присвоение IP-адресов рассматриваемого типа не только упрощает процесс
получения и присвоения адресов системам сети, но и сохраняет IP-адреса
для тех компьютеров, которым они действительно нужны для
коммуникации с Интернетом. Как это произошло со многими концептуальными
решениями в компьютерной индустрии, так и во времена создания сети
Интернет никто не мог даже предположить, что она достигнет столь грандиозных
размеров, которые имеет сейчас. Считалось, что 32-разрядное адресное
пространство протокола IP будет достаточным для обеспечения всего будущего
роста сети Интернет (если вспомнить, подобное случилось с ограничением
объема памяти в 640 Кбайт).
В настоящее время развитие Интернета достигло той точки, когда сетевые
адреса практически всегда присваиваются третьими организациями, а не
напрямую NSI. Кроме того, неуклонное увеличение количества других
коммуникационных устройств, использующих собственные IP-адреса,
например, карманных компьютеров и сотовых телефонов, может уже в самом
ближайшем будущем привести к нехватке IP-адресов. Последняя версия
протокола IP, а именно IPv6, призвана снять это ограничение с помощью
расширения адресного пространства с 32 разрядов до 128.
Выделенные IP-адреса
Кроме IP-адресов, выделенных для использования в незарегистрированных
сетях, существует ряд адресов, которые не закрепляются за конкретными
сетями, поскольку предназначены для специальных нужд. Все они
перечислены в табл. 11.3.
Адрес внутренней обратной связи узла
Internal Host Loopback Address (адрес внутренней обратной связи узла)
представляет собой средство диагностики, которое позволяет направить трафик
из TCP/IP-системы в нее же обратно, то есть фактически он не покидает
компьютер. Система, передающая любые пакеты по адресу класса А со
значением первого квадранта 127 (обычно это адрес 127.0.0.1), автоматически
перенаправляет исходящий трафик в собственную входную IP-очередь. Так
334
Часть III. Сетевые протоколы
как пакеты не покидают компьютер, механизмы Канального и Физического
уровня удаляются из петли, что дает возможность исключить протоколы
этих уровней при выяснении причины возможных проблем.
Адрес внутренней обратной связи узла позволяет тестировать на одном и
том же компьютере как процессы клиента, так и процессы сервера.
Например, если задать в качестве .адреса обратной связи URL для Web-браузера,
программа получит доступ к странице по умолчанию программы Web-
сервера, работающей в том же компьютере.
Таблица 11.3. IP-адреса специального назначения
Адрес
Пример
Функция
Все биты нули
Все биты единицы
Все хост-биты нули
Все хост-биты
единицы
Все сетевые биты
нули
Первый квадрант 127 127.0.0.1
0.0.0.0
255.255.255.255
192.168.2.0
192.168.2.255
0.0.0.22
Адрес текущего узла текущей сети,
например, в процессе работы DHCP до
присвоения IP-адреса
Ограниченное широковещательное
сообщение, адресованное всем узлам
локальной сети
Идентификатор сети
Направленное широковещательное
сообщение, адресованное всем узлам
другой сети
Адрес конкретного узла в текущей сети
Адрес внутренней обратной связи узла
Создание подсетей
Теоретически, IP-адреса, присваиваемые компьютерам сети, вовсе не
должны обязательно соответствовать физическим сегментам сети, но стандартная
практика доказывает, что это — все-таки достаточно обосновано. Вполне
очевидно, что организация, за которой закреплен IP-адрес класса В, не
будет иметь 65 534 узла в одном сегменте сети, а создаст сетевой комплекс из
множества сегментов, соединенных маршрутизаторами, коммутаторами и
другими устройствами. Для поддержки многосегментной сети,
идентифицируемой одним IP-адресом, практикуется создание подсетей в соответствии с
физическими сетевыми сегментами.
Подсетью (subnet) называется часть адреса сети, образуемая путем
заимствования некоторого количества битов идентификатора узла в качестве адреса
подсети. В процессе назначения сетевых адресов компьютерам,
составляющих подсеть, потребуется модифицировать маску подсети для каждого из
них, отразив "одолженные" биты в качестве адреса сети, вместо адреса узла.
Глава 11. TCP/IP
335
Например, можно создать подсеть на базе адреса сети класса В, используя
третий квадрант, изначально предназначенный для адреса узла, в качестве
адреса подсети, как показано на рис. 11.2. Изменение маски подсети с
255.255.0.0 на 255.255.255.0 позволяет разделить адрес класса В на 254
подсети по 254 узла в каждой. Затем можно присвоить каждому физическому
сегменту сети индивидуальное значение третьего квадранта, выделив для
адресов индивидуальных компьютеров только четвертый квадрант. В результате,
маршрутизаторы будут направлять трафик в нужный сегмент сети,
ориентируясь на значение третьего квадранта.
123456781234 5 6781234567812345678
Адрес сети
Адрес узла
Адрес сети
Адрес подсети
Адрес узла
Рис. 11.2. Два примера показывают стандартный IP-адрес класса В,
разбитый на 16-битные адреса сети и узла. Нижний пример демонстрирует
создание подсети на базе этого адреса путем использования 8 битов
адреса узла в качестве адреса подсети
[^ Примечание ^^
Адрес подсети представляет собой полностью теоретическое построение. Для
маршрутизаторов и других компьютеров сети IP-адрес состоит только из
адресов сети и узла, с битами адреса подсети, включенными в адрес сети.
Предыдущий пример проиллюстрировал основной способ формирования
подсетей, при котором граница адреса сети пролегает точно между
квадрантами. Однако можно задействовать любое количество битов адреса узла для
обозначения адреса подсети при условии соответствующей настройки маски
подсети и самого IP-адреса. Например, после принятия решения об
использовании 4 битов адреса узла из IP-адреса класса В для формирования адреса
подсети, потребуется изменить двоичное значение маски подсети
следующим образом:
11111111 11111111 11110000 00000000
Первые 4 бита третьего квадранта маски подсети преобразуются из нулей в
единицы, показывая тем самым, что соответствующие биты IP-адреса
участвуют в формировании адреса сети. Десятичный эквивалент маски теперь
имеет вид 255.255.240.0, именно это значение необходимо задавать в
качестве маски подсети при конфигурировании TCP/IP-системы. Заимствование
битов подобным образом позволяет создать до 14 подсетей, состоящих из
4094 узлов каждая. Формула для определения числа подсетей и узлов
выглядит так:
2х - 2
336
Часть III. Сетевые протоколы
где х равен числу битов, выделенных для адреса подсети или узла. Отнимать
2 необходимо в связи с тем, что адреса, состоящие только из двоичных
нулей или только из единиц, традиционно не используются. В данном случае
можно произвести следующие вычисления:
24 - 2 = 14
212 - 2 = 4 094
К^" Примечание ^Д
Отдельные реализации протоколов TCP/IP разрешают задавать в качестве
адреса подсети нулевое значение, однако подобной практики следует все же
избегать, если нет полной уверенности, что все маршрутизаторы ЛВС также
поддерживают эту возможность.
Для определения IP-адресов конкретных компьютеров сети приращение
4 битов адреса подсети производится независимо от 12 битов адреса узла, а
затем результаты конвертируются в десятичную форму записи.
Руководствуясь данной схемой, можно записать двоичный адрес первого компьютера
первой подсети для сети с IP-адресом класса В, например, 172.16.0.0, в
следующем виде:
10101100 00010000 00010000 00000001
Первые два квадранта соответствуют двоичным эквивалентам 172 и 16.
Третий квадрант состоит из 4-битового адреса подсети со значением 0001 и
первых 4 битов 12-битного адреса узла. Так как определяется адрес первого
компьютера подсети, то соответствующее двоичное представление адреса
узла— 000000000001.
Несмотря на то, что 12 битов адреса узла составляют единый блок, при
переводе в десятичную форму записи каждый квадрант учитывается отдельно.
Поэтому значение третьего квадранта составляет 16, а четвертого 1, что
соответствует IP-адресу 172.16.16.1. Последний адрес первой подсети будет
выглядеть так:
10101100 00010000 00011111 11111110
что соответствует IP-адресу 172.16.31.254.
Для следующей подсети адрес увеличивается до 0010, и процесс присвоения
адресов индивидуальным компьютерам вновь начинается со значения,
равного единице. Таким образом, первый адрес второй подсети представляется
указанной последовательностью битов:
10101100 00010000 00100000 00000001
или следующим десятичным эквивалентом:
172.16.32.1
Глава 11. TCP/IP
337
Продолжая аналогичным образом, можно сформировать все 14 подсетей,
используя следующие диапазоны адресов:
172.16.16.1 - 172.16.31.25
172.16.32.1 - 172.16.47.25
172.16.48.1 - 172.16.63.25
172.16.64.1 - 172.16.79.25
172.16.80.1 - 172.16.95.25
172.16.96.1 - 172.16.111.25
172.16.128.1 -172.16.143.25
172.16.144.1 - 172.16.159.25
172.16.160.1 - 172.16.175.25
172.16.176.1 - 172.16.191.25
172.16.192.1 - 172.16.207.25
172.16.208.1 - 172.16.223.25
172.16.224.1 - 172.16.239.25
К счастью, расчет диапазонов адресов вручную не является жгучей
необходимостью при разбиении локальной сети на подсети. Существуют
специальные утилиты, которым необходимо и достаточно задать адрес сети, его
класс, а также количество битов, используемых для создания
идентификатора подсети. После ввода указанных данных программа автоматически
вычислит адреса для индивидуальных подсетей.
f^ Примечание ^Ц
Бесплатную утилиту IP Subnet Calculator можно получить по адресу
http://www.net3group.com/ipcalc.asp.
Порты и сокеты
IP-адрес дает возможность маршрутизировать сетевой трафик к конкретной
системе, но, после того, как пакеты прибыли в компьютер и совершают
продвижение вверх по стеку протоколов, их по-прежнему требуется направлять к
соответствующему приложению. Этой деятельностью занимаются протоколы
Транспортного уровня, а именно — TCP или UDP. Для идентификации
конкретного процесса, запущенного на компьютере, протоколы TCP и UDP
используют номера портов, которые включены в заголовок каждого TCP- или
UDP-пакета. Обычно номер порта определяет протокол прикладного уровня,
сформировавший информацию, которая содержится в пакете.
Например, IP-заголовок запроса DNS содержит IP-адрес DNS-сервера в
поле адреса назначения. Как только пакет прибывает в систему назначения,
338
Часть HI. Сетевые протоколы
она обращает внимание на номер 53, указанный в заголовке UDP-пакета в
поле "Порт назначения". После этого система уже знает, что передавать этот
пакет нужно сервису, который использует порт 53, то есть службе DNS.
|^ Примечание ^|
Назначение портов протоколами TCP и UDP осуществляется независимо друг
от друга. Хотя это и нетипично, но один сервис может иметь различные номера
портов для протоколов TCP и UDP, или каждый из протоколов может назначить
один номер порта для использования различными сервисами.
Номера портов, назначаемые конкретным сервисам, также стандартизируются
IANA и публикуются в Assigned Numbers RFC (последний к настоящему
времени RFC 1700). Каждая TCP/IP-система имеет файл Services, в котором
перечисляются нужные ей номера портов и соответствующие им сервисы.
Комбинация номера порта и IP-адреса известна под названием сокет
(socket). Формат URL требует записи сокета как IP-адреса и номера порта,
разделенных двоеточием, например, 192.168.2.45:80.
Присваивание имен TCP/IP
IP-адрес является эффективным средством идентификации сетей и узлов,
но когда речь заходит о пользовательских интерфейсах, оказывается, что
такие адреса крайне сложны для использования и запоминания. В связи с
этим была разработана система имен доменов (DNS, Domain Name System) для
обеспечения доменов дружественными именами. При рассмотрении
вопросов, связанных с работой протоколов Сетевого и Транспортного уровней из
набора TCP/IP, надо понимать, что наиболее важная информация об именах
DNS заключается в том, что они не имеют ничего общего с фактической
передачей данных по сети.
Пакеты адресуются исключительно с применением IP-адресов. Если
пользователь указывает DNS-имя в каком-либо приложении (например, URL в
Web-браузере), первое, что делает система, обрабатывая его, — это начинает
транзакцию (условный обмен сообщениями) с сервером DNS для
разрешения DNS-имени в IP-адрес. Транзакция выполняется до того момента, с
которого компьютер пользователя в принципе начинает отправлять какой-
либо трафик системе назначения. Как только система-отправитель узнает
IP-адрес системы назначения, она включает его в IP-заголовки для
адресации всех будущих пакетов, а DNS-имя с этого момента уже ни на что не
влияет.
Структура DNS-имен и функции DNS-серверов обсуждаются более
подробно в главе 20.
Глава 11. TCP/IP
339
Протоколы TCP/IP
В следующих разделах описываются основные протоколы, составляющие
стек TCP/IP. Существуют буквально дюжины TCP/IP-протоколов и
стандартов, но только некоторые из них, как правило, бывают востребованы
компьютерами в составе сети TCP/IP. Другие главы этой книги
рассказывают о более специализированных протоколах из набора TCP/IP, например,
используемых маршрутизаторами для обмена информацией о
маршрутизации (см. главу 6), а также протоколах прикладного уровня, задействуемых
специфическими сервисами.
SLIP и РРР
Serial Line Internet Protocol (SLIP, протокол последовательного канала сети
Интернет) и Point-to-Point Protocol (РРР, протокол двухточечной связи)
выделяются из всего набора TCP/IP своими уникальными свойствами, так как только
они способны обеспечить полную функциональность Канального уровня.
Компьютеры, включенные в ЛВС, почти всегда опираются на один из
стандартных протоколов Канального уровня типа Ethernet или Token Ring для
контроля фактического соединения по локальной сети. Этот факт объясняется
тем, что компьютеры сети совместно используют общую среду передачи
данных и должны иметь МАС-механизмы управления доступом к ней.
Протоколы SLIP и РРР были разработаны в расчете на модемные и другие
прямые соединения, при которых нет необходимости в управлении
доступом к среде. Поскольку указанные протоколы служат для соединения
только двух систем, они называются сквозными протоколами (end-to-end protocol).
В этом случае протоколы набора TCP/IP могут определять работу всего
стека протоколов, кроме собственно Физического уровня, который опирается
на интерфейс последовательного порта RS-232 для обеспечения соединения
с модемом.
В большинстве случаев системы используют протоколы SLIP и РРР для
предоставления соединения с глобальной сетью или Интернетом,
независимо от того, входят ли данные системы в ЛВС или нет. Практически каждый
отдельно стоящий персональный компьютер, применяющий модем для
связи с IS P и подключения к Интернету, прибегает для этого к помощи РРР,
хотя небольшое число компьютеров по-прежнему при осуществлении
соединения опираются на SLIP. ЛВС также поддерживают SLIP- или РРР-
соединения в своих маршрутизаторах для того, чтобы рбеспечить связь с ISP
и доступ в Интернет для всей ЛВС или связь с другой ЛВС для
формирования сегмента глобальной сети. Несмотря на то, что наиболее часто данные
протоколы ассоциируются с модемными соединениями, другие технологии
Физического уровня также могут применять SLIP и РРР, например,
выделенные линии, ISDN, frame relay, а также ATM.
340
Часть III. Сетевые протоколы
SLIP и РРР относятся к протоколам с установлением соединения, которые
обеспечивают поддержание канала передачи данных между двумя
системами, причем в самом простом смысле этого слова. Названные протоколы
инкапсулируют IP-дейтаграммы для обмена сообщениями между
компьютерами точно так же, как это делают и Ethernet и Token Ring, но формат кадров,
применяемых ими, значительно более прост. Последнее связано с тем, что
данные протоколы не отягощены теми же проблемами, что протоколы ЛВС.
Поскольку канал в рассматриваемом случае сводится просто к соединению
между двумя компьютерами, нет необходимости в механизмах управления
доступом к среде, таких, как множественный доступ с контролем несущей и
обнаружением коллизий (CSMA/CD) или передача маркера. Также
отсутствуют сложности, связанные с адресацией пакетов в конкретную систему
назначения, так как всего две системы вовлечены во взаимодействие, и
информация просто не может следовать в неправильное место назначения.
Протокол SLIP
Протокол SLIP был создан в начале 1980-х годов для обеспечения наиболее
простого решения вопроса о передаче данных при последовательных
соединениях. Протокол SLIP не определен никаким официальным стандартом, в
основном по той причине, что в нем практически нечего регламентировать
и его способность к взаимодействию с различными системами не является
проблемой. Тем не менее, существует документ IETF под названием
"A Nonstandard for Transmission of IP datagrams over serial lines" (RFC 1055),
определяющий функциональность протокола.
Кадр протокола SLIP предельно прост. Поле размером в 1 байт со
значением сО служит конечным разделителем (END), следующим за каждой
дейтаграммой, которая доставляется по каналу. Символ END говорит системе-
получателю, что пакет, передача которого совершается в данный момент,
закончился. Некоторые системы отмечают символом END еще и начало
каждой IP-дейтаграммы. В таком случае, если в интервале между двумя
дейтаграммами на линии связи появляется шум, система-получатель
рассматривает его как отдельный пакет, поскольку этот промежуток также ограничен
двумя символами END (рис. 11.3). Когда протоколы более высоких уровней
попытаются обработать зашумленный "пакет", они рассмотрят его как
бессмысленный и игнорируют.
END
Данные
END
Шум
END
Данные
END
Рис. 11.3. Информация при SLIP-соединении может
с двух сторон помечаться символами END
Если в самой дейтаграмме встречается байт со значением сО, система-
отправитель преобразует его до передачи в 2-байтную строку db dc, чтобы
Глава 11. TCP/IP
341
избежать некорректного завершения пакета. Байт db рассматривается в
качестве символа ESC, который в сочетании с другим символом служит для
специальных целей. В случае, когда дейтаграмма содержит символ ESC как
часть данных, система заменяет его на значение db dd.
^ Примечание ^д
Символ ESC, определяемый протоколом SLIP, не является эквивалентом
символа ESC из ASCII.
Недостатки SLIP
Из-за своей простоты протокол SLIP легок в реализации и добавляет лишь
небольшое количество издержек в процесс передачи данных. Однако он
страдает от отсутствия многих качеств, которые могли бы сделать его более
удобным протоколом. Например, у протокола SLIP отсутствует возможность
информирования одной стороны об IP-адресе другой стороны, поэтому обе
системы должны заранее быть сконфигурированы с учетом IP-адресов друг
друга. SLIP также не имеет никаких способов идентификации протокола,
информацию которого он несет в своих кадрах, это не позволяет ему вести
мультиплексирование протоколов Сетевого уровня (например, IP и NetBEUI) в
рамках одного соединения. В дополнение, протоколу SLIP недостает средств
обнаружения ошибок и исправления их, поэтому с подобными задачами
приходится иметь дело протоколам более высоких уровней, что приводит к
более длительным задержкам, чем те, с которыми могут работать
соответствующие механизмы Канального уровня.
Сжатие заголовков SLIP (CSLIP)
Когда две системы взаимодействуют с применением SLIP, большинство
контрольных механизмов, обеспечиваемых протоколами на Сетевом и
Транспортном уровнях, становятся избыточными, особенно если речь идет о ТСР-сое-
динениях. В процессе типичного SLIP-соединения две системы могут
обмениваться сотнями и тысячами пакетов с совершенно одинаковой
информацией в заголовках протоколов Сетевого и Транспортного уровней.
Документ RFC 1144, выступающий под другим названием "Compressing
TCP/IP Headers for Low Speed Serial Links" (сжатие заголовков TCP/IP для
низкоскоростных последовальных соединений) определяет метод,
позволяющий системам, участвующим в SLIP-соединении, опустить большую часть
избыточной информации из заголовков пакетов, что позволяет снизить
общую нагрузку с 40 байтов до 5 байтов и менее. Это усовершенствование может
привести к значительному выигрышу в эффективности соединения.
Указанный тип компрессии заголовков встречается также во многих
реализациях РРР, где называется по имени автора RFC 1144 методом сжатия
заголовков Джейкобсона (Van Jacobson header compression).
342
Часть III. Сетевые протоколы
Протокол РРР
Протокол РРР был создан в качестве альтернативы SLIP, которая
обеспечивала бы большую функциональность, например, возможность
мультиплексирования различных протоколов Сетевого уровня и поддержку протоколов
аутентификации. Естественнр, ценой всех этих новых свойств является более
длинный заголовок, однако РРР во всех своих вариантах добавляет не более
8 байтов к каждому пакету (по сравнению с 16 байтами, необходимыми для
кадра Ethernet). Большинство соединений с поставщиками услуг Интернета,
организуемых как отдельными компьютерами, так и маршрутизаторами,
происходят с использованием РРР, так как он позволяет ISP осуществлять меры
по контролю над доступом, необходимые для защиты своих сетей от
несанкционированного проникновения пользователей-злоумышленников.
Типичный сеанс РРР-соединения состоит из нескольких процедур по
установлению и разрыву связи, задействующих свои собственные протоколы
помимо РРР. Эти процедуры перечислены ниже.
□ Установление соединения. Система, инициирующая соединение,
использует Link Control Protocol (LCP, протокол управления каналом связи) для
согласования параметров связи, которые бы устроили обе стороны.
□ Аутентификация. Хотя это и не обязательно, система может вовлекать в
процесс соединения протокол аутентификации, например, Password
Authentication Protocol (PAP, протокол аутентификации пароля) или
Challenge Handshake Authentication Protocol (CHAP, протокол
аутентификации с предварительным согласованием вызова) для проведения диалога
открытия доступа к другой системе.
□ Установление соединения на уровне протоколов Сетевого уровня. Для
каждого протокола Сетевого уровня, используемого системами во время
сеанса связи, выполняется отдельная процедура установления соединения с
использованием Network Control Protocol (NCP, протокол управления
сетью), в частности Internet Protocol Control Protocol (IPCP, протокол
управления протоколом IP).
В отличие от SLIP, протокол РРР стандартизирован, но его спецификации
разделены на несколько различных RFC. Компоненты протокола,
регламентированные в каждом из документов, перечислены в табл. 11.4.
Таблица 11 А. РРР и связанные стандарты
Документ Название
RFC 1661 The Point-to-Point Protocol (РРР)
RFC 1662 РРР in HDLC-like Framing
RFC 1663 PPP Reliable Transmission
Глава 11. TCP/IP
343
Таблица 11.4 (окончание)
Документ Название
RFC 1332 The РРР Internet Protocol Control Protocol (IPCP)
RFC 1552 The PPP Internetwork Packet Exchange Control Protocol (IPXCP)
RFC 1334 PPP Authentication Protocols
RFC 1994 PPP Challenge Handshake Authentication Protocol (CHAP)
RFC 1989 PPP Link Quality Monitoring
Кадр протокола РРР
Документ RFC 1661 специфицирует формат базового кадра, формируемого
протоколом РРР для инкапсуляции данных других протоколов и передачи
их к месту назначения. Кадр относительно мал, всего 8 (иногда 10) байтов,
он показан на рис. 11.4.
Флаг
Адрес
Поле
управления
Протокол
Данные
FCS
Флаг
Рис. 11.4. Формат кадра РРР. FCS — контрольная последовательность кадра
Функции полей кадра перечислены ниже.
□ Флаг (1 байт). Содержит шестнадцатеричное число 7е и работает в
качестве разделителя пакетов, аналогично символу END протокола SLIP.
□ Адрес (1 байт). Представляет собой шестнадцатеричное число ff,
указывающее, что пакет адресован всем станциям.
□ Поле управления (1 байт). Значение в этом поле идентифицирует пакет
как содержащий ненумерованное информационное сообщение HDLC
(High-level Data Link Control, высокоуровневый протокол управления
каналом).
□ Протокол (2 байта). Предназначено для идентификации протокола,
сформировавшего информацию в поле данных. Значения кода от Оххх до Зххх
соответствуют протоколам Сетевого уровня, значения от Аххх до 7ххх
указывают на один из малочисленных сетевых протоколов, не имеющих
соответствующего NCP, диапазон от Sxxx до Ъххх выделен для протоколов
Сетевого уровня, выполняющих процедуру установления соединения
протокола NCP, и, наконец, кодами в интервале от сххх до Ъоос обозначаются
протоколы управления Канального уровня типа NCP и протоколы
аутентификации. Предустановленные коды, описанные в документе TCP/IP под
названием "Assigned Numbers" (RFC 1700), перечислены ниже.
344
Часть III. Сетевые протоколы
• 0021. Не сжатые IP-дейтаграммы (используется в случаях, когда
поддержан метод сжатия Джейкобсона).
• 002Ь. Дейтаграмма протокола Novell IPX.
• 002d. IP-дейтаграммы с сжатыми TCP- и IP-заголовками
(применяется, когда разрешен метод сжатия Джейкобсона).
• 002f. IP-дейтаграммы, содержащие данные TCP без компрессии
(применяется, когда разрешен метод сжатия Джейкобсона).
• 8021. Internet Protocol Control Protocol (IPCP).
• 802b. Novell IPX Control Protocol (IPXIP).
• c021. Link Control Protocol (LCP).
• c023. Password Authentication Protocol (PAP).
• c223. Challenge Handshake Authentication Protocol (CHAP).
□ Данные и заполнение (переменный размер до 1500 байтов). Содержит
полезные данные пакета с максимальной длиной по умолчанию {MRU,
maximum receive unit — максимальный принимаемый блок), равной 1500
байтов. Поле может содержать незначимые байты (заполнение) для
приведения размера к максимальной величине.
□ Контрольная последовательность кадра (2 или 4 байта). Хранит
контрольную сумму (CRC), вычисленную для целого кадра, за исключением полей
флага и контрольной последовательности, в целях обнаружения
возможных ошибок.
□ Флаг (1 байт). Имеет то же содержание, что и поле флага в начале кадра.
Когда система передает два последовательных пакета, одно из полей
флага опускается, так как два поля флага подряд могут быть приняты за
пустой кадр.
Некоторые из полей кадра протокола РРР могут быть изменены в результате
LCP-согласования параметров соединения между двумя системами,
например, длина полей протокола и контрольной последовательности или
величина MRU для поля данных. Системы могут прийти к соглашению о
сокращении длины поля протокола до 1 байта или использовать 4-байтное
поле контрольной последовательности.
Кадр протокола LCP
Протокол LCP (Link Control Protocol, протокол управления каналом связи)
применяется в РРР-системах для ведения переговоров о своих возможностях
во время процесса установления соединения с целью достижения наиболее
эффективного соединения из всех возможных. Сообщения протокола LCP
переносятся кадрами протокола РРР и содержат информацию о возможной
Глава 11. TCP/IP
345
конфигурации соединения. Как только две системы останавливаются на
конфигурации, которую они обе могут поддерживать, процесс установления
соединения продолжается. Определив параметры соединения в ходе
установления канала связи, системы уже не должны включать избыточную
информацию в заголовок каждого пакета данных.
Формат сообщения протокола LCP показан на рис. 11.5. Функции
отдельных полей приведены ниже.
□ Код (1 байт). Определяет тип LCP-сообщения. Применяются следующие
коды:
• 1 — Configure-Request (конфигурация-запрос);
• 2 — Configure-Ack (конфигурация-подтверждение);
• 3 — Configure-Nak (конфигурация- отсутствие подтверждения);
• 4 — Configure-Reject (конфигурация-отказ);
• 5 — Terminate-Request (разъединение-запрос);
• б — Terminate-Ack (разъединение-подтверждение);
• 7 — Code Reject (отказ в коде);
• 8 — Protocol Reject (отказ в протоколе);
• 9 — Echo-Request (запрос отклика);
• 10 — Echo-Reply (отклик);
• 11 — Discard-Request (игнорирование запроса).
□ Идентификатор (1 байт). Содержит код, используемый при ассоциации
запросов и ответов на них для индивидуальной LCP-транзакции.
123456781234567812 3 4567812345678
Код
Идентификатор
Длина
I
Данные
Рис. 11.5. Формат сообщения протокола LCP
□ Длина (2 байта). Определяет длину LCP-сообщения, включая поля кода,
идентификатора, длины и данных.
□ Данные (переменный размер). Содержит различные конфигурационные
опциональные элементы, информация о которых разбивается на три
фрагмента.
Каждая из опций в поле данных LCP-сообщения состоит из трех подполей,
как показано на рис. 11.6. Функции подполей приведены ниже.
346
Часть III. Сетевые протоколы
12345678123456781234567812345678
Тип
Длина
Данные ;
Рис. 11.6- Формат опции LCP
□ Тип (1 байт). Определяет конфигурируемую опцию, используются
следующие коды из RCF под названием "Assigned Numbers":
• 0 — Vendor Specific (определяется разработчиком);
• 1 — Maximum Receive Unit (максимальный принимаемый блок);
• 2 — Async Control Character Map (таблица символов асинхронного
управления);
• 3 — Authentication Protocol (протокол аутентификации);
• 4 — Quality Protocol (протокол качества);
• 5 — Magic Number ("магическое число");
• 6 — Reserved (зарезервировано);
• 7 — Protocol Field Compression (сжатие поля протокола);
• 8 — Address and Control Field Compression (сжатие полей адреса и
управления);
• 9 — FCS Alternatives (альтернативы FCS);
• 10 — Self-Describing Pad (заполнение с самоописанием);
• 11 — Numbered Mode (нумерованный режим);
• 12 — Mutilink Procedure (процедура многоканальной связи);
• 13 — Callback (обратный звонок);
• 14 — Connect Time (время соединения);
• 15 — Compound Frames (составные кадры);
• 16 — Nominal Data Encapsulation (именная инкапсуляция данных);
• 17 — Mutilink MRRU (MRRU многоканальной связи):
• 18 — Mutilink Short Sequence Number Header Format (формат заголовка
короткой последовательности нумерованного обмена по
многоканальной связи);
• 19 — Mutilink Endpoint Discriminator (выделитель конечного
разделителя для многоканальной связи);
• 20 — Proprietary (не подлежащий распространению, закрытый);
• 21 — DCE Identifier (идентификатор DCE).
□ Длина (1 байт). Определяет дяину LCP-сообщения, включая поля кода,
идентификатора, длины и данных.
Глава 11. TCP/IP
347
□ Данные (переменный размер). Содержит информацию, относящуюся к
конкретному типу LCP-сообщения, в соответствии со значением поля кода.
Протокол LCP был разработан с учетом возможного расширения. Для этой
цели выделен код 0. Задавая его в поле типа разработчики могут сами
включать свои собственные опции, без стандартизации их IANA. Данный
процесс описан в документе RFC 2153, также выступающем под названием
"РРР Vendor Extensions".
Протоколы аутентификации
Соединения по протоколу РРР могут опционально предполагать
аутентификацию для предотвращения несанкционированного доступа. Для этого в
процесс вовлекается дополнительный протокол, оговариваемый системами в
ходе обмена LCP-сообщениями, информация которого инкапсулируется
кадрами РРР. Два наиболее популярных протокола аутентификации, а
именно, РАР и CHAP, определяются стандартами TCP/IP, но системы
также могут применять другие аутентификационные протоколы, созданные
индивидуальными разработчиками.
Кадр протокола РАР
Протокол РАР (Password Authentication Protocol, протокол аутентификации
пароля) — изначально более слабый из двух протоколов, так как использует
только двухстороннее квитирование установления связи (handshake), а также
передает имена регистрационных записей и пароли по каналу связи
открытым текстом. Обычно системы используют РАР только в том случае, если
они не имеют другого общего протокола аутентификации. Пакеты
протокола РАР содержат значение с023 в поле идентификации протокола РРР-
заголовка, берут за основу тот же формат, что и LCP, и отличаются от него
только соответствующими опциями. Функции полей РАР-сообщения
приведены ниже.
□ Код (1 байт). Определяет тип РАР-сообщения, может иметь одно из трех
значений.
• 1 — Authenticate Request (запрос аутентификации).
• 2 — Authenticate Ack (подтверждение аутентификации).
• 3 — Authenticate Nak (неподтверждение аутентификации).
. □ Идентификатор (1 байт). Содержит код, используемый при ассоциации
запросов и ответов на них для индивидуальной РАР-транзакции
□ Длина (2 байта). Определяет длину РАР-сообщения, включая поля кода,
идентификатора, длины и данных.
□ Данные (переменный размер). Содержит несколько подпол ей в
зависимости от значения в поле кода.
348
Часть III. Сетевые протоколы
• Длина поля идентификатора узла (1 байт). Указывает длину поля
идентификатора компьютера (только сообщения Authenticate Request).
• Идентификатор узла (переменный размер). Определяет учетную запись,
с которой узел назначения будет сверяться для аутентификации
системы-источника (только сообщения Authenticate Request).
• Длина пароля (1 байт). Указывает длину поля пароля (только
сообщения Authenticate Request).
• Пароль (переменный размер). Содержит пароль, ассоциированный в
учетной записи с именем, указанным в поле идентификатора узла
(только сообщения Authenticate Request).
• Длина сообщения (1 байт). Определяет длину поля сообщения (только
сообщения Authenticate Ack/Authenticate Nak).
• Сообщение (переменный размер). Включает в себя текстовое
сообщение, которое будет продемонстрировано пользовательским
интерфейсом для отражения успешности или неудачности процедуры
аутентификации (только сообщения Authenticate Ack и Authenticate Nak).
Кадр протокола CHAP
Протокол CHAP (Challenge Handshake Authentication Protocol, протокол
аутентификации с предварительным согласованием вызова) значительно более
безопасен, чем протокол РАР, поскольку использует трехстороннее
квитирование установления связи и никогда не передает имена учетных записей и
пароли открытым текстом. Пакеты протокола CHAP идентифицируются
кодом с223 в поле протокола РРР-заголовка, и имеют практически тот же
формат, что и РАР. Функции полей СНАР-сообщения описаны ниже.
□ Код (1 байт). Указывает тип СНАР-сообщения, может принимать одно
из нескольких предопределенных значений.
• 1 — Challenge (вызов).
• 2 — Response (ответ).
• 3 — Success (успех).
• 4 — Failure (неудача).
□ Идентификатор (1 байт). Содержит код, используемый при ассоциации
запросов и ответов на них для индивидуальной СНАР-транзакции.
□ Длина (2 байта). Определяет длину СНАР-сообщения, включая поля
кода, идентификатора, длины и данных.
□ Данные (переменный размер). Содержит несколько подполей в
зависимости от значения в поле кода.
• Размер поля значения (1 байт). Фиксирует размер поля значения
(только сообщения Challenge и Response).
Глава 11. TCP/IP
349
• начение (переменный размер). В сообщении Challenge содержится
уникальная последовательность байтов, которую адресат получает вместе с
идентификатором, а затем с ее помощью и на основе своего
"фирменного" секрета шифрования генерирует содержимое данного поля для
сообщения Response (только сообщения Challenge и Response).
• Имя (переменный размер). Представляет собой строку,
идентифицирующую передающую систему (только сообщения Challenge и Response).
• Сообщение (переменный размер). Содержит текстовое сообщение,
которое будет продемонстрировано пользовательским интерфейсом для
указания успешности или неудачности процедуры аутентификации
(только сообщения Success и Failure).
Кадр протокола IPCP
РРР-системы используют NCP (Network Control Protocol, протокол
управления сетью) с целью определения параметров соединения для каждого из
протоколов Сетевого уровня, который будет затребован во время сессии.
Прежде чем система сможет вести мультиплексную передачу трафика,
сформированного различными протоколами в ходе одного сеанса РРР-
соединения, она должна установить параметры соединения для каждого
протокола в отдельности, применяя соответствующий NCP.
Internet Protocol Control Protocol (IPCP, протокол управления протоколом IP),
являющийся NCP для протокола IP, представляет собой удачный пример
архитектуры подобных протоколов. Формат сообщений данного NCP
практически повторяет формат LCP, за исключением разве что поддержки
значений от 1 до 7 в поле кода (конфигурация канала, обрыв канала и
дополнительные значения кода) и использования отличных опций в поле данных.
Как и в случае LCP, сообщения IPCP переносятся кадрами РРР, но
идентифицируются кодом 8021 в поле протокола заголовка РРР-пакета.
Значения, заносимые в поле типа для поддерживаемых опциональных
элементов, которые могут быть включены в поле данных сообщения протокола
IPCP, описаны ниже.
□ 2 — Протокол сжатия IP. Определяет протокол, с помощью которого
система будет осуществлять сжатие заголовков IP-пакетов. Единственной
разрешенной опцией для этого элемента может быть метод сжатия Джей-
кобсона.
□ 3 — IP-адрес. Служит для запроса передающей системой конкретного IP-
адреса, или же, если значение составляет 0.0.0.0, система-отправитель
просит систему-получателя сообщить свой IP-адрес (последняя
возможность заменила опцию 1 — IP-адрес, которая больше не используется).
350
Часть III. Сетевые протоколы
Установление соединения по протоколу РРР
Как только установлена связь между двумя системами на Физическом
уровне (путем модемного соединения или другой процедуры), начинается
процесс установления РРР-соединения. Две системы в течение этого процесса
минуют несколько отдельных состояний (как показано на рис. 11.7), о
которых рассказывается в следующих разделах.
Канал
отсутствует
Установление
канала
Нет
Обрыв
канала
- Неудача -
Аутентифи- L успешно
кация
Нет
Открытие
канала
Конфигурация
протоколов
Сетевого уровня
Начало работы
протокола LQR
Рис. 11.7. Фазы РРР-соединения
Канал отсутствует
Обе системы начинают и заканчивают сеанс связи с фазы под названием
"канал отсутствует" (link dead), которая предполагает, что между данными
системами не существует связь на Физическом уровне. Во время типичной
сессии приложение, запущенное в одной из систем, инициирует соединение
Физического уровня путем набора номера по модему или задействует другие
способы. Как только установлена связь на Физическом уровне, системы
переходят в состояние установления канала.
Установление канала
В фазе установления канала система, инициировавшая соединение, передает
LCP-сообщение Configure-Request в систему назначения. Это сообщение
содержит конфигурационные опции, которые эта система хотела бы
использовать, например, применение протокола аутентификации, сжатие
заголовков или иное значение MRU. Если система, получившая сообщение, может
поддерживать все указанные в нем возможности, она отправляет сообщение
Configure-Ack, которое содержит те же значения конфигурационных опций,
и данная фаза установления соединения на этом завершается.
Когда система-получатель распознает запрашиваемые элементы
конфигурации, но не может их обеспечить (например, если она поддерживает аутен-
Глава 11. TCP/IP
351
тификацию, но не на основе того протокола, который предлагает система,
отправившая сообщение), она посылает обратно сообщение Configure-Nak,
где указывает значения тех опций, которые система-получатель не
поддерживает. Вместе с ними в ответное сообщение включаются значения всех
конфигурационных опций из предложенных, которые могут поддерживаться
данной системой, а также те варианты, которые она сама хотела бы
использовать в процессе соединения. С получением этой информации система,
активировавшая соединение, создает еще одно сообщение Configure-Request,
где отражает все опциональные элементы, безусловно поддерживаемые
обеими системами. На последнюю переданную информацию другая система
отвечает сообщением Configure-Ack.
Но если системе-получателю не удается распознать какие-либо опции в
запросе, она отправляет сообщение Configure-Reject, содержащее только
нераспознанные элементы. После этого система-отправитель формирует еще
одно сообщение Configure-Request, не включающее непонятых второй
системой опций, и процедура продолжается в том порядке, как было описано
выше. В итоге, когда системы достигают полного согласия, процесс
установления соединения переходит в следующую фазу.
Аутентификация
Фаза аутентификации процесса установления соединения является
необязательной и запускается включением опции Authentication Protocol в LCP-
сообщение Configure-Request. В состоянии организации канала по
протоколу LCP, пройденном ранее, две системы договариваются о протоколе
аутентификации, который будет востребован в рассматриваемой фазе. Наиболее
часто применяются протоколы РАР и CHAP из набора TCP/IP, но
возможно и использование других самостоятельных протоколов.
Формат сообщений и процедура обмена ими во время фазы аутентификации
диктуются выбранным протоколом. Например, при аутентификации по
протоколу РАР система-отправитель отправляет сообщение Authenticate Request,
содержащее имя регистрационной записи и пароль, а система-получатель
отвечает сообщением Authenticate Ack или Authenticate Nak.
Протокол CHAP изначально более безопасен, чем протокол РАР, и требует
более сложного обмена сообщениями. Система-отправитель посылает
сообщение Challenge, несущее данные, с помощью которых система-адресат, за-
действуя собственный криптографический ключ, вычисляет значение
соответствующего подполя в поле данных и отправляет обратно сообщение
Response. В зависимости от того, совпадает ли это число с результатом
подсчетов самой системы-отправителя или нет, она отвечает сообщением
Success или Failure соответственно.
Успешный обмен сообщениями (транзакция) переводит процедуру
установления соединения в следующую фазу, в противном случае эффект,
вызванный неудачным взаимодействием, зависит от конкретного протокола. Неко-
352
Часть III. Сетевые протоколы
торые системы сразу после неудачной аутентификации переходят в стадию
обрыва канала, в то время как другие могут допускать повторные попытки
или ограниченный сетевой доступ для вспомогательной подсистемы.
Контроль качества канала
Использование протокола контроля качества канала является также
необязательным элементом в процессе соединения, который активируется
включением опции Quality Protocol в LCP-сообщение Configure-Request. Хотя
опция и позволяет системе-отправителю определить для этой цели любой
протокол, но только один из них стандартизован, а именно — протокол Link
Quality Report. Процесс переговоров, происходящих на описываемом этапе,
позволяет системам прийти к соглашению об интервалах времени, через
которые будут передаваться сообщения, содержащие трафик канала и
статистику ошибок за время текущей сессии.
Конфигурация протоколов Сетевого уровня
Для всех протоколов Сетевого уровня, которые будут использоваться в ходе
РРР-соединения, требуются индивидуальные NCP-переговоры. Структура
обмена NCP-сообщениями сходна со структурой обмена сообщениями
протокола LCP, за исключением того, что опциональные элементы,
включаемые в сообщение Configure-Request, соответствуют требованием
конкретного протокола. Например, в ходе конфигурации протокола IPCP, системы
информируют друг друга о своих IP-адресах и договариваются о том,
применять или нет сжатие заголовков Джейкобсона. Другие протоколы имеют
свои индивидуальные потребности, оговариваемые системами по мере
необходимости. NCP-процедуры инициализации или прекращения работы могут
также происходить в любой момент в течение всего времени соединения.
Открытие канала
Как только завершен обмен сообщениями NCP, соединение можно считать
полностью установленным, и системы переходят к следующему шагу, а
именно, фазе открытия канала. С этого момента информация протоколов
Сетевого уровня может свободно поступать по каналу в обоих направлениях.
Разъединение
Когда пользователь завершает сессию, или же в результате других причин,
например, разрыва физического соединения, неудачной аутентификации
или истечения времени нахождения в состоянии бездействия, системы
вступают в фазу обрыва канала. Для обрыва канала одна из систем посылает
LCP-сообщение Terminate-Request, на которое другая отвечает сообщением
Terminate-Ack.
NCP также поддерживают сообщения Terminate-Request и Terminate-Ack, но
они предназначены для случая неповрежденного РРР-соединения. Фактиче-
Глава 11. TCP/IP
353
ски, РРР-соединение может оставаться активным даже тогда, когда все
соединения протоколов Сетевого уровня прерваны. По этой причине нет
никакого смысла в разрыве соединений протоколов Сетевого уровня перед
разрывом РРР-соединения.
Протокол ARP
Address Resolution Protocol (ARP, протокол разрешения адресов) занимает
несколько необычное место среди протоколов стека TCP/IP, так как упорно
сопротивляется любым попыткам его классификации. В отличие от
большинства протоколов TCP/IP сообщения ARP не переносятся IP-дейтаграммами.
В документе под названием "Assigned Numbers" описан отдельный
идентификатор, который протоколы Канального уровня используют для демонстрации
того, что они содержат сообщения протокола ARP. В связи с упомянутой
особенностью существуют несколько различных точек зрения относительно того
уровня в стеке протоколов, к которому может быть причислен протокол ARP.
Некоторые утверждают, что протокол ARP относится к протоколам
Канального уровня, так как он обеспечивает сервис для протокола IP, в то время как
другие склонны ассоциировать его с Сетевым уровнем, поскольку сообщения
ARP переносятся протоколами Канального уровня.
Прямая функция протокола ARP, как описано в документе RFC 826,
выступающем под названием "An Ethernet Address Resolution Protocol",
заключается в приведении в соответствие IP-адресов, применяемых для
идентификации систем, с аппаратными адресами Канального уровня. Запрашивая
сетевой ресурс, TCP/IP-приложение указывает IP-адрес назначения,
который сохраняется в заголовке дейтаграммы протокола IP. Система может
выяснить IP-адрес с помощью процедур разрешения имен DNS или NetBIOS,
или же использовать IP-адрес, предоставленный операционной системой
или каким-либо параметром конфигурации приложения.
В свою очередь, протоколы Канального уровня, такие как Ethernet, никоим
образом не могут использовать IP-адреса и не имеют никакой возможности
читать содержимое IP-дейтаграмм. Для передачи пакета по назначению
протоколы Канального уровня должны знать аппаратный адрес, "зашитый" в
плату сетевого адаптера системы назначения. Протокол ARP конвертирует
IP-адреса в аппаратные адреса путем рассылки в локальной сети
широковещательных пакетов-запросов, содержащих определенный IP-адрес, и
ожидания ответного сообщения от системы-обладателя данного IP-адреса с
указанием соответствующего аппаратного адреса.
|^ Примечание ^Д
Протокол ARP был изначально разработан для применения в сетях DIX
Ethernet, а впоследствии был расширен для того, чтобы обеспечить го
совместимость и с другими протоколами Канального уровня.
354
Часть III. Сетевые протоколы
Наиболее существенное различие между IP-адресом и аппаратным адресом
заключается в том, что первый может быть использован для доставки пакета
по конечному назначению, в то время, как второй способен обеспечить
лишь доставку пакета до следующей промежуточной остановки на пути
следования. Если система назначения пакета расположена в том же сегменте
сети, что и его источник, тогда протокол IP вызывает протокол ARP для
преобразования IP-адреса пункта конечного назначения в аппаратный
адрес. Если же система-адресат находится в другом сегменте сети, протокол IP
уже не будет разрешать именно конечный IP-адрес (под которым
подразумевается адрес в IP-заголовке) указанным образом. Вместо этого протокол
разрешения адресов получит от протокола IP адрес шлюза по умолчанию.
Последнее связано с тем, что протокол Канального уровня обязательно
должен содержать в своем заголовке аппаратный адрес ближайшего
промежуточного пункта назначения, который может быть маршрутизатором или
коммутатором. А вот уже от этого маршрутизатора или коммутатора
непосредственно зависит передача пакета еще на один отрезок по пути
следования, то есть до следующей неконечной остановки. Таким образом, в ходе
одной межсетевой передачи множество устройств могут осуществлять ARP-
разрешения одного и того же пакета с совершенно разными результатами.
Формат ARP-сообщения
Сообщения протокола ARP переносятся непосредственно кадрами
протоколов Канального уровня с использованием числа 0806 в качестве значения
поля Ethertype, служащего для идентификации протокола, информация
которого переносится пакетом. Существует единый формат для всех типов
сообщений протокола ARP, как показано на рис. 11.8.
12345678123456781234567812345678
Тип аппаратного обеспечения
I Размер
| аппаратного адреса
Размер
адреса протокола
Тип протокола
Код операции
Аппаратный адрес отправителя
Аппаратный адрес отправителя (продолжение)
Адрес протокола отправителя (продолжение)
Адрес протокола отправителя
Аппаратный адрес назначения
Аппаратный адрес назначения (продолжение)
Адрес протокола назначения
Рис. 11.8- Формат сообщения протокола ARP
Функции полей описаны ниже.
□ Тип аппаратного обеспечения (Hardware Type), 2 байта. Определяет тип
адреса, который будет указан в полях аппаратного адреса отправителя и
Глава 11. TCP/IP
355
аппаратного адреса назначения. Шестнадцатиричное значение для
Ethernet составляет 0001.
П Тип протокола (Protocol Type), 2 байта. Специфицирует тип протокола,
чей адрес будет находиться в полях адреса протокола отправителя и
адреса протокола назначения. Для адресов протокола IP используется шест-
надцатеричное значение 0800 (то же, что и для поля Ethertype).
П Размер аппаратного адреса (Hardware Size), 1 байт. Обозначает размер (в
байтах) адреса, содержащегося в полях аппаратного адреса отправителя и
аппаратного адреса назначения. Размер аппаратных адресов Ethernet равен 6.
П Размер адреса протокола (Protocol Size), 1 байт. Указывает размер (в
байтах) адресов протокола, размещенных в полях адреса протокола
отправителя и адреса протокола назначения. IP-адреса всегда состоят из 4 байтов.
П Код операции (Opcode), 2 байта. Описывает тип сообщения,
переносимого пакетом. Допустимые варианты перечисляются ниже.
• 1 — ARP Request (ARP-запрос).
• 2 — ARP Reply (ARP-ответ).
• 3 — RARP Request (RARP-запрос).
• 4 — RARP Reply (RARP-ответ).
П Аппаратный адрес отправителя (Sender Hardware Address), длина
определяется значением поля размера аппаратного адреса. Содержит аппаратный
(то есть Ethernet) адрес системы, посылающей сообщение, как в случае
запроса (request), так и в случае ответа (reply).
П Адрес протокола отправителя (Sender Protocol Address), длина
определяется значением поля размера адреса протокола. Представляет собой адрес по
протоколу (то есть IP) системы, посылающей сообщение, как в случае
запроса (request), так и в случае ответа (reply).
П Аппаратный адрес назначения (Target Hardware Address), длина
определяется значением поля размера аппаратного адреса. Оставляется пустым в
запросах (request), в ответах же (reply) содержит значение поля
аппаратного адреса отправителя из соответствующего запроса.
П Адрес протокола назначения (Target Protocol Address), длина определяется
значением поля размера адреса протокола. Представляет собой адрес по
протоколу (то есть IP) системы, которой адресовано сообщение, как в
случае запроса (request), так и в случае ответа (reply).
|Г Примечание ^
Сообщения типов RARP Request и RARP Reply не используются в ходе
доставки стандартного сетевого трафика TCP/IP. Для получения более подробной
информации о протоколе RARP (Reverse Address Resolution Protocol, протокол
обратного разрешения адресов) см. главу 18.
356
Часть III. Сетевые протоколы
Транзакции ARP
Транзакция при взаимодействии по протоколу ARP происходит, когда
протокол IP в TCP/IP-системе готов к передаче дейтаграммы через сеть.
Системе известны свой собственный аппаратный адрес и адрес протокола (IP), a
также IP-адрес назначения для пакета. Единственное, чего ей не хватает, — *
это аппаратного адреса системы в локальной сети, которая должна стать
получателем передаваемого пакета. По указанной причине процедура обмена
ARP-сообщениями проходит через следующие этапы:
1. Система-отправитель формирует пакет с сообщением типа ARP-запрос,
содержащий ее собственные адреса в полях аппаратного адреса
отправителя и адреса протокола отправителя (см. пример пакета на рис. 11.9).
Поле адреса протокола назначения содержит IP-адрес системы
локальной сети, которая должна получить дейтаграмму, в то время как поле
аппаратного адреса назначения оставлено пустым. Некоторые версии
протокола ARP помещают в поле аппаратного адреса назначения
сообщения типа ARP-запрос значение широковещательного адреса или
другое значение, но оно все равно игнорируется системой, получающей
сообщение, поскольку это как раз и есть тот адрес, который протокол
пытается установить.
j В'Щ Ethernet Version II
;Q Address: 00-20-AF-8D-3D-FF >FF-
-tUi Ethernet II Protocol Type: ARP
] E- ИГ Address Reso1u t i on Pro t oco1
j ;• ij Hardware Type: 1 (Ethernet)
=:■• -Q Protocol Type: 800
j : Д..Э Hardware Address Length: 6
!•■ |Q Protocol Address Length: 4
1 Q Operations: ARP Request
!K-] Source Hardware Address: 00-20-AF-
r Q IP Source Address: 192.168.2.33
-FF-
-8D-
-FF-
-3D-
j 4-Л Destination Hardware Address: C0-A8-02-
- Q IP Destination Address: 192.168.2
Щ Calculate CRC: 0x4bf5ab76
10
-FF-FF-FF 1
-FF
21-00-00
Рис. 11.9. Пример сообщения ARP Request
2. Система передает по локальной сети сообщение типа ARP-запрос как
широковещательное сообщение, как бы спрашивая у всех систем сети:
"Кто из вас пользуется таким IP-адресом, и какой у него тогда
аппаратный адрес?".
3. Каждая TCP/IP-система получает указанное широковещательное
сообщение и изучает содержимое поля адреса протокола назначения. Если
система никак не использует данный адрес ни в одном из своих сетевых
Глава 11. TCP/IP 357^
интерфейсов, она молча игнорирует данный пакет. Если же она этим
адресом в каких-либо случаях оперирует, то создает ответное сообщение
типа ARP-ответ. В последнем случае система извлекает содержимое
полей аппаратного адреса отправителя и адреса протокола отправителя из
соответствующего сообщения ARP-запрос и размещает их в полях
аппаратного адреса назначения и адреса протокола назначения
соответственно. Затем система сохраняет свои собственные аппаратный адрес и IP-
адрес в полях аппаратного адреса отправителя и адреса протокола
отправителя (рис. 11.10).
4. Система, использующая искомый IP-адрес, посылает сообщение ARP-
ответ в качестве однонаправленной передачи обратно к отправителю
сообщения ARP-запрос. После получения ответа система, инициировавшая
ARP-транзакцию, задействует выявленное значение в качестве адреса
назначения для передачи IP-дейтаграмм на Канальном уровне.
В Щ Ethernet Version II
i ; р Address: 00-20-AF-37-B8-12 >00-20~AF-8D~3D-FF
Q Ethernet II Protocol Type: ARP
BlT Address Resolution Protocol
1 Q Hardware Type: 1 (Ethernet)
' Q Protocol Type: 800
' r Q Hardware Address Length: 6
i- Q Protocol Address Length: 4
:-Q Operations: ARP Response
I-Q Source Hardware Address: 00-20-AF-37-B8-12
r-Q IP Source Address: 192.168.2.10
r-Q Destination Hardware Address: C0-A8-02-0A-00-20
• Q IP Destination Address: 192.168.2.33
; Щ Calculate CRC: 0xl3570f35
Рис. 11.10. Пример сообщения ARP-ответ (ARP Reply)
Кэширование ARP
Из-за того, что протокол ARP опирается на широковещательные сообщения,
он может генерировать значительное количество сетевого трафика. В целях
уменьшения нагрузки на сеть, создаваемой протоколом, TCP/IP-системы кэ-
шируют в памяти аппаратные адреса, выявленные с помощью транзакций
ARP в течение определенного времени. Таким образом, система, передающая
большое количество дейтаграмм одному и тому же узлу, не должна создавать
отдельные сообщения типа ARP Request для каждого пакета.
Это особенно полезно в случае интерсетей, когда системы обычно передают
большую часть пакетов в пункты назначения, расположенные в других
сетях. Если сетевой сегмент имеет всего один маршрутизатор, то все IP-
358
Часть III. Сетевые протоколы
дейтаграммы, предназначенные другим сегментам сети, проходят через этот
маршрутизатор. Если системы сегмента будут иметь аппаратный адрес
маршрутизатора в кэше ARP, они смогут передавать большинство своих
дейтаграмм, не прибегая к помощи собственно протокола ARP.
Время, в течение которого значения остаются в кэше ARP, меняется в
зависимости, от конкретной версии набора протоколов TCP/IP.
Windows-системы очищают кэш от аппаратных адресов, которые не использовались для
передачи новых дейтаграмм в течение последних двух минут.
( Совет )
Операционные системы Windows включают утилиту командной строки под
названием ARP.exe, которая может быть вызвана для создания вручную строк в
кэше ARP. В отличие от динамически создаваемых строк, те, которые
определены администратором, являются постоянными. В случае стабильной сети
можно сильно разгрузить сетевой трафик путем внесения в кэш аппаратных
адресов маршрутизаторов, обеспечивающих доступ в другие сети (а особенно
в Интернет). Приложения-клиенты (например, Web-браузеры) после этого
смогут получать доступ к системам в других сетях без необходимости генерации
повторных широковещательных сообщений-запросов протокола ARP.
Протокол IP
Протокол IP (Internet Protocol, протокол Интернета), как определено в
документе RFC 791, является первичным транспортным протоколом для всего
набора TCP/IP. По сути, протокол IP представляет собой "конверт", внутри
которого переносятся практически все сообщения, создаваемые другими
протоколами набора TCP/IP. Функционируя на Сетевом уровне модели OSI,
протокол IP относится к протоколам без установления соединения,
соответственно, является ненадежным и выполняет несколько задач, которые
составляют критически важную часть процесса доставки пакетов из системы-
источника до места назначения. Среди реализуемых им функций можно
выделить несколько основных.
□ Адресация. Идентификация системы, которая будет конечным
получателем пакета.
□ Упаковка. Инкапсуляция данных Транспортного уровня в дейтаграммы
для передачи по назначению.
□ Фрагментация. Разбиение дейтаграмм на фрагменты, размер которых
достаточно мал для успешной передачи по сети.
□ Маршрутизация. Определение пути пакета через интерсеть до места
назначения.
В следующих разделах эти функции описаны более подробно.
Глава 11. TCP/IP
359
Адресация
Протокол IP отвечает за доставку TCP/IP-пакетов до места их конечного
назначения. Важно правильно понимать, в чем выражается отличие от
адресации протоколов Канального уровня типа Ethernet или Token Ring.
Протоколам Канального уровня известны только машины локального сетевого
сегмента. Независимо от того, куда в конце концов попадет пакет, адрес в
заголовке протокола Канального уровня всегда указывает на компьютер
локальной сети.
Если система, представляющая собой конечное место назначения пакета,
находится в другом сегменте сети, адрес в заголовке протокола Канального
уровня указывает на маршрутизатор, обеспечивающий доступ к этому
фрагменту сети. Получив пакет, маршрутизатор стирает информацию заголовка
протокола Канального уровня и создает новый заголовок, содержащий адрес
следующего промежуточного пункта назначения на пути следования пакета,
называемого транзитом (hop). Таким образом, в процессе следования пакета
заголовок протокола Канального уровня будет содержать собственные
адреса назначения для каждого транзитного участка.
В сравнении с описанным способом адрес назначения IP-пакета всегда
указывает именно на систему конечного назначения, вне зависимости от
расположения ее в том или другом сегменте сети, и никак не меняется в про-,
цессе прохождения пакета по маршруту. Протокол IP представляет собой
первый протокол в стеке (считая с нижнего уровня), который отвечает за
прямую доставку пакета от отправителя непосредственно получателю.
Большинство функций протокола направлены на подготовку данных
Транспортного уровня к передаче через множественные сети к месту конечного
назначения.
Упаковка
Протокол IP также несет ответственность за упаковку данных протоколов
транспортного уровня в структуры, называемые дейтаграммами (datagram),
предназначенные для транспортировки передаваемой информации. Во
время путешествия пакета маршрутизаторы создают дейтаграмме новый
заголовок протокола Канального уровня для каждого транзитного участка. Прежде
чем попасть в место конечного назначения, пакет может пройти через
различные сети, использующие разные протоколы Канального уровня, каждый
из которых требует наличия собственного заголовка. С другой стороны, IP-
"конверт" остается без изменений в течение всего путешествия, за
исключением нескольких битов, которые модифицируются в процессе следования
(уместна аналогия с нанесением почтовых штемпелей на конверт).
Получив данные протокола Транспортного уровня, протокол IP производит
упаковку их в дейтаграммы, размер которых подходит для передачи по
локальной сети. Дейтаграмма (в большинстве случаев) состоит из 20-байтового
360
Часть III. Сетевые протоколы
заголовка и информации протокола Транспортного уровня. Заголовок
показан на рис. 11.11.
12 3 4
Версия
5 6 7 8
IHL
12 3 4 5 6 7 8
Тип сервиса
Идентификатор
Время жизни
Протокол
12 3 4
56781234 5 678
Общая длина
Флаги
Смещение фрагмента
Контрольная сумма заголовка
IP-адрес источника
IP-адрес назначения
Опции •
Данные •
Рис. 11.11. Формат IP-заголовка IHL (длина Интернет-заголовка)
Функции полей заголовка описаны ниже.
□ Версия, 4 бита. Определяет версию протокола IP. Значение для текущей
версии составляет 4.
□ Длина Интернет-заголовка, 4 бита. Задает длину IP-заголовка в 32-
разрядных словах. Если заголовок не содержит дополнительных полей,
эта величина равна 5 (20 байт).
□ Тип сервиса, 1 байт. Биты с 1 по 3, а также 8, не используются. Биты с 4
по 7 определяют приоритет сервиса, предполагаемый для данной
дейтаграммы. Может принимать следующие значения:
0000 — по умолчанию (Default);
0001 — минимальная стоимость (Minimize Monetary Cost);
0010 — максимальная надежность (Maximize Reliability);
0100 — максимальная пропускная способность (Maximize Throughput);
1000 — минимальная задержка (Minimize Delay);
1111 — максимальная защита (Maximize Security).
□ Общая длина, 2 байта. Содержит длину дейтаграммы, включая все поля
заголовка и данные.
□ Идентификатор, 2 байта. Представляет собой уникальное число для
каждой дейтаграммы, которое требуется системе назначения для сборки
фрагментов дейтаграммы.
□ Флаги, 3 бита. Содержит биты, устанавливаемые в процессе
фрагментации дейтаграммы. Их назначение рассматривается ниже.
• Бит 1 — не используется.
• Бит 2 — запрет фрагментации. Данный бит со значением 1
препятствует фрагментации дейтаграммы любой системой.
Глава 11. TCP/IP
361
• Бит 3 — дальнейшие фрагменты. Когда бит 3 сброшен в 0, это говорит
о том, что передается последний фрагмент дейтаграммы. Значение 1
предполагает наличие фрагментов, ожидающих передачи.
□ Смещение фрагмента, 13 битов. Определяет позицию (в октетах байтов)
текущего пакета в от начала всей дейтаграммы.
□ Время жизни, 1 байт. Задает число маршрутизаторов, которые будет
разрешено пройти данной дейтаграмме на пути к конечному месту назначения.
Каждый маршрутизатор, обрабатывающий пакет, уменьшает значение
данного поля на 1. Как только значение сравняется с 0, пакет отбрасывается,
независимо от того, достиг ли он пункта назначения или нет.
□ Протокол, 1 байт. Идентифицирует протокол .вышележащего уровня,
сформировавший информацию в поле данных, задействует значения из RFC-
документа "Assigned Numbers" и файла PROTOCOL, присутствующего в
каждой TCP/IP-системе. Некоторые из возможных идентификаторов:
• 1 — Internet Control Message Protocol (ICMP);
• 2 — Internet Group Management Protocol (IGMP);
• 3 — Gateway-Gateway Protocol (GGP);
• 6 — Transmission Control Protocol (TCP);
• 8 — Exterior Gateway Protocol (EGP);
• 17 — User Datagram Protocol (UDP).
П Контрольная сумма заголовка, 2 байта. Содержит значение контрольной
суммы, вычисленное по всему заголовку (без учета полезных данных).
Служит для отслеживания ошибок.
П IP-адрес источника, 4 байта. Указывает IP-адрес системы, создавшей
дейтаграмму.
П IP-адрес назначения, 4 байта. Определяет систему, которая должна быть
конечным получателем дейтаграммы.
П Опции, переменный размер. Может содержать до 16 опциональных
элементов, определяемых RFC-документом "Assigned Numbers". Подробно о
них рассказывается в следующих разделах.
П Данные, переменный размер вплоть до MTU для данной сети. Переносит
полезные данные дейтаграммы, полученные от протокола Транспортного
уровня.
Системы используют опциональные элементы заголовка протокола IP для
передачи дополнительной информации, как непосредственно от
отправителя, так и собранной во время путешествия пакета к месту назначения.
Каждая опция состоит из произвольного количества описанных ниже
полей (рис. 11.12).
362
Часть III. Сетевые протоколы
1234567812345678123456781234567
Тип опции
Длина опции
Данные опции
Рис. 11.12. Формат IP-опции
П Тип опции (1 байт). Представляет собой число, идентифицирующее
опцию, состоит из трех подполей.
• Флаг копирования (1 бит). Выставленное значение этого бита
означает, что опция должна быть скопирована в каждый из фрагментов,
составляющих дейтаграмму.
• Класс опции (2 бита). Содержит код, соответствующий основной
функции опции, может принимать следующие значения:
О 0 — управление;
О 2 — отладка и измерения (debugging and measurement).
• Номер опции (5 бит). Задает уникальный идентификатор опции в
соответствии документом "Assigned Numbers".
П Длина опции (1 байт). Определяет общую длину опции, включая поля
типа опции, длины и данных.
П Данные (длина опции минус 2). Включают в себя информацию,
специфическую для каждой опции, переносимую дейтаграммой к месту назначения.
В табл. 11.5 перечислены некоторые из возможных опций, которые системы
могут встраивать в IP-дейтаграммы, значения для подполей опций, а также
номера RFC, предписывающие эти значения. Функции опций обсуждаются
в подразделах, следующих далее.
Таблица 11.5. Опции IP-заголовка
Флаг копи- Класс Номер Значение RFC Имя опции
рования опции опции опции
0
0
1
0
0
1
0
0
0
2
0
0
0
1
3
4
7
9
0
1
131
68
7
137
RFC 791
RFC 791
RFC 791
RFC 791
RFC 791
RFC 791
End of Options List (Конец
списка опций)
No Operation (Отсутствие
действий)
Loose Source Route
(Приблизительный маршрут
от источника)
Time Stamp (Временная
отметка)
Record Route (Запись
маршрута)
Strict Source Route (Строгий
маршрут от источника)
Глава 11. TCP/IP
363
Конец списка опций
Эта опция, состоящая только из поля типа опции со значением 0, отмечает
конец блока опций в IP-заголовке.
Отсутствие действий
Включает в себя только поле типа опции, может использоваться системами
для заполнения пространства между двумя опциями для того, чтобы
следующая опция начиналась строго на границе 32-разрядного слова.
Приблизительный маршрут от источника
и строгий маршрут от источника
Системы задействуют опции приблизительного маршрута от источника и
строгого маршрута от источника для задания IP-адресов маршрутизаторов,
через которые должна пройти дейтаграмма на своем пути к месту
назначения. В случае опции приблизительного маршрута от источника дейтаграмма
может проследовать через дополнительные маршрутизаторы, не указанные в
списке опции. Опция строгого маршрута от источника задает полностью
весь путь дейтаграммы от источника до места назначения.
Временная отметка
Эта опция предназначена для фиксации моментов времени, отмечаемых
одной или несколькими системами, обрабатывающими пакет на пути к месту
назначения. Система-отправитель может назначить IP-адреса конкретных
систем, которые должны будут оставить временные метки в заголовке,
разрешить системам оставлять свои IP-адреса вместе с временными метками,
или же, возможно, полностью опустить IP-адреса систем, оставляющих
временные маркеры. Размер этой опции переменный, в зависимости от
количества временных меток, но должен быть определен заранее, в тот момент,
когда отправитель еще только создает дейтаграмму, и он не может
увеличиваться в процессе следования дейтаграммы к цели.
Запись маршрута
Данная опция предоставляет системе-получателю список всех
маршрутизаторов, которые дейтаграмма преодолела на пути следования к пункту
назначения. Каждый маршрутизатор, обрабатывающий пакет, добавляет свой IP-
адрес к опции.
Фрагментация
Размер IP-дейтаграмм, используемых для передачи данных Транспортного
уровня, зависит от применяемого протокола Канального уровня. Сети
Ethernet, например, могут переносить дейтаграммы размером до 1500 байт, в
то время как сети Token Ring способны поддерживать максимальный размер
пакетов, равный 17 914 байт. Система, передающая дейтаграммы, ограничи-
364
Часть HI. Сетевые протоколы
вает размер пакета величиной максимального передаваемого блока (MTU,
maximum transfer unit) конкретной сети, которая представляет собой
наибольший размер кадра, транспортировку которого может осуществлять
протокол Канального уровня.
На пути следования к месту назначения пакеты могут проходить через сети
с различными MTU. До тех пор, пока MTU каждой сети, по которой
путешествует пакет, превышает размер самого пакета, передача не вызывает
никаких сложностей. Однако, если величина пакета больше MTU конкретной
сети, он не может быть передан в исходной форме. Если такое происходит,
протокол IP маршрутизатора, обеспечивающего доступ в данную сеть,
отвечает за разбиение дейтаграммы на фрагменты, меньшие по размерам, чем
MTU сети. Затем маршрутизатор направляет каждый фрагмент дальше, но
уже в изолированном пакете с собственным IP-заголовком.
В зависимости от количества и характеристик сетей, встречающихся на
трассе дейтаграммы, она может неоднократно подвергаться дроблению,
прежде чем достигнет пункта назначения. Система может разбить
дейтаграмму на фрагменты, которые сами по себе слишком велики для передачи
по сетям, расположенным далее на пути следования данных. Поэтому
другой маршрутизатор вынужден разделять полученные им фрагменты на еще
более мелкие фрагменты. Сборка фрагментированной дейтаграммы
происходит только в системе, являющейся конечным получателем пакета, и
только после того, как она получит все пакеты, содержащие фрагменты.
Промежуточные маршрутизаторы восстановлением дейтаграмм не занимаются.
ЕГ Примечание jj
Строго говоря, дейтаграмма представляет собой набор данных, упакованных
системой-отправителем, который имеет предопределенное значение в поле
идентификатора IP-заголовка. Когда маршрутизатор разбивает дейтаграмму на
фрагменты, он использует такое же значение в поле идентификатора для
каждого пакета, который создает, показывая тем самым, что все пакеты
составляют вместе одну дейтаграмму. Называть отдельный фрагмент дейтаграммой
будет некорректным употреблением данного термина.
Когда маршрутизатор получает дейтаграмму, нуждающуюся в фрагментации,
он формирует несколько новых пакетов, содержащих один и тот же адрес
конечной системы в поле идентификатора IP-заголовка (значение
заимствуется у исходной дейтаграммы). Остальные поля IP-заголовка в точности
такие же, за исключением трех модификаций.
□ Значение поля общей длины меняется, соответствуя размеру фрагмента,
вместо размера целой дейтаграммы.
□ Бит 3 поля флагов, известный под названием "дальнейшие фрагменты"
(More Fragments), устанавливается в 1, показывая тем самым, что пакеты
будут переносить промежуточные фрагменты, кроме случая самого по-
Глава 11. TCP/IP
365
следнего фрагмента дейтаграммы, для которого значение данного бита
равно 0.
□ Величина в поле смещения фрагмента изменяется для отражения
положения каждого фрагмента в целостной дейтаграмме, в зависимости от
размера самих фрагментов (в свою очередь, зависящего от MTU сети, по
которой фрагменты будут переправляться). Значение для первого
сегмента равно 0, значение для каждого следующего фрагмента увеличивается
на длину фрагмента, выраженную в байтах.
Указанные изменения в IP-заголовке необходимы для того, чтобы
обеспечить правильную сборку дейтаграммы по прибытии по месту назначения.
Маршрутизатор передает фрагменты точно так же, как и любые другие IP-
пакеты, а в силу того, что IP относится к протоколам без установления
соединения, отдельные порции могут пойти абсолютно различными путями и
прибыть к цели в совершенно ином порядке. Система-получатель
использует значение бита "дальнейшие фрагменты" для того, чтобы определить,
когда следует начинать процесс сборки дейтаграммы, и значения полей
смещения фрагмента для упорядочивания фрагментов при сборке.
Выбор размера генерируемых фрагментов предоставлен конкретным
реализациям протокола IP. Обычно размер каждого фрагмента равен MTU для
сети, по которой фрагменты должны передаваться, за вычетом длины
заголовка протокола IP и протокола Канального уровня с округлением вниз до
ближайших 8 байтов. С другой стороны, некоторые системы автоматически
вырабатывают 576-байтовые фрагменты, поскольку это — величина MTU
пути по умолчанию, устанавливаемая многими маршрутизаторами.
Фрагментация нежелательна, но это — необходимое зло. Очевидно, что
фрагментация, то есть создание множества пакетов из одного пакета, увеличивает
издержки, связанные с управлением процессом передачи. Если даже только
один из фрагментов дейтаграммы будет потерян или поврежден, потребуется
повторная передача всей дейтаграммы. Не существует способа повторной
передачи только отдельного фрагмента, так как система-отправитель
совершенно не в курсе процесса фрагментации, произведенной промежуточными
маршрутизаторами. Протокол IP системы-получателя не пересылает входящую
информацию вверх, протоколу Транспортного уровня, до тех пор, пока не
получены все фрагменты дейтаграммы и она не собрана полностью. Поэтому,
протокол Транспортного уровня должен самостоятельно отследить
потерянные данные и позаботиться о повторной передаче дейтаграммы.
Маршрутизация
Так как протокол IP отвечает за доставку пакетов по месту конечного
назначения, он определяет и путь, по которому направится пакет. Маршрутом
пакета называется путь, который он проходит от одной оконечной системы,
отправившей его, до другой оконечной системы, являющейся его местом
366
Часть III. Сетевые протоколы
назначения. Маршрутизаторы, через которые следует пакет в процессе
путешествия по маршруту, носят название промежуточных систем (intermediate
system). Фундаментальное различие между оконечными и промежуточными
системами заключается в том, насколько высоко в протокольном стеке
поднимается информация пакета.
В компьютере-источнике запрос на доступ к сетевому ресурсу возникает на
Прикладном уровне, проделывает весь путь вниз по стеку протоколов и, в
конечном итоге, появляется на Физическом уровне, уже
инкапсулированный в пакет и готовый для передачи. Когда же он достигает места
назначения, процесс происходит в обратном порядке, то есть пакет поднимается
вверх по протокольному стеку вплоть до Прикладного уровня. Поэтому, в
оконечных системах в обработке информации пакета задействован весь стек
протоколов. В промежуточных же системах, например, маршрутизаторах,
информация пакета не поднимается выше протокола Сетевого уровня,
которым в данном случае является IP (рис. 11.13).
Протокол IP отсекает заголовок протокола Канального уровня, а затем,
определив, куда следует передавать пакет далее, подготавливает его к упаковке
протоколом Канального уровня в соответствии с размерами кадра,
поддерживаемого конкретной сетью, по которой проследует пакет. Это может
потребовать вовлечения протокола ARP для разрешения IP-адреса в
аппаратный адрес следующей промежуточной остановки пакета и затем снабжения
этим адресом протокола Канального уровня.
Маршрутизация (routing) представляет собой процесс, происходящий при
каждой промежуточной остановке пакета. Система-источник передает пакет
своему шлюзу по умолчанию, то есть маршрутизатору, после чего последний
определяет, куда отправлять пакет далее. Если система назначения
находится в том сегменте сети, с которым данный маршрутизатор связан, он
посылает пакет в этот сетевой сегмент. Если же конечный пункт находится в
другой сети, маршрутизатор определяет, какому из других маршрутизаторов
он должен отправить пакет, чтобы тот смог достичь системы-получателя
наиболее эффективно. Таким образом, следующей остановкой для пакета,
идентифицируемого адресом назначения протокола Канального уровня, не
обязательно будет именно та система, чей адрес указан в поле адреса
назначения IP-заголовка.
В конце концов, один из маршрутизаторов будет иметь доступ к сети, где
находится система, являющаяся окончательным получателем пакета, и тогда
он сможет переслать этот пакет непосредственно компьютеру-адресату.
В случае рассматриваемого метода процесс маршрутизации распределяется
между сетевыми маршрутизаторами. Ни один из компьютеров, вовлеченных
в маршрутизацию, не имеет исчерпывающей информации о маршруте
пакета .по сети ни в один из моментов. Подобное распределение труда делает
возможным само наличие такой огромной сети, как Интернет. Не
существует практического метода, позволяющего отдельной системе определять из-
Глава 11. TCP/IP
367
менчивый маршрут между многими тысячами маршрутизаторов в Интернете
к конкретному пункту назначения для каждого транзитного пакета.
Прикладной
уровень
1
г
Представительский уровень
1
г
Сеансовый
уровень
1
г
Транспортный
уровень
1
г
Сетевой
уровень
1
г
Канальный
уровень
1
г
Физический
| УРОЕ
аень
Сетевой
уровень
i
к
ч
г
Канальный
уровень
i
1
г
Физический
уровень
Прикладной
уровень |
▲
Транспортный
уровень
▲
Сеансовый
уровень
I
Транспортный
уровень
А
Сетевой
уровень
i
к
Канальный
уровень
i
к
Физический
уроЕ
»ень i
Рис. 11.13. Пакеты, получаемые маршрутизатором,
поднимаются в стеке протоколов не выше Сетевого уровня
Наиболее сложной частью процесса маршрутизации является реализация
метода, с помощью которого маршрутизатор определяет, куда посылать каждый
пакет далее. Маршрутизаторы имеют прямую информацию только о
компьютерах сетевых сегментов, непосредственно связанных с ними. Поэтому, у них
нет возможности в одностороннем порядке выяснить оптимальный путь к
конкретному месту назначения. В большинстве случаев маршрутизаторы
получают информацию о других сегментах сети путем общения с другими
маршрутизаторами с применением протоколов, разработанных специально для
этой цели, например, протокола RIP (Routing Information Protocol, протокол
информации маршрутизации). Каждый маршрутизатор передает сведения о
себе маршрутизаторам сетей, с которыми он непосредственно связан, те, в
свою очередь, информируют свое окружение и так далее.
^ Примечание ^д
Для получения более подробной информации о процессе маршрутизации см.
главу 6.
368
Часть III. Сетевые протоколы
Регулярное общение соседних маршрутизаторов помогает каждой системе
справляться с постоянными изменениями условий, происходящими в сети.
Если, например, один из маршрутизаторов вышел из строя, его соседи
заметят его отсутствие и сообщат всем остальным о том, что он не
функционирует. Другие маршрутизаторы сразу скорректируют свою линию поведения,
чтобы избежать отправки пакетов в тупиковом направлении.
Протоколы маршрутизации позволяют каждому маршрутизатору составлять
таблицу сетей с информацией, необходимой для отправки пакетов в каждую
сеть. По сути, таблица говорит маршрутизатору: "чтобы послать пакет в сеть
х, используй интерфейс у\ где у — это один из собственных сетевых
интерфейсов данного маршрутизатора. Администраторы сетей могут также
вручную конфигурировать маршрутизаторы через сеть. Такая процедура носит
название статической маршрутизации (static routing), в отличие от
конфигурирования, обеспечиваемого протоколами маршрутизации, называемого
динамической маршрутизацией (dynamic routing).
В комплексных сетях возможен выбор из множества вариантов маршрута,
который может быть пройден пакетом на пути от источника к цели.
Маршрутизаторы постоянно оценивают имеющиеся для пакета варианты
маршрута через сеть и могут определить самый короткий из них, самый
быстрый или наилегчайший.
Протокол ICMP
Internet Control Message Protocol (ICMP, протокол контроля сообщений в сети
Интернет) относится к протоколам Сетевого уровня, которые не переносят
пользовательскую информацию, хотя его сообщения инкапсулируются IP-
дейтаграммами. Протокол ICMP выполняет сразу две роли в стеке TCP/IP, а
именно: обеспечивает выработку управляющих сообщений об ошибках,
например, информирует систему-источник о том, что переданные данные не
достигли места назначения, а также переносит сообщения-запросы и
сообщения-ответы для диагностических программ. В качестве примера можно
привести утилиту PING, входящую в любой набор протоколов TCP/IP, которая
применяет echo-сообщения протокола ICMP для того, чтобы определить,
может ли конкретная система сети получать и передавать информацию.
Протокол ICMP, в соответствии с RFC 792, состоит из сообщений,
заключенных в IP-пакеты со значением 1 в поле протокола и значением 0 для
поля типа сервиса в заголовке. Формат сообщения протокола ICMP показан
на рис. 11.14.
Сообщение протокола ICMP включает поля, описанные ниже.
□ Тип (Туре), 1 байт. Содержит код, идентифицирующий основную
функцию сообщения.
Глава 11. TCP/IP
369
П Код (Code), 1 байт. Уточняет функцию сообщения в пределах
конкретного типа.
П Контрольная сумма (Checksum), 2 байта. Поле сохраняет в себе результат
вычисления контрольной суммы всего ICMP-сообщения, включая поля
кода, контрольной суммы и данных (при расчете используется значение
поля контрольной суммы, равное 0).
П Данные (Data), переменный размер. Содержит информацию,
специфическую для каждого сообщения.
12345678123456781234567812345678
Тип
Код
Контрольная сумма
Данные
Рис. 11.14. Формат сообщения протокола ICMP
Допустимые типы ICMP-сообщений перечислены в табл. 11.6.
Таблица 11.6. Типы сообщений протокола ICMP
Тип Код 3anpoc(Q)/ Функция
Ошибка(Е)
Echo Reply
Net Unreachable
Host Unreachable
Protocol Unreachable
Port Unreachable
Fragmentation Needed and Don't Fragment Was Set
Source Route Failed
Destination Network Unknown
Destination Host Unknown
Source Host Isolated
Communication with Destination Network is
Administratively Prohibited
3 10 E Communication with Destination Host is
Administratively Prohibited
3 11 E Destination Network Unreachable for Type Of Service
3 12 E Destination Host Unreachable for Type Of Service
0
0
3
3
3
3
3
3
3
3
3
0
0
1
2
3
4
5
6
7
8
9
Q
E
E
E
E
E
E
E
E
E
E
370
Часть III. Сетевые протоколы
Таблица 11.6 (окончание)
Тип Код 3anpoc(Q)/ Функция
Ошибка(Е)
4 0 Е Source Quench
5 0 € Redirect Datagramm for the Network (or Subnet)
5 1 E Redirect Datagramm for the Host
5 2 E Redirect Datagramm for the Type Of Service and
Network
Redirect Datagramm for the Type Of Service and
Host
8
9
10
11
11
12
12
12
13
14
15
16
17
18
30
31
32
33
34
35
36
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
Q
Q
Q
E
E
E
E
E
Q
Q
Q
Q
Q
Q
Q
E
E
Q
Q
Q
Q
Echo Request
Router Advertisement
Router Solicitation
Time To Live Exceeded in Transit
Fragment Reassembly Time Exceeded
Pointer Indicates the Error
Missing a Required Option
Bad Length
Timestamp
Timestamp Reply
Information Request
Information Reply
Address Mask Request
Address Mask Reply
Trace route
Datagram Conversion Error
Mobile Host Redirect
IP-v6 Where-are-you
IP-v6 l-am-here
Mobile Registration Request
Mobile Registration Reply
Глава 11. TCP/IP
371
Сообщения протокола ICMP об ошибках
Так как сеть TCP/IP распределяет рутинные операции по маршрутизации
между многими системами, не существует способа, с помощью которого
любая из оконечных систем, вовлеченных в передачу пакета, могла бы
иметь информацию о том, что же происходило на пути следования пакета.
Протокол IP не устанавливает соединения, поэтому никаких
подтверждающих сообщений на этом уровне отправителю не поступает. При
использовании протокола Транспортного уровня, ориентированного на соединение,
например, TCP, система-получатель подтверждает передачу, но только тех
пакетов, которые она получает. Если же в процессе передачи происходит
что-либо, не позволяющее пакету прибыть по месту назначения, протоколы
TCP или IP не имеют никакой возможности известить отправителя о том,
почему и как это случилось.
Сообщения об ошибках протокола ICMP разработаны для компенсации
этого недостатка. Когда промежуточная система, например, маршрутизатор,
испытывает трудности с обработкой пакета, она обычно просто отбрасывает
его, оставляя для протоколов более высоких уровней работу по
отслеживанию отсутствующих пакетов и организации повторной передачи.
Сообщения протокола ICMP позволяют маршрутизатору информировать
отправителя о конкретной причине возникшей проблемы. Системы-получатели также
могут посылать ICMP-сообщения, когда сталкиваются с тем, что пакет
успешно прибывает, но его невозможно обработать.
Поле данных ICMP-сообщения об ошибке всегда содержит заголовок IP-
пакета, который система не может правильно интерпретировать, плюс
первые 8 байтов поля данных собственно дейтаграммы. В большинстве случаев
эти 8 байтов содержат UDP-заголовок или начало TCP-заголовка, включая
номера портов отправителя и адресата и порядковый номер (в случае TCP).
Наличие такой информации предоставляет возможность системе,
получившей сообщение об ошибке, определить точное время возникновения
ошибки и передачу, которая к ней привела.
Вместе с тем, ICMP-сообщения об ошибках являются только
информационными. Система, получающая их, никак не отвечает и не обязана
предпринимать никаких действий в плане исправления ситуации. Пользователю или
администратору придется самим решать проблему, приводящую к неполадкам.
Вообще говоря, TCP/IP-системы могут совершенно свободно посылать
ICMP-сообщения об ошибках, кроме некоторых специфических ситуаций.
Эти исключения призваны предотвратить образование протоколом ICMP
слишком интенсивного сетевого трафика из-за генерации большого числа
одинаковых сообщений. Данные исключения перечислены ниже.
□ TCP/IP-системы не вырабатывают ICMP-сообщения об ошибках в ответ
на другие ICMP-сообщения об ошибках. Без подобной оговорки две
системы могут обмениваться ICMP-сообщениями об ошибках в обоих на-
372
Часть III. Сетевые протоколы
правлениях до бесконечности. С другой стороны, системы могут отвечать
ICMP-сообщениями об ошибках на ЮМР-запросы.
□ В случае фрагментированной дейтаграммы система генерирует ICMP-
сообщение об ошибке только для первого фрагмента.
□ TCP/IP-системы никогда не посылают ICMP-сообщения об ошибках в
ответ на широковещательные или групповые сообщения, а также
сообщения, где в качестве IP-адреса назначения стоит 0.0.0.0, или сообщения,
направленные по адресу обратной связи (Loopback Address).
Следующие разделы описывают наиболее часто встречающиеся типы ICMP-
сообщений об ошибках и их функции.
Сообщения типа Destination Unreachable
Эти ICMP-сообщения имеют значение 3 в поле типа (Туре) и одно из 13
значений в поле кода (Code). В соответствии с названием они говорят о том, что
пакет или информация пакета не могут быть переданы по назначению.
Различные сообщения указывают, какой именно компонент недостижим, а в
некоторых случаях даже — почему это происходит. Сообщения
рассматриваемого типа могут создаваться маршрутизатором, когда он не в состоянии
передать пакет дальше в какую-либо сеть или систему назначения,
находящуюся в одной из сетей, с которыми маршрутизатор соединен. Системы-
получатели также могут сами отправлять подобные сообщения, если не могут
доставить содержимое пакета специфическому протоколу или узлу.
Чаще всего ошибка является результатом сбоя, постоянного или
временного, в компьютере или сетевой среде. Иногда появление ошибок данного
типа может быть связано с опциями IP-заголовка, которые препятствуют
прохождению пакета, например, если дейтаграммы требуется фрагментировать
при прохождении какой-либо сети, а в опциях установлен запрет на
фрагментацию в поле флагов IP-заголовка.
Сообщения типа Source Quench
Данные сообщения, со значением 4 в поле типа и значением 0 в поле кода,
функционируют как элементарное средство управления потоком,
информируя систему-источник, что она передает пакеты слишком быстро. Когда
буферы принимающей системы подвергаются опасности переполнения, она
может передать сообщение Source Quench отправителю пакетов, который в
результате снизит скорость передачи. Отправитель затем должен будет
продолжать снижение скорости передачи до тех пор, пока сигналы Source
Quench от получателя не перестанут поступать.
Описанная базовая форма управления потоком достаточно эффективна при
использовании двумя системами в пределах одной локальной сети, но если
речь идет о сложных маршрутизируемых сетевых комплексах, она создает
Глава 11. TCP/IP
373
слишком большой дополнительный трафик. В большинстве случаев
подобное применение не имеет большого смысла, так как протокол TCP имеет
собственные механизмы управления потоком.
Сообщения типа Redirect
Сообщения типа Redirect посылаются исключительно маршрутизаторами
для предоставления сведений узлам или другим маршрутизаторам о лучших
маршрутах к конкретному месту назначения. На схеме сети, показанной на
рис. 11.15, узел сети А передает пакет узлу сети В и использует при этом
маршрутизатор 1 в качестве первой промежуточной системы. Сверившись с
таблицей маршрутов, маршрутизатор 1 определяет, что пакет должен быть
отправлен маршрутизатору 2, но при этом замечает, что маршрутизатор 2
расположен в том же сегменте сети, что и узел, передающий пакет.
Маршрутизатор 1
Маршрутизатор 2
Маршрутизатор 3
«$.!■
*
Сеть А
*
Сеть В
Рис. 11.15. Пакеты, передаваемые хосту в другом сегменте
сети, часто могут выбирать один из многочисленных
маршрутов к месту назначения
Так как отправка пакетов, предназначенных узлу сети В, узлом сети А
непосредственно маршрутизатору 2 будет более эффективной, маршрутизатор 1
направляет исходному узлу сообщение Redirect Datagramm for the Network
(тип 5, код 0) после передачи оригинального пакета маршрутизатору 2. Это
сообщение типа Redirect содержит стандартный IP-заголовок и частичные
данные пакета, включая IP-адрес маршрутизатора, которому следует
передавать последующие пакеты, адресованные в сеть В.
В данном примере сообщение типа Redirect показывает, что узел должен будет
в дальнейшем задействовать другой маршрутизатор, направляя пакеты любому
из узлов сети В. Другие сообщения типа Redirect (с кодами от 1 до 3)
позволяют маршрутизатору указать альтернативный маршрутизатор для передачи
определенному узлу, конкретному узлу с таким же значением типа сервиса
или всей сети с таким же значением типа сервиса.
374
Часть III. Сетевые протоколы
Сообщения типа Time Exceeded
Сообщения типа Time Exceeded (тип 11) нужны для информирования
системы-отправителя о том, что пакет был отброшен из-за истечения лимита
времени. Одно из них, с кодом 0, называемое Time To Live Exceeded in
Transit, сигнализирует о том, что значение поля времени жизни (TTL, Time
to Live) IP-заголовка пакета сравнялось с 0 прежде, чем пакет прибыл по
назначению, поэтому маршрутизатор вынужден был его отклонить.
Именно эти сообщения позволяют TCP/IP-утилите Traceroute отображать
путешествие пакетов через сеть, которое они проделывают на пути к месту
назначения. Программа посылает серии пакетов с повышающимися
значениями поля TTL IP-заголовка, и каждый маршрутизатор на пути
следования, отбрасывающий пакет, посылает ICMP-сообщение Time Exceeded
источнику пакетов.
^ Примечание ^Д
Для получения более подробной информации о программе Traceroute см.
главу 28.
Другое сообщение — Fragment Reassembly Time Exceeded (код 1)
демонстрирует, что система назначения не смогла получить все фрагменты конкретной
дейтаграммы до истечения лимита времени, указанного узлом. В результате
система вынуждена отбраковать уже полученные фрагменты дейтаграммы и
послать отправителю сообщение об ошибке.
ЮМР-запросы
Сообщения-запросы протокола ICMP не создаются в ответ на другие виды
активности, такие как сообщения об ошибках. Системы используют их в
ходе самодостаточных транзакций типа вопрос-ответ, когда один компьютер
запрашивает информацию у другого, а тот посылает ему ответ, содержащий
нужную информацию.
Не будучи связанными с IP-передачами, ЮМР-запросы не содержат
фрагментов дейтаграмм в поле данных. Информация, которую они переносят,
специфична для функции каждого сообщения. Следующие разделы
рассказывают более подробно о наиболее распространенных типах ICMP-запросов
и их функциях.
Сообщения Echo Request и Echo Reply
Запрос Echo Request и ответ Echo Reply составляют основу TCP/IP-утилиты
PING (сокращение от Packet InterNet Groper), посылающей тестовые
сообщения другому узлу сети для определения его способности принимать и
передавать данные. Каждая операция обмена информацией (ping) основывается на
первичном ICMP-сообщении Echo Request (тип 8, код 0), которое в дополне-
Глава 11. TCP/IP
375
ние к стандартным полям типа, кода и контрольной суммы, содержит еще и
поля идентификатора и порядкового номера, используемые системами для
связывания ICMP-запросов и ответов. Примеры пакетов, передаваемых в ходе
обычного обмена информацией, приводятся на рис. 11.16 и 11.17.
ВЩЕТНЕЕ-И: 0Q-60-97-8D-C0-67 »=> Q0-10-5A-09-F1-ED
ffl-У IP: 192.168.2.5->1Э9.224.86.15,ID=43472
;• ® Code: О
[-Ш Checksum: OxlDDA
■<~Щ Identifier: 512
'■-•Я Sequence Number: 55333
i■ Щ Optional Data: (0 bytes)
•©Frame Padding : (18 bytes)
-Щ Calculate CRC: 0x91b3905c
Рис. 11.16. ICMP-сообщение Echo Request
aJBETHER~II: Q0-10-5A-09-F1-ED = *> 00-60-97-8D-C0-67
ST IP: 199.224.86.15->192.168.2.5,ID=35904
B-Jj?) Internet Control Message Protocol
l—Jjt Type: 0 - Echo Reply
i-Э Code: 0
»»§ Checksum: 0x25DA
I'~Sj Identifier: 512
■ -уЩ Sequence Number: 55333
i S Optional Data: (0 bytes)
■-Щ Frame Padding : (18 bytes)
■ ЩЭ Calculate CRC: 0xbb644cc9
Рис. 11.17. ICMP-сообщение Echo Reply
Если система, получающая уведомление Echo Request, функционирует
нормально, она меняет местами IP-адреса отправителя и назначения в IP-
заголовке пакета, замещает значение в поле типа ICMP-сообщения на 8
(Echo Reply) и вычисляет новую контрольную сумму перед отправкой пакета
обратно системе-источнику.
[^ Примечание j|
Для получения более подробной информации об утилите PING см. главу 28.
Сообщения Router Solicitation
и Router Advertisement
Данные сообщения позволяют системе-хосту выяснять адреса
маршрутизаторов, связанных с ее локальной сетью. Эта информация может браться за
основу системой для изменения конфигурации шлюза по умолчанию в таб-
376
Часть III. Сетевые протоколы
лице маршрутов. Когда хост проводит широковещание или ретрансляцию
сообщения Router Solicitation (тип 10, код 0), маршрутизаторы сети отвечают
на него сообщениями Router Advertisement (тип 9, код 0). Маршрутизаторы
продолжают сигнализировать о своей доступности через заданные
интервалы времени (обычно каждые семь минут). Узел может прекратить
использование данного маршрутизатора в качестве шлюза по умолчанию, если
перестает получать регулярные извещения о функционировании от этого
маршрутизатора.
Запрос Router Solicitation состоит только из стандартных полей типа, кода и
контрольной суммы. Формат отклика Router Advertisement показан на рис. 11.18.
Сообщение Router Advertisement содержит несколько дополнительных полей.
□ Число адресов (1 байт). Определяет количество адресов маршрутизатора,
содержащихся в сообщении. Формат может поддерживать
множественные адреса маршрутизатора, каждый из которых будет иметь собственные
поля адреса маршрутизатора и уровня предпочтения.
□ Размер адреса (1 байт). Выражается числом 4-байтовых слов,
предназначенных для записи каждого адреса маршрутизатора в сообщении.
Значение всегда равно 2.
□ Время жизни (2 байта). Определяет время (в секундах) между
извещениями маршрутизатора, по истечении которого система решит, что он не
функционирует. Значение по умолчанию обычно составляет 1800 секунд
(30 минут).
□ Адрес маршрутизатора (4 байта). Содержит IP-адрес маршрутизатора,
создавшего сообщение Router Advertisement.
□ Уровень предпочтения (4 байта). Указывает приоритет, назначенный
сетевым администратором, который может использоваться хост-системами
для предпочтения одного маршрутизатора другому.
123456781234567812 3 4567812345678
Число адресов
Размер адреса
Время жизни
Адрес маршрутизатора
Уровень предпочтения
Рис. 11.18. Формат сообщения Router Advertisement
Протокол UDP
На Транспортном уровне модели OSI работают два протокола из набора
TCP/IP: TCP и UDP. Протокол UDP (User Datagram Protocol, пользователь-
Глава 11. TCP/IP
377
ский протокол данных), описанный в документе RFC 768, представляет
собой ненадежный протокол без установления соединения, который
обеспечивает минимальные транспортные услуги для протоколов Прикладного
уровня с наименьшими издержками на управление. Так, протокол UDP не
оказывает услуг подтверждения получения пакетов или контроля над
потоком, в отличие от протокола TCP, хотя и включает возможность сквозной
верификации контрольной суммы содержимого пакета.
Хотя протокол UDP и может предоставить некоторое количество услуг сам по
себе, он в основном работает в качестве транзитного протокола (pass-through
protocol), обеспечивая приложениям доступ к сервисам Сетевого уровня и
наоборот. Например, если дейтаграмма, содержащая UDP-данные, не может
быть доставлена по месту назначения, и маршрутизатор посылает ICMP-
сообщение типа Destination Unreachable, тогда протокол UDP всегда передает
информацию этого сообщения с Сетевого уровня тому приложению, которое
создало исходную дейтаграмму. Помимо этого, протокол UDP посылает
любую информацию опций IP-дейтаграмм вверх по стеку протоколов на
Прикладной уровень. В противоположном направлении передается информация
от приложений, которую протокол IP использует в качестве значений полей
времени жизни (TTL) и типа сервиса заголовков IP-пакетов.
Природа протокола UDP делает возможным его применение только при
коротких транзакциях, где все данные, отправляемые по месту назначения, не
превышают по объему размера одной дейтаграммы. Это связано с
отсутствием у протокола UDP механизма, позволяющего разбивать поток данных на
фрагменты и последующей их сборки, как у протокола TCP. Хотя сказанное
вовсе не означает, что дейтаграмма не сможет быть впоследствии разбита на
фрагменты протоколом IP в процессе передачи. Указанный процесс
совершенно прозрачен для Транспортного уровня, так как система-получатель
всегда объединяет фрагменты, прежде чем переслать информацию
дейтаграммы вверх по стеку протоколов.
Кроме того, из-за отсутствия механизма подтверждения получения пакетов у
протокола UDP он наиболее часто применяется при взаимодействии
клиента и сервера, когда клиент посылает запрос, а сервер отвечает сообщением,
которое играет роль подтверждения запроса. Если система отправляет
запрос и не получает ответа на него, она считает, что сообщение не дошло до
системы-получателя и проводит повторную передачу. Сервисы на базе
TCP/IP, например DNS или DHCP, то есть те сервисы, которые
непосредственно не связаны с передачей пользовательских данных, в основном и
используют подобный тип взаимодействия. Приложения, такие как DHCP,
также применяют протокол UDP при необходимости широковещания или
ретрансляции сообщений. Так как протокол TCP требует установления
соединения между двумя системами перед началом передачи данных между
ними, он не поддерживает широковещания и ретрансляции.
378 Часть III. Сетевые протоколы
Заголовок UDP-сообщения (иногда называемого дейтаграммой, как и IP-
сообщение) очень мал (всего 8 байтов длиной) по сравнению с 20 байтами в
TCP-заголовке. Его формат проиллюстрирован на рис. 11.19.
12 34 5 67812 3456781234567812345678
Номер порта источника
Длина UDP-сообщения
Номер порта назначения
Контрольная сумма UDP-сообщения
Рис. 11.19. Формат сообщения протокола UDP
Функции полей UDP-заголовка перечислены ниже.
□ Номер порта источника (2 байта). Идентифицирует номер порта процесса
в передающей системе, который генерировал информацию, переносимую
UDP-дейтаграммой. В некоторых случаях это может быть эфемерный
номер порта, выбранный клиентом специально для данной транзакции.
□ Номер порта назначения (2 байта). Указывает номер порта процесса в
системе назначения, который должен будет получить данные,
содержащиеся в UDP-дейтаграмме. Номера портов перечислены в RFC-
документе под названием "Assigned Numbers", а также в файле SERVICES
каждой ТСР/1Р-системы.
□ Длина сообщения (2 байта). Задает длину всего UDP-сообщения, включая
заголовок и данные, в байтах.
□ Контрольная сумма (2 байта). Содержит результаты вычисления
контрольной суммы, учитывающих не только UDP-заголовок, данные UDP-
сообщения, но также псевдозаголовок, составленный из полей IP-адреса
источника, протокола, IP-адреса назначения из IP-заголовка плюс поле
длины UDP-сообщения. Этот псевдозаголовок используется протоколом
UDP системы-получателя для того, чтобы подтвердить, что сообщение
доставлено нужному протоколу в правильной системе назначения.
□ Данные (переменный размер, до максимального в 65 507 байт). Переносят
информацию протокола Прикладного уровня.
Протокол TCP
Протокол TCP (Transmission Control Protocol, протокол управления
передачей) представляет собой надежный протокол с установлением соединения,
являющийся альтернативой UDP, и отвечающий за большинство передач
пользовательских данных по сетям TCP/IP, и даже внесший свой вклад в
название всего набора протоколов. Протокол TCP, как определено в
документе RFC 793, обеспечивает приложения всем диапазоном транспортных
услуг, включая подтверждение получения пакетов, отслеживание ошибок и
их исправление, а также управление потоком.
Глава 11. TCP/IP
379
Протокол TCP предназначен для передачи относительно больших объемов
информации, которая заведомо не сможет быть упакована в один пакет.
Информация обычно принимает форму целых файлов, которые должны быть
разделены на множественные дейтаграммы для передачи. Информация,
поставляемая Транспортному уровню, в терминологии протокола TCP
рассматривается как последовательность (sequence), которую протокол разбивает на
сегменты (segment) для передачи по сети. Как и в случае протокола UDP,
сегменты затем упаковываются в IP-дейтаграммы, которые могут преодолевать
маршрут до места назначения различными способами. Поэтому, протокол
TCP снабжает каждый из сегментов порядковым номером для того, чтобы
система-получатель смогла собрать их воедино в правильном порядке.
Перед началом любой передачи пользовательских данных с применением
протокола TCP две системы обмениваются сообщениями с целью
установления соединения. Это позволяет убедиться, что система-получатель
функционирует и в состоянии принять данные. Как только соединение установлено и
начинается процесс передачи данных, система-получатель периодически
посылает сообщения, подтверждающие прием пакетов. Эти сообщения
оповещают систему-отправителя о потерянных пакетах, а также обеспечивают ее
информацией, используемой при контроле скорости потока передачи.
Заголовок TCP
Для обеспечения указанных сервисов ТСР-заголовок, которым снабжаются
сегменты информации, должен быть значительно больше, чем UDP-заго-
ловок. Со своими 20 байтами (без опций) он имеет такой же размер, что и
IP-заголовок. Формат TCP-заголовка показан на рис. 11.20.
Функции полей TCP-заголовка описаны ниже.
□ Порт источника (Source Port), 2 байта. Идентифицирует номер порта
передающей системы, используемый процессом, который создал
информацию, переносимую TCP-сегментами. В некоторых случаях это может
быть фиктивный номер порта, выделенный клиентом специально для
данной транзакции.
□ Порт назначения (Destination Port), 2 байта. Указывает номер порта
системы назначения, на который должна быть передана информация ТСР-
сегментов. Номера портов перечислены в документе "Assigned Numbers",
а также в файле SERVICES каждой ТСР/1Р-системы.
□ Порядковый номер (Sequence Number), 4 байта. Определяет положение
конкретного сегмента по отношению ко всей последовательности данных.
□ Подтвержденный номер (Acknowledgment Number), 4 байта. Задает
максимальный номер байта в сегменте, увеличенный на единицу, который
подтверждающая система ожидает получить от отправителя. Используется
совместно с битом управления АСК.
380
Часть III. Сетевые протоколы
12345678123456781234567812345678
Порт источника
Порт назначения
Порядковый номер
Номер подтверждения
Смещение
1 данных
Зарезервировано
Биты управления
Контрольная сумма
Окно
Указатель срочности
Опции
Данные
Рис. 11.20. Формат сообщения протокола TCP
О Смещение данных (Data Offset), 4 бита. Задает длину в 4-байтных словах,
TCP-заголовка (который может содержать опции, увеличивающие его
размер вплоть до 60 байт).
О Зарезервировано (Reserved), 6 битов. Выделено для последующих
применений.
□ Биты управления (Control Bits), 6 битов. Содержит шесть 1-битных
флагов, выполняющих перечисленные ниже функции:
• URG — показывает, что последовательность содержит срочные данные
(urgent data) и активирует поле указателя срочности;
• АСК — отмечает, что сообщение является подтверждением ранее
полученных данных и активирует поле номера подтверждения;
• PSH — предписывает системе-получателю передать всю информацию
текущей последовательности, полученную на данный момент,
приложению, идентифицированному полем порта назначения, не дожидаясь
поступления остальных фрагментов;
• RST — инструктирует систему-получателя отбросить все сегменты
текущей последовательности, полученные к настоящему моменту, и
начать установление TCP-соединение заново;
• SYN — используется во время процедуры установления соединения
для синхронизирования нумераторов переданных данных между
взаимодействующими системами;
• FIN — извещает другую систему, что передача данных закончена и
соединение должно быть завершено.
О Окно (Window), 2 байта. Реализует механизм управления потоком
протокола TCP (скользящее окно) путем объявления количества байтов,
которое система-получатель может принять от системы-источника.
□ Контрольная сумма (Checksum), 2 байта. Содержит результат вычисления
контрольной суммы с учетом TCP-заголовка, данных, а также псевдоза-
Глава 11. TCP/IP
381
головок, составленный из полей IP-адреса источника, протокола, IP-
адреса назначения из IP-заголовка плюс длина всего ТСР-сообщения.
□ Указатель срочности (Urgent Pointer), 2 байта. Задействуется совместно с
битом URG, определяет данные последовательности, которые должны
рассматриваться получателем как срочные.
□ Опции (Options), переменный размер. Может содержать дополнительные
конфигурационные параметры для TCP-соединения вместе с битами
выравнивания, требуемыми для того, чтобы привести размер поля до ближайшего
значения, кратного 4 байтам. Возможные опции перечислены ниже.
• Максимальный размер сегмента (Maximum Segment Size). Задает
размер максимального сегмента, который текущая система может
получить от другой системы, соединенной с ней.
• Фактор масштаба окна (Window Scale Factor). Используется для
увеличения размера поля окна с 2 до 4 байтов.
• Временная отметка (Timestamp). Используется для хранения
временных отметок пакетов данных, которые система-получатель возвращает
отправителю с целью подтверждения. Это позволяет отправителю
измерять время путешествия данных в оба конца.
□ Данные (Data), переменный размер. Может включать в себя сегменты
данных, поступившие с вершины протокольного стека, от протоколов
Прикладного уровня. В пакетах SYN, АСК и FIN это поле оставляется
пустым.
Установление соединения
Понимание ключевого отличия TCP-соединений от других типов
соединений, обычно применяемых в сетях, является критически важным моментом.
Например, для многих отличных от TCP соединений, когда пользователь
подключается к сети, он начинает сессию, которая остается открытой в
течение всего времени ее продолжительности до тех пор, пока он не прервет
связь. Во время этой сессии возможно образование других соединений с
иными сетевыми ресурсами, такими как файловые серверы, которые также
остаются открытыми определенные периоды времени. TCP-соединения,
являющиеся логическими, представляют собой нечто намного более
мимолетное, и в типичном случае остаются открытыми только на время,
необходимое для передачи данных. Кроме того, система (или приложение,
работающее в этой системе) может одновременно активировать несколько
TCP-соединений с одним пунктом назначения.
В качестве примера можно рассмотреть базовую транзакцию типа клиент/
сервер между Web-браузером и Web-сервером. Когда пользователь набирает
URL в браузере, программа открывает TCP-соединение с сервером для
передачи HTML-файла по умолчанию, используемого браузером для показа
382
Часть III. Сетевые протоколы
начальной страницы. Соединение продолжается ровно столько времени,
сколько требуется, чтобы передать одну страницу. Когда пользователь
щелкает на гиперссылке для того, чтобы перейти к другой странице, требуется
уже создание нового ТСР-соединения.
Дополнительные сообщения, необходимые в процессе установления
соединения, плюс большой размер заголовка, значительно увеличивают
количество издержек на управление, порождаемых TCP-соединением. Указанный
фактор является основной причиной того, почему протокол UDP составляет
альтернативу TCP в качестве протокола Транспортного уровня с
существенно меньшими накладными расходами.
Процесс коммуникации между клиентом и сервером стартует с того, что
клиент создает первое TCP-сообщение, инициируя трехстороннее
квитирование установления связи, которое и кладет начало установлению
соединения между двумя машинами. Сообщение не содержит данных приложения,
а просто сигнализирует серверу, что клиент хочет установить соединение.
В уведомляющем сообщении установлен бит SYN, и в поле порядкового
номера содержится целое число, называемое начальным порядковым номером
(ISN, initial sequence number). В примере пакета на рис. 11.21 значение ISN
составляет 119841003.
4flETHER-II: 00-10-5A-09-F1-ED ==> 00-20-AF-37-B8-12
У IP: 192.168.2.3->192.168.2.10,ID=37601
гЩ Sequence Number: 119841003
; Э Acknowledgement Number: 0
\Ц Header Length(MSB 4 bits): 7 (32-bit word)
;-S§ Reserved(LSB 4 bits): 0
В Щ Code: 0x02
IRES
\ URG
i ACK
iPSH
|RST
| SYN
| FIN
i Window
00.
0.
.0
Reserved
Urgent Pointer is Invalid
Acknowledgement Field is Invalid
No push Requested
No reset Connection
Synchronize Sequence Number
More Data From Sender
8192
I Checksum: 0x2DB9
Urgent Pointer: 0x0000
I TCP Option: 020405B001010402
1 Calculate CRC: 0x8448a6bl
Рис- 11.21. SYN-сообщение клиента инициирует процесс
установления соединения
Система берет за основу алгоритм постоянного инкрементирования для
определения ISN, который она будет использовать для каждого ТСР-соедине-
Глава 11. TCP/IP
383
ния. Постоянное изменение порядковых номеров делает крайне
маловероятным тот факт, что при множественных соединениях между двумя сокета-
ми произойдет совпадение порядковых номеров. Затем клиентская система
передает данное сообщение в качестве однонаправленной передачи системе
назначения и переходит в состояние SYN-SENT, которое показывает, что
данной системой отправлен запрос на соединение и она ожидает
подтверждение запроса от системы назначения.
В это время сервер находится в состоянии LISTEN, свидетельствующем о
том, что он ожидает запросов на соединение от клиентов. Когда серверу
приходит сообщение от клиента, он отвечает собственным контрольным
TCP-сообщением. Ответное сообщение выполняет две функции:
подтверждает получение клиентского запроса, что отмечается выставленным
значением бита АСК, и инициирует свое собственное соединение, о чем говорит
соответствующее значение бита SYN (рис. 11.22). После этого сервер
переходит в состояние SYN-RECEIVED, означающее, что он получил запрос на
соединение от клиента, послал обратно свой собственный запрос и ждет
подтверждения от клиентской системы. Необходимость применения битов
АСК и SYN связана с тем, что протокол TCP является полнодуплексным, из
чего следует то, что, фактически, с каждой стороны открывается
изолированное соединение. Оба соединения должны в индивидуальном порядке
устанавливаться, поддерживаться и прекращаться. Из примера видно, что
сообщение сервера также содержит начальные значения в поле порядкового
номера (116270) и в поле подтверждающего номера (119841004).
> 00-10-5A-09-F1-ED
ID=22373
ETHER-II: 00-20-AF-37-B8-12 =
IP: 192.168.2.10->192.168.2.3
Transmission Control Protocol
Port ¥orld ¥ide ¥eb HTTP > 1965
Sequence Number: 116270
Acknowledgement Number: 119841004
Header Length(MSB 4 bits): 6 (32-bit word)
Reserved(ISB 4 bits): 0
iCode: 0x12
HRES:
|§URG:
В АСК:
@PSH:
Ш RST:
Ш SYN:
® FIN:
¥indow:
00
. .0.
. . .1
87
36
0. . .
.0. .
. .1.
. . .0
Reserved
Urgent Pointer is Invalid
Acknowledgement Field is Valid
No push Requested
No reset Connection
Synchronize Sequence Number
More Data From Sender
m
©Checksum: 0x7A5B
©Urgent Pointer: 0x0000
©TCP Option: 020405B4
Щ Frame Padding : (2 bytes)
Calculate CRC: 0x6261fd2f
Рис. 11.22. Сервер подтверждает SYN-сообщение клиента
и посылает собственный SYN-пакет
384
Часть III. Сетевые протоколы
Обе системы поддерживают свои собственные нумераторы, а также
находятся в курсе порядковых номеров, используемых другой системой. При этом
значение подтверждающего индекса сервера есть значение начального
порядкового номера (ISN) клиента плюс один. Позднее, когда начнется
собственно передача данных, такой учет получателю собрать отдельные сегменты,
переданные в отдельных пакетах, в исходную последовательность.
Следует помнить, что несмотря на обязательность установления соединения
до передачи данных, TCP-сообщения по-прежнему переносятся IP-
дейтаграммами и протоколы с ними обращаются так же, как и с любыми
другими IP-дейтаграммами. Таким образом, соединение правильнее было
бы назвать виртуальным, хотя дейтаграммы все также могут преодолевать
различные маршруты на пути к месту назначения и прибывать в ином
порядке, нежели были отправлены.
После того, как клиент получает ответ сервера, он посылает свое
собственное АСК-сообщение (рис. 11.23), подтверждая серверу прибытие его SYN-
пакета и завершая тем самым двунаправленный процесс установления
соединения. В примере это сообщение содержит число 119841004 в качестве
порядкового номера, совпадающее с тем, которого ждет сервер, и значение
116271 в качестве подтверждающего номера, ожидаемое клиентом в
следующем сообщении сервера. После транзакции обе системы переходят в
состояние ESTABLISHED, означающее, что они обе готовы к приему и
передаче данных приложения.
+ ie>ETHER-II: 00-10-5A-09-F1-ED ==> 00-20-AF-37-B8-12
Г? Т IP: 192.168.2.3->192.168.2.10,ID=38113
- зЙ Transmission Control Protocol
£Q Port 1965 > ¥orld ¥ide ¥eb HTTP
Q Sequence Number: 119841004
§ Acknowledgement Number: 116271
J3 Header Iength(MSB 4 bits): 5 (32-bit word)
f5 Reserved(ISB 4 bits): 0
R 13 Code: 0x10
J>5 RES: 00 = Reserved
J3 URG: . .0 = Urgent Pointer is Invalid
J3 ACK: ...1 .... = Acknowledgement Field is Valid
|3 PSH: .... 0... = No push Requested
Q RST: 0. . = No reset Connection
Q SYN: 0. = No synchronize Sequence Number
Q FIN: 0 = More Data From Sender
Q Window: 8736
J3 Checksum: 0x9218
J3 Urgent Pointer: 0x0000
Щ Calculate CRC: 0x5071a40d
Рис. 11.23. Затем клиент подтверждает SYN-сообщение сервера
и теперь соединение установлено с обеих сторон
Глава 11. TCP/IP
385
Передача данных
Установление TCP-соединения в обоих направлениях служит отправной
точкой для непосредственно процесса передачи данных. Протокол
Прикладного уровня определяет, будет ли сервер или клиент начинать
последующий за ним обмен информацией. Например, в ходе FTP-сессии сервер
посылает сообщение типа Ready (готов) первым. В случае же НТТР-сеанса
право начать взаимодействие предоставляется клиенту, посылающему URL
документа, который он хочет получить.
Данные, предполагаемые для передачи, не подвергаются упаковке до тех
пор, пока не установлено соединение. Это обстоятельство объясняется тем,
что системы генерируют SYN-сообщения для информирования друг друга о
максимальном размере сегмента (MSS, maximum segment size). Величина MSS
задает наибольший размер сегмента, который каждая система в состоянии
принять. Конкретное значение MSS зависит от протокола Канального
уровня, непосредственно соединяющего две системы.
Каждая система уведомляет другую о своей величине MSS, используя
значение соответствующего поля из набора конфигурационных вариантов ТСР-
сообщения. Как и в случае IP-заголовка, поля TCP-опций состоят из
нескольких подпол ей. Для поля опции максимального размера сегмента эти
подполя перечислены ниже.
П Вид (1 байт). Идентифицирует функцию опционального элемента. Для
опции максимального размера сегмента это значение равно 2.
П Длина (1 байт). Задает длину всей опции. Размер опции максимального
размера сегмента соответствует значению 4.
П Максимальный размер сегмента (2 байта). Определяет длину (в байтах)
максимального сегмента, который система может получить.
В TCP-сообщении клиентской системы, показанном ранее на рис. 11.21,
значение поля опций выражается строкой (в шестнадцатеричной записи)
020405В001010402. Первые 4 байта этого поля представляют собой опцию
максимального размера сегмента. Значение идентификатора функции задается
первым байтом — 02, значение подполя длины составляет 04, а собственно
максимальный размер сегмента (MSS) равен 05В0, что соответствует 1456
байтам в десятичной записи. Эта цифра получена, исходя из максимального
размера кадра сети Ethernet II (1500 байтов) минус 20 байтов на IP-заголовок и 24
байта на ТСР-заголовок (20 байтов плюс 4 байта опции). Собственный SYN-
пакет сервера содержит такие же значения подполей данной опции,
поскольку оба компьютера расположены в одной сети Ethernet.
^ Примечание ]Д
Остальные 4 байта поля опций состоят из 2 байтов выравнивания (0101) и
2 байтов значения подполей вида и длины опции SACK-permitted, показываю-
386
Часть III. Сетевые протоколы
щей, что система имеет возможность обработки дополнительной информации,
включаемой в подтверждающие сообщения.
Если две системы находятся в разных сетях, значения их MSS также могут
быть различны, и то, как системы с этим справляются, зависит от
индивидуальной реализации протокола TCP в каждой из систем. Некоторые
системы могут просто использовать наименьшее из двух значений, в то время как
другие устанавливают значение по умолчанию в 536 байтов, которое
применяется, если MSS-опция вообще не задана. Системы на базе Windows NT
имеют специальный метод определения MTU для конкретного маршрута
между двумя соединенными через сеть машинами (он представляет собой
максимальный размер пакета для передачи по межсетевому каналу от одной
системы к другой). Этот метод, описанный в документе RFC 1191,
позволяет системам определять размеры пакетов, допускаемые промежуточными
сетями, так как даже если обе системы входят в сети Ethernet с 1500-
байтными MTU, они могут зафиксировать промежуточное соединение,
поддерживающее только MTU в 576 байтов.
Как только определен MSS конкретного соединения, системы могут начинать
упаковку данных для передачи. В случае HTTP-транзакции клиент (Web-
браузер) посылает серверу желаемый URL в отдельном пакете (рис. 11.24).
Следует обратить внимание, что порядковый номер этого пакета (119841004)
точно такой же, что и у предыдущего пакета, отправленного в качестве
подтверждения SYN-сообщения сервера. Указанное равенство связано с тем,
что подтверждающие пакеты не приводят к увеличению счетчика
порядковых номеров. Номер подтверждения также совпадает с аналогичным
номером из предыдущего пакета, так как клиент еще не получил следующее
сообщение от сервера. Помимо этого важно заметить, что выставлен бит PSH,
демонстрирующий, что сервер должен передать всю информацию пакета
приложению немедленно.
После получения сообщения клиента, сервер отправляет ему
подтверждение, как показано на рис. 11.25, в котором использует порядковый номер,
ожидаемый клиентом (116271), и номер подтверждения 119841363. Разница
между этим числом и порядковым номером ранее посланного клиентского
сообщения составляет 359, и это правильно, поскольку дейтаграмма,
полученная сервером от клиента, имела длину в 399 байтов. Вычитание 40 байтов
на IP- и TCP-заголовки оставляет 359 байтов на собственно данные клиента.
Когда каждая из систем передает данные другой системе, она увеличивает
порядковый номер сообщения на число переданных байтов.
Следующим шагом процесса будет ответ сервера на запрос клиента путем
отправки ему требуемого HTML-файла. Опираясь на значение MSS, сервер
создает сегменты достаточно малого размера, способные быть
переправленными через сеть, и передает первый из них в сообщении, как показано на
рис. 11.26. Порядковый номер опять же совпадает с запомненным из преды-
Глава 11. TCP/IP
387
дущего сообщения сервера, поскольку это предыдущее сообщение
содержало только подтверждение. Подтверждающий номер тоже не меняется, так
как ожидается, что сервер пошлет второе сообщение, без каких бы то ни
было напоминаний со стороны клиента.
ETHER-II: Q0-10-5A-09-F1-ED --> 00-2Q-AF-37-B8-12
IP: 192.168.2.3->192.168.2.10,ID-38369
■ §Г Рогt; 196!5 —-5► 5оЛ d WideWeb HTTP
Ц) Sequence Number: 119841004
-Щ Acknowledgement Number: 116271
Щ Header Length(MSB 4 bits): 5 (32-bit word)
•J§ Reserved(LSB 4 bits): 0
l-HSJCode: 0x18
I JD RES: 00 - Reserved
l Л) URG: . .0 = Urgent Pointer is Invalid
!■■ 51 ACK: . . .1 .... = Acknowledgement Field is Valid
>1| PSH: .... 1... = Push Requested
!•• © RST: 0. . = No reset Connection
. JH SYN: 0. = No synchronize Sequence Number
Л FIN: 0 = More Data From Sender
f Window: 8736
Checksum: 0x1199
Urgent Pointer: 0x0000
UHTTP: (END of header),Extension:
) Calculate CRC: 0xcdle9c96
Securi ty/Remote-Passphrase
Рис. 11.24. Первый пакет данных, отправленный после установления
соединения, содержит URL, запрашиваемый Web-браузером
SfSETHER-II: 00-20-AF-37-B8-12 = = > 00-10-5A-09-F1-ED
ST IP: 192.168.2.10->192.168.2.3,ID=22629
3 fQ Transmission Control Protocol
• ©Port World ¥ide Web HTTP > 1965
HJ Sequence Number: 116271
i ^Acknowledgement Number: 119841363
:- JU Header Length (MSB 4 bits): 5 (32-bit word)
i--S Reserved (LSB 4 bits) : 0
E Л Code: 0x10
■Щ RES
~J§ URG
Ц ACK
- J§ psh
■Ш RST
® SYN
JgFIN
X Window
00. .
0.
.0
. .0
Reserved
Urgent Pointer is Invalid
Acknowledgement Field is Valid
No push Requested
No reset Connection
No synchronize Sequence Number
More Data From Sender
_ 8377
{Ц Checksum: 0x9 218
J§ Urgent Pointer: 0x0000
J§ Frame Padding : (6 bytes)
\ Calculate CRC: 0xa6a231d
Рис, 11.25. Сервер подтверждает получение от клиента всех посланных
им байтов данных
388
Часть III. Сетевые протоколы
WETHER-II: 00-20-AF-37-B8-12 ==> 00-10-5A-09-F1-ED
Т IP: 192.168.2.10->192.168.2.3,ID=22885
J0 Transmission Control Protocol
ft Port ¥orld ¥ide Web HTTP > 1965
Ц) Sequence Number: 116271
r■■ ® Acknow 1 edgement Number: 119841363
;S Header Length(MSB 4 bits): 5 (32-bit word)
Ц Reserved(LSB 4 bits): 0
^Code: 0x10
15 RES: 00.
©URG
©PSH
Jg) RST
JgSYN
§5 fin
J Window
Reserved
Urgent Pointer is Invalid
Acknowledgement Field is Valid
No push Requested
No reset Connection
No synchronize Sequence Number
More Data From Sender
ffl'ik
_ 8377
Q Checksum: 0xCE56
©Urgent Pointer: 0x0000
HTTP: (END of header),Content-Length:
Calculate CRC: 0x9dS5ad66
3019Data (total 1234 bytes)ЛMore data)
Рис. 11.26. В ответ на запрос клиента сервер начинает передачу Web-страницы
после предварительного разбиения ее на множество сегментов
Кроме сервиса подтверждения прибытия пакетов, который был описан
выше, поля TCP-заголовка способны обеспечить два дополнительных сервиса:
П коррекция ошибок;
□ управление потоком.
Следующие разделы описывают функции упомянутых сервисов более
подробно.
Коррекция ошибок
Как стало ясно из предыдущих разделов, система-получатель применяет
номер подтверждения в своем АСК-сообщении с той целью, чтобы
проинформировать отправителя, что данные получены правильно. Система также
использует этот механизм для фиксирования возможных ошибок и
неправильно полученных данных.
TCP/I Р-системы эксплуатируют принцип отложенных подтверждений
(delayed acknowledgements), который означает, что подтверждения не должны
посылаться для каждого полученного пакета. Способ определения времени
отправки подтверждений возлагается на индивидуальные реализации
протокола TCP, но факт подтверждения всегда свидетельствует о том, что
информация до некой определенной точки данной последовательности получена
успешно. Это так называемые позитивные подтверждения (positive
acknowledgements), поскольку они признают, что пакеты получены правильно.
Негативные подтверждения (negative acknowledgements) или же выборочные под-
Глава 11. TCP/IP
389
тверждения (selective acknowledgements), сигнализирующие, что данные не
корректны, в протоколе TCP невозможны.
Что же произойдет, если, например, в ходе одного соединения сервер передал
пять сегментов определенной последовательности клиенту и третий из них
должен быть отброшен из-за ошибки контрольной суммы?
Система-получатель должна после этого послать соответствующее сообщение, где будет
указано, что все сегменты по второй включительно успешно получены. Если
даже при этом четвертый и пятый сегменты также были обработаны, и
повреждений не было найдено, все равно третий содержал ошибку. Поддержка
принципа позитивного подтверждения говорит о том, что и четвертый и
пятый сегменты должны быть переданы повторно в дополнение к третьему.
Механизм, используемый протоколом TCP, называется позитивным
подтверждением с повторной передачей (positive acknowledgement with retransmission), так
как система-источник автоматически проводит повторную передачу всех
неподтвержденных сегментов через определенный интервал времени.
Функционирование этого механизма предполагает, что система-отправитель
организует очередь, включающую все сегменты, которые уже были
отправлены. По мере прибытия подтверждений от получателя отправитель удаляет
доставленные без ошибок сегменты из очереди. По истечении некоторого
времени передающая система инициирует повторную отправку всех
сегментов, которые еще остались в очереди, то есть их успешное прибытие к месту
назначения не было оформлено получателем. Стороны задействуют
алгоритм, описанный в документе RFC 1122, при вычислении времени
ожидания для соединения, базируясь на времени, которое требуется сообщению
для путешествия от одной системы к другой и обратно, оно носит название
периода кругового обращения (round-trip time).
Управление потоком
Управление потоком представляет собой важный элемент протокола TCP,
разработанный для передачи больших массивов данных. Система-получатель
имеет буфер, где она хранит входящие сегменты, ожидающие
подтверждения. Если система-источник передает слишком много сегментов и слишком
быстро, буфер может переполниться, и любые сегменты, прибывающие
после этого в систему назначения, будут отклоняться автоматически, пока не
освободится место в ее буфере. Протокол TCP использует механизм под
названием скользящее окно (sliding window) для управления потоком, который
по сути представляет собой способ, позволяющий системе-получателю
информировать отправителя о том, какое количество пространства доступно
для размещения данных в ее буфере.
Каждое подтверждающее сообщение, создаваемое системой, получившей
TCP-данные, содержит информацию о размере буферного пространства в
поле окна (Window). Когда пакеты прибывают в систему назначения, они
390
Часть III. Сетевые протоколы
ожидают дальнейшей обработки в буфере до того момента, пока система-
получатель сформулирует уведомление о получении. Для того чтобы
вычислить объем данных, который она может послать, система-отправитель
извлекает значение из поля окна последнего подтверждающего сообщения,
принятого ей, и отнимает число байтов, которое она отправила со времени
получения этого сообщения. Если результат вычислений равен нулю,
система приостанавливает передачу, пока не придет подтверждение получения
уже переданных пакетов.
Завершение соединения
Когда обмен данными между двумя системами закончен, они завершают
TCP-соединение. Так как в процесс вовлечены на самом деле два
соединения, по одному в каждом направлении, то и прекращаться они должны
также индивидуально. Процесс начинается, когда одна из взаимодействующих
сторон посылает сообщение, в котором установлен контрольный бит FIN.
Это означает, что данная система желает прекратить соединение,
выделенное ей для передачи информации.
То, какая из систем инициирует процесс завершения соединения, зависит от
приложения, генерировавшего трафик. В случае HTML-транзакции сервер
может включить бит FIN в сообщение, содержащее информацию последнего
сегмента последовательности, или это может быть отдельный пакет. Клиент,
получающий FIN-сообщение от сервера, отправляет подтверждение, которое
свидетельствует о признании разрыва соединения сервером, а затем посылает
свое собственное FIN-сообщение. Важно заметить, что в отличие от
процедуры трехстороннего установления соединения, его завершение требует четырех
сообщений, так как клиент выставляет биты АСК и FIN по отдельности, в
изолированных пакетах. Когда сервер подтверждает прием FIN-сообщения
клиента, соединение действительно разрывается.
Глава 12
Протоколы NetWare
Впервые ОС Novell NetWare была представлена в те времена, когда
запатентованные сетевые продукты были не редкость. Как следствие, для
обеспечения транспортных услуг для операционной системы Novell NetWare,
фирмой Novell был создан свой собственный стек протоколов, получивший общее
название по наименованию протокола Сетевого уровня — IPX (Internetwork
Packet Exchange, межсетевой обмен пакетами). По аналогии с TCP/IP этот
стек иногда также называют IPX/SPX. Вторая часть этого обозначения
соотносится с SPX (Sequenced Packet eXchange, последовательный обмен
пакетами), протоколом, работающим на Транспортном уровне. Однако, в
отличие от комбинации TCP и IP, которая повсеместно встречается в TCP/IP-
сетях и предназначена в основном для доставки большого количества
трафика, комплекс IPX/SPX в сетях NetWare можно встретить относительно
редко.
По мере развития сетевой индустрии стандартизация и способность к
взаимодействию стали наиболее важными элементами в разработке сетевых
продуктов. Рост популярности протоколов TCP/IP и сети Интернет привел к
тому, что большинство разработчиков операционных систем принимают в
качестве протоколов "по умолчанию" именно TCP/IP, даже если они не
использовали эти протоколы раньше. Novell, тем не менее, продолжала
придерживаться своих запатентованных протоколов дольше, чем кто-либо еще,
во многом в ущерб своему положению на рынке. И только в 1998 г. в версии
NetWare 5 TCP/IP был полностью интегрирован в NetWare.
Протоколы IPX в нескольких аспектах похожи на TCP/IP. Оба стека
протоколов задействуют на Сетевом уровне ненадежные протоколы без
установления соединения (IPX и IP соответственно) для переноса дейтаграмм,
содержащих данные множества протоколов верхних уровней, что обеспечивает
широкий спектр услуг для различных применений. Подобно IP, IPX
отвечает за адресацию дейтаграмм и маршрутизацию их к месту назначения в
другой сети.
Однако в отличие от TCP/IP протоколы IPX были разработаны для
применения в локальных сетях, и не поддерживают той почти неограниченной
масштабируемости, свойственной протоколам Интернета. IPX не обладает
такой самостоятельной адресной системой, какая имеется у протокола IP.
Системы в сети NetWare идентифицируют другие системы посредством ап-
392
Часть III. Сетевые протоколы
паратных адресов, "зашитых" в платы сетевых адаптеров в сочетании с
адресом сети, назначенным администратором (или ОС) во время инсталляции
операционной системы.
IPX также не хватает универсальности TCP/IP из-за того, что Novell
скрывает многие детали механизмов внутренней работы протоколов.
Оглядываясь назад, можно сказать, что такая политика работала против Novell.
Кажется, именно по этой причине Microsoft имела некоторые затруднения в
процессе согласования IPX со своим протоколом NWLink, таким образом,
не открывая другим компаниям спецификации протокола, Novell упустила
все исходные шансы для того, чтобы IPX стал индустриальным стандартом.
Протоколы Канального уровня
Дейтаграммы IPX переносятся внутри стандартных кадров протокола
Канального уровня точно так же, как дейтаграммы IP. Протоколы IPX не
имеют собственных протоколов Канального уровня, хотя они могут
востребовать их через соединение РРР. Тем не менее, в большинстве сетей данные
IPX инкапсулирутся кадрами Ethernet или Token Ring.
Единственный несколько необычный аспект конфигурирования серверов
NetWare с привлечением протоколов Ethernet или Token Ring заключается в
том, что необходимо указать тип (или типы) кадра для каждой сети,
используя имена, которые далеко не интуитивны. NetWare поддерживает четыре
типа кадров Ethernet, которые отличаются только особенностями формата.
Несмотря на то, что все эти четыре типа кадров могут переносить
стандартный трафик IPX, выбор определенного типа может повлиять на
возможность поддержки сетью других стеков протоколов (таких как TCP/IP)
помимо IPX. Существующие типы кадров приведены ниже.
□ ETHERNET_802.3. Также известный как "raw Ethernet" ("сырой"
Ethernet), он являлся типом кадра по умолчанию для NetWare до версии 3.11.
Этот кадр незначительно отличается от формата, определенного в
документе 1ЕЕЕ_802.3, который еще не был завершен к моменту выхода
первой версии NetWare. Кадр может иметь размер от 64 до 1518 байтов, и
поле, следующее сразу после адреса источника и адреса назначения,
определяет длину пакета, а не значение Ethertype, как в кадре DIX Ethernet.
Вследствие этого протокол Ethernet не имеет возможности
идентифицировать протокол Сетевого уровня, данные которого передаются
принимающей системе. Поэтому такой тип кадра может использоваться только
в тех сетях, в которых на Сетевом уровне работает единственный
протокол - IPX.
□ ETHERNETJW2.2. Тип кадра по умолчанию для Netware версий 3.12 и
выше. Его название сбивает с толку, поскольку обозначение 802.2
употребляется для стандарта управления логической связью (LLC), разрабо-
Глава 12. Протоколы NetWare
393
тайного IEEE для всех протоколов 802. В действительности этот тип
подразумевает кадр, определенный в стандарте 802.3, а также включает
заголовок 802.2 в поле данных кадра, по причине чего кадр соответствует
стандарту и может применяться с другими программными продуктами,
которые поддерживают IPX (например, Windows NT). Тем не менее,
кадру ETHERNET_802.2 все еще недостает поля, эквивалентного полю Eth-
ertype, и он может проводить только трафик IPX.
D ETHERNETJH. Описанный стандартом DIX Ethernet, этот тип кадра
отличается от определенного IEEE в основном только тем, что содержит
поле Ethertype, указывающее на протокол Сетевого уровня, данные
которого переносятся кадром. Поэтому ETHERNET_II можно использовать в
сети, где работает TCP/IP или иной протокол.
О ETHERNET_SNAP. Идентичен ETHERNET_802.2, за исключением того,
что в дополнение к заголовку LLC включает в поле данных заголовок
SNAP. Заголовок SNAP также имеет поле, которое идентифицирует
протокол Сетевого уровня, позволяющее обрабатывать этот тип кадра в сетях
с TCP/IP и/или AppleTalk.
NetWare предоставляет возможность выбрать столько типов кадров, сколько
необходимо для поддержки других систем, подключенных к сети Ethernet.
Главное, в чем надо убедиться при задействовании ETHERNET_II или
ETHERNET_SNAP в сети, работающей с протоколом TCP/IP или другими
протоколами, это то, что все серверы и рабочие станции имеют, по крайней
мере, один общий тип кадра. Сегодня для клиентских систем под
управлением Windows соблюдения данного условия достаточно для того, чтобы не
иметь проблем, так как компьютер опознает тип кадра, примененный в
сети, и конфигурирует себя соответственно.
^ Примечание ^|
Для получения более подробной информации о кадрах Ethernet и стандартах,
которые определяют их, см. главу 8.
Протокол IPX
IPX базируется на протоколе IDP (Internetwork Datagram Packet, межсетевой
обмен дейтаграммами), разработанном для сетевых служб Xerox (XNS, Xerox
Network Services). IPX обеспечивает базовые транспортные услуги без
установления соединения между системами интерсети при широковещательной
и однонаправленной передаче. Большая часть обычного трафика между
серверами NetWare или между клиентами и серверами переносится
посредством дейтаграмм IPX.
394
Часть III. Сетевые протоколы
12345678123456781234567812345678
Контрольная сумма
Управление
доставкой
Тип пакета
Адрес сети назначения (продолжение)
Длина
Адрес сети назначения
Адрес узла назначения I
Адрес узла назначения (продолжение)
Сокет назначение
Адрес сети источникам (продолжение)
Адрес сети источника
Адрес узла источника
Адрес узла источника (продолжение)
Сокет источника
• Данные •
Рис. 12-1- Формат дейтаграммы IPX
Заголовок дейтаграммы IPX имеет длину 30 байтов (для сравнения: размер
заголовка IP равен 20 байтам). Формат заголовка IPX приведен на рис. 12.1,
а назначение полей заголовка перечислено ниже.
□ Контрольная сумма (Checksum), 2 байта. В оригинальном заголовке ГОР
это поле содержит значение CRC для дейтафаммы. Так как протоколы
Канального уровня сами выполняют проверку контрольных сумм, то
данная функция при обработке дейтаграмм IPX не задействована и поле
всегда содержит шестнадцатеричное значение ffff.
□ Длина (Length), 2 байта. Задает размер дейтафаммы в байтах, включая
заголовок IPX и поле данных.
□ Управление доставкой (Transport Control), 1 байт. Это поле также
известно как счетчик транзитов (hop count). Оно фиксирует количество
маршрутизаторов, через которые прошла дейтафамма на пути к месту
назначения. Передающая система сбрасывает его в 0, а каждый из
маршрутизаторов при обработке дейтафаммы увеличивает значение счетчика на
1. Как только количество транзитных маршрутизаторов достигает 16,
последний из них отбрасывает дейтафамму.
□ Тип пакета (Packet Type), 1 байт. Идентифицирует сервис или протокол
верхнего уровня, который создал данные, переносимые дейтафаммой.
Используются следующие значения:
• 0 — не определен;
• 1 — Routing Information Protocol (RIP, протокол информации
маршрутизации);
• 4 — Service Advertising Protocol (SAP, протокол извещения об услугах);
Глава 12. Протоколы NetWare
395
• 5 —- Sequenced Packet Exchange (SPX, последовательный обмен пакетами);
• 17 — NetWare Core Protocol (NCP, основной протокол NetWare).
П Адрес сети назначения (Destination Network Address), 4 байта. Указывает
сеть, в которой расположена система-получатель, содержит значение,
выделенное администратором или операционной системой во время
инсталляции NetWare.
О Адрес узла назначения (Destination Node Address), 6 байтов. Определяет
сетевой интерфейс компьютера, которому должны быть доставлены
данные, представляет собой аппаратный адрес протокола Канального
уровня. Широковещательные сообщения передаются с шестнадцатеричным
адресом ffiffiffifff.
О Сокет назначения (Destination Socket), 2 байта. Отвечает за
идентификацию процесса, выполняющегося на системе-получателе, для которого,
собственно, и предназначены данные внутри дейтаграммы. Используется
одно из следующих значений:
• 0451 — NetWare Core Protocol;
• 0452 — Service Advertising Protocol;
• 0453 — Routing Information Protocol;
• 0455 - NetBIOS;
• 0456 —- диагностический пакет;
• 0457 — пакет присваивания номера (serialization packet);
• 4000—6000 — сокеты, отведенные процессам сервера;
• 9000 — NetWare Link Services Protocol;
• 9004 - IPXWAN Protocol.
D Адрес сети источника (Source Network Address), 4 байта. Идентифицирует,
в которой находится система, пославшая дейтаграмму. Используется
значение, выделенное администратором или операционной системой во
время инсталляции NetWare.
О Адрес узла источника (Source Node Address), 6 байтов. Содержит
аппаратный адрес протокола Канального уровня для сетевого интерфейса
компьютера, который отправил дейтаграмму.
О Сокет источника (Source Socket), 2 байта. Определяет процесс,
выполняющийся на локальной системе, сформировавший данные пакета.
Применяются те же значения, что и для поля сокета назначения.
О Данные (Data), переменной длины. Информация, сгенерированная
протоколом вышележащего уровня.
396
Часть III. Сетевые протоколы
Серверы NetWare используют протокол маршрутизации, такой как RIP
(Routing Information Protocol, протокол информации маршрутизации) или
NLSP (NetWare Link Services Protocol, протокол коммуникационных услуг
NetWare) для того, чтобы определить жизнеспособный маршрут к месту
назначения. Как и другие протоколы Сетевого уровня, маршрутизатор IPX
отделяет от каждого пакета данные протокола Канального уровня и формирует
новый кадр для передачи через другую сеть. Единственное изменение,
производимое маршрутизатором в заголовке IPX, это — инкремент значения в
поле управления доставкой.
^ Примечание j|
Для получения более подробной информации о маршрутизации см. главу 6.
Поскольку IPX является протоколом без установления соединения, для
подтверждения правильности доставленных данных он полагается на протоколы
верхних уровней. Например, когда клиент посылает запрос к серверу,
используя сообщение протокола NCP (NetWare Core Protocol, основной
протокол NetWare), помещенное в дейтаграмму, то ответ от сервера играет роль
подтверждения получения данных запроса.
Тем не менее, клиенты NetWare активируют системные часы тайм-аута
запроса, по истечении которого таймер вынуждает их повторно отправить
дейтаграмму IPX, если ответ не был получен в течение заданного периода времени.
При возникновении в сети условий, которые чрезвычайно замедляют трафик,
клиент может быть вынужден передавать дейтаграмму несколько раз до тех
пор, пока она не будет корректно принята узлом назначения. Количеством
попыток повторной отправки дейтаграммы можно управлять, изменяя
параметр IPX RETRY COUNT клиентской системы, значение по умолчанию для
которого равно 20. У систем под управлением Windows NT или 9.x с
установленным клиентом Novell Netware этот параметр протокола IPX может быть
найден в диалоговом окне Properties (Свойства). Для клиентов DOS/Windows 3.1 в
системный файл Net.cfg следует добавить следующую строку:
IPX RETRY COUNT =30
Протокол SPX
Будучи производным от XNS SPP (Sequenced Packet Protocol, протокол
последовательной передачи пакетов), протокол SPX работает на Транспортном
уровне и предоставляет надежный сервис с установлением соединения,
управлением потоком и определением порядка следования пакетов, и более
напоминает TCP в стеке протоколов TCP/IP. Тем не менее, системы NetWare
используют его намного реже, чем системы TCP/IP —- TCP. Типичные
процедуры доступа к файлам в сети NetWare применяют протокол NCP, кото-
Глава 12. Протоколы NetWare
397
рый отвечает за большую часть производимого трафика. SPX требуется
только для задач, которые связаны с его услугами, таких как обмен данными
между серверами печати, очередями печати и удаленными принтерами,
сеансы RCONSOLE и сетевое резервное копирование.
12345 6 781234567812 3 4567812345678
Управление
соединением
Тип потока данных
Идентификатор соединения назначения
| Номер подтверждения
Идентификатор исходного соединения j
Порядковый номер
Количество места
Данные
Рис. 12.2. Формат сообщения SPX
Заголовок SPX изображен на рис. 12.2, функции его полей описаны ниже.
О Поле управления соединением (Connection Control), 1 байт. Содержит код,
который регулирует двунаправленный поток данных. Управляющие коды
могут принимать следующие шестнадцатеричные значения:
• 10 — конец сообщения;
• 20 — внимание;
• 40 — требуется подтверждение;
• 80 —- системный пакет.
О Тип потока данных (Datastream Type), 1 байт. Описывает природу данных
в сообщении и указывает на процесс верхнего уровня, для которого оно
предназначено. Возможные значения определяются клиентом или
применимо следующие ниже:
• FE — завершение соединения;
• FF — подтверждение завершения соединения.
П Идентификатор исходного соединения (Source Connection ID), 2 байта.
Отвечает за однозначную идентификацию конкретного соединения,
поскольку система может иметь несколько соединений для одного сокета,
открытых одновременно.
П Идентификатор соединения назначения (Destination Connection ID), 2
байта. Представляет собой уникальное значение, на основании которого
система назначения идентифицирует данное соединение. В начале
процесса установления соединения значение этого поля устанавливается
равным ffff, поскольку идентификатор соединения другой системы еще
не известен.
398
Часть III. Сетевые протоколы
П Порядковый номер (Sequence Number), 2 байта. Содержит номер,
увеличивающийся на единицу с каждым сообщением, переданным за время
соединения. Принимающая система использует этот номер, чтобы
обрабатывать сообщения в правильном порядке.
□ Номер подтверждения (Acknowledgment Number), 2 байта. Фиксирует
порядковый номер следующего сообщения, которое система предполагает
получить от присоединенной системы. Таким образом, подтверждается
получение всех пакетов, имеющих меньший порядковый номер.
□ Количество места (Allocation Number), 2 байта. Реализует механизм
управления потоком, указывая количество пакетов, которое может
принять входной буфер системы.
□ Данные (Data), переменной длины. Содержит данные, предназначенные
для процессов или протоколов верхнего уровня.
Как и в случае любых других протоколов с установлением соединения, две
системы обмениваются управляющими сообщениями, инициализируя
соединение, прежде чем будут переданы какие-либо данные приложения.
После того как связь установлена, системы периодически отправляют
дежурные сообщения для поддержания соединения в моменты отсутствия
активности. В сети с производительностью, снизившейся в результате
интенсивного трафика или других проблем, соединения SPX могут разрываться по
тайм-ауту в связи с задержками передачи.
Так как соединения SPX могут обслуживать важные службы (такие как
сессии удаленного управления консолью сервера), то может потребоваться
изменить значение тайм-аута в случае, если сеть испытывает проблемы с
производительностью. NetWare включает утилиту конфигурирования SPX для
серверов, называющуюся Spxconfg.nlm, которая позволяет устанавливать
параметры, перечисленные ниже.
□ SPX Watchdog Abort Timeout (Контрольный тайм-аут прекращения
соединения SPX). Определяет максимальный интервал времени, в течение
которого соединение SPX может оставаться неиспользуемым, прежде чем
будет объявлено неработоспособным. Значение по умолчанию составляет
540 тиков, допустимый диапазон значений — от 540 до 5400 тиков (1 тик=
=1/18 секунды).
□ SPX Watchdog Verify Timeout (Контрольный тайм-аут проверки соединения
SPX). Задает промежуток времени, по окончании которого система
отправит запрос на получение дежурного сообщения, если она не приняла
ни одного пакета от присоединенной системы. Значение по умолчанию
равно 108 тикам, допустимый диапазон значений —- от 0 до 255 тиков.
□ SPX Ack Wait Timeout (Тайм-аут ожидания подтверждения SPX).
Назначает временной интервал, в течение которого система ожидает
подтверждения приема, до того как повторно отправит сообщение SPX. Устанавли-
Глава 12. Протоколы NetWare
399
ваемый по умолчанию тайм-аут равен 54 тикам, допустимые значения
лежат в диапазоне от 10 до 3240 тиков.
□ SPX Default Retry Count (Счетчик попыток передачи SPX). Указывает,
сколько раз система будет повторно передавать сообщение SPX без
получения подтверждения. По умолчанию система предпринимает 10
попыток, допустимое их количество варьируется в пределах от 1 до 255.
□ Maximum Concurrent SPX Sessions (Максимальное количество
параллельных сессий SPX). Определяет максимальное число сессий SPX, которое
может быть одновременно открыто приложением. Значение по
умолчанию составляет 1000, нижняя граница допустимого диапазона значений
равна 100, а верхняя — 2000.
□ Maximum Open IPX Sockets (Максимальное количество открытых сокетов
IPX). Задает максимальное число двунаправленных каналов (сокетов)
IPX, которое разрешено открыть приложению. По умолчанию таких
каналов может быть 1200, минимум — 60, а максимум — 65 520.
NetWare Core Protocol (NCP)
Как легко догадаться из названия, NetWare Core Protocol (NCP, основной
протокол NetWare) отвечает за проводку большей части сетевого трафика
между клиентами и серверами. Клиентские системы используют NCP для
осуществления запросов к файлам, расположенным на томах сервера, и
отправки заданий на печать в очереди принтеров. Серверы применяют NCP
для передачи запрошенных файлов обратно клиенту. Разновидность этого
протокола, называемая NetWare Core Packet Burst (NCPB, основной
протокол пакетного режима), позволяет серверам отправлять клиенту большое
количество данных, не ожидая подтверждения получения каждого пакета.
В то время как SPX является протоколом Транспортного уровня, место NCP
в эталонной модели OSI определено не настолько точно. Так как клиенты
задействуют сообщения NCP для регистрации на сервере или в дереве NDS,
можно сказать, что протокол функционирует на Сеансовом уровне. С
другой стороны, возможности NCP по передаче файлов и подтверждению
получения пакетов помещают его на Транспортный уровень. Вдобавок, NCP
обеспечивает блокировку файлов, услуги по синхронизации и переносит
сообщения NDS, что придает ему атрибуты, свойственные
Представительскому и Прикладному уровням. Вместе с тем, сообщения NCP переносятся
внутри стандартных дейтаграмм IPX, как и пакеты SPX.
Обмен сообщениями NCP обычно строится по схеме запрос/ответ, и сервер
генерирует сообщение-ответ для каждого запроса клиента. Ответы и
запросы NCP имеют различные форматы. Они приведены в следующих разделах.
400
Часть III. Сетевые протоколы
Сообщение запроса NCP
Формат сообщения запроса NCP приведен на рис. 12.3. Назначение полей
описано ниже.
12345678123456781234567812345678
Тип запроса
Номер задачи
Старишие разряды
номера соединения
Длина подфункции
Порядковый номер
Функция
Младшие разряды
номера соединения
Подфункция
Данные
Рис. 12.3. Формат сообщения запроса NCP
О Тип запроса (Request Type), 2 байта. Определяет основную функцию
сообщения. Клиентские системы вырабатывают несколько
нижеперечисленных типов запросов.
• 1111 — создание соединения. Инициализирует соединение с сервером
NetWare.
• 2222 — запрос к файловому серверу. Используется для запроса доступа
к ресурсу сервера NetWare.
• 5555 — разрыв соединения. Завершает соединение с сервером.
• 7777 — включение пакетного режима. Применяется в качестве
обращения к серверу NetWare для инициализации пакетного (монопольного)
режима передачи.
О Порядковый номер (Sequence Number), 1 байт. Фиксирует присвоенный
каждому из сообщений порядковый номер, что обеспечивает правильную
последовательность обработки переданных вызовов NCP получателем.
□ Младшие разряды номера соединения (Connection Number Low), 1 байт.
Указывает номер соединения клиента с сервером, отображаемое утилитой
Monitor, nlm.
О Номер задачи (Task Number), 1 байт. Представляет собой уникальное
значение, используемое для сопоставления сообщений запроса с ответами.
О Старшие разряды номера соединения (Connection Number High), 1 байт.
Поле зарезервировано для будущих применений. Всегда содержит
значение 00.
О Функция (Function), 1 байт. Указывает функцию сообщения, связанную с
кодом, размещенным в данном поле.
Глава 12. Протоколы NetWare 401
П Подфункция (Subfunction), 1 байт. Предназначено для уточнения
функции сообщения.
О Длина подфункции (Subfunction Length), 2 байта. Определяет длину поля
данных текущего сообщения, обуславливаемую его функцией и
подфункцией.
П Данные (Data), переменной длины. Хранит информацию,
соответствующую обрабатываемому запросу, такую как расположение файла.
NCP способен обеспечивать огромное количество различных функций.
Существует около 200 комбинаций кодов полей функции и подфункции,
поддерживающих сервисы из категорий, перечисленных ниже.
П Службы учетных записей. Возвращают статус учетных записей,
регистрируют загрузку и управляют учетными записями.
О Службы регистрации сетевых ресурсов. Осуществляют доступ к объектам
базы регистрационных данных (bindery) NetWare 3.x и изменяют их свойства.
П Службы соединений. Создают и разрывают соединения с серверами
NetWare, а также предоставляют информацию о них.
О Службы каталогов. Позволяют просматривать каталоги на томах NetWare,
а также управлять правами доступа к ним.
П Файловые службы. Предоставляют возможность доступа к файлам на
томах NetWare, их просмотр, а также управление файлами и их атрибутами.
□ Окружение файловых серверов. Обеспечивает информацией о серверах
NetWare и позволяет изменять их свойства.
О Службы сообщений. Отправляют и принимают широковещательные
сообщения.
□ Службы печати. Помещают задания на печать в очередь.
□ Службы очередей. Регулируют очереди печати и распределяют задания,
содержащиеся в них.
О Службы синхронизации. Координируют операции записи, блокировки
файлов и семафоры.
П Службы отслеживания транзакций. Управляют свойствами NetWare
Transaction Tracking System (TTS, системы отслеживания транзакций).
Формат сообщений для NCP не является безусловным. Некоторые функции
вызывают надлежащие изменения в формате для установления соответствия
их специфическим целям. Например, функции, не использующие поле
подфункции, могут вовсе исключать его из сообщения. Некоторые функции
могут также добавлять собственные поля специального назначения в конец
сообщения.
402
Часть III. Сетевые протоколы
Сообщение ответа NCP
Формат сообщения ответа NCP приведен на рис. 12.4. Функции полей
сообщения описаны ниже.
12345678123456781234567812345678
Тип ответа
Номер задачи
Старшие разряды
номера соединения
Порядковый номер
Код завершения
Младшие разряды
номера соединения
Статус соединеня
Данные
Рис. 12.4. Формат сообщения ответа NCP
□ Тип ответа (Reply Type), 2 байта. Определяет природу ответа, используя
одно из приведенных далее значений.
• 3333 -— ответ файлового сервера. Указывает на то, что сообщение
является ответом на запрос к файловому серверу с кодом 2222 в поле
типа запроса.
• 7777 — пакетный режим. Информирует об успешной инициализации
процесса передачи в пакетном режиме.
• 9999 — положительное подтверждение. Говорит о том, что запрос был
обработан и ответ был отправлен только затем, чтобы предотвратить
тайм-аут клиента.
□ Порядковый номер (Sequence Number), 1 байт. Содержит номер,
указывающий на порядок, в котором были отправлены сообщения NCP,
благодаря чему получатель может обработать их в правильной
последовательности.
□ Младшие разряды номера соединения (Connection Number Low), 1 байт.
Определяет номер соединения клиента с сервером, отображаемый
утилитой Monitor.nlm.
□ Номер задачи (Task Number), 1 байт. Хранит уникальное значение,
привлекаемое для сопоставления сообщений запроса с ответами.
□ Старшие разряды номера соединения (Connection Number High), 1 байт. Не
используется. Всегда обнулено.
□ Код завершения (Completion Code), 1 байт. Сигнализирует об успехе или
неудаче ассоциированного вызова. Значение 0 соответствует удачному
завершению запроса, ненулевое значение отражает неудачу.
□ Статус соединения (Connection Status), 1 байт. Уведомляет о том, активно
или нет соединение между клиентом и сервером. Значение 0
свидетельствует о том, что соединение активно, значение 1 — о том, что неактивно.
Глава 12. Протоколы NetWare
403
D Данные (Data), переменной длины. Содержит данные, отправленные
сервером в ответ на ассоциированный запрос.
Протокол NetWare Core Packet Burst (NCPB)
Стандартный протокол NCP требует сообщения ответа для каждого запроса,
что целесообразно для одних функций, но не имеет особого смысла для
других. Например, когда пользователь регистрируется на сервере, стоит
немедленно ответить на сообщение, требующее установки соединения. Однако
для функций, которые связаны с передачей данных, требующей отправки
множества пакетов, этот метод непрактичен.
Когда клиент использует стандартные сообщения NCP для того, чтобы
запросить файл с тома сервера, процесс разбивается на такое количество
операций обмена сообщениями запрос/ответ, какое необходимо для передачи
всего файла. Клиент сначала запрашивает первую часть файла, которую
затем получает вместе с ответом. После этого клиент должен затребовать
вторую часть, принять ее, запросить третью часть и т. д. Когда передаются
большие файлы, количество избыточных сообщений запроса значительно
снижает эффективность протокола.
Протокол NetWare Core Packet Burst (NCPB, основной протокол пакетной
передачи NetWare) был разработан с той целью, чтобы исправить этот
недостаток, и предоставить серверам возможность последовательно посылать
несколько пакетов данных без нужды в немедленном ответе или подтверждении
получения для каждого отдельного пакета. Пакетная передача позволяет
отправлять до 64 Кбайт данных в одной пачке только с одним подтверждением.
Впервые NCPB был реализован как дополнение к NetWare 3.11, имеющее
форму серверного модуля с именем Pburst.nlm и оболочки клиента
Bnetx.exe. Начиная с NetWare версии 3.12 и клиента VLM, NCPB полностью
интегрирован в стек протоколов и используется автоматически, когда
клиент осуществляет доступ к файлу на сервере, при этом не требуются какие-
либо изменения в приложении, создающем запрос доступа.
Чтобы обеспечить указанный тип сервиса, протокол NCPB нуждается в
соответствующих модификациях формата сообщения NCP. Формат сообщения
NCPB приведен на рис. 12.5. Функции полей сообщения описаны ниже.
□ Тип запроса (Request Type), 2 байта. Указывает на основную функцию
пакета так же, как в протоколе NCP. Для пакетных сообщений значение
в поле всегда равно 7777.
□ Флаги (Flags), 1 байт. Содержит флаги, определяющие природу
сообщения или данных, которые оно переносит. Используются значения,
перечисленные ниже.
• Бит 1 -— SYS. Информирует о том, что пакет содержит только
системное сообщение и не включает никаких данных пакетного режима,
связанных с ним.
404
Часть III. Сетевые протоколы
12 3 4 5 6 7
Все пакеты
123456781234567
12 3 4 5 6 7 8
Тип запроса
Флаги
Тип потока
Идентификатор соединения источника
Идентификатор соединения назначения
Порядковый номер пакета
Задержка отправки
Порядковый номер
последовательности пакетов
Порядковый номер подтверждения
Общая длина пакетной передачи
Смещение пакетной передачи
Длина пакетной посылка
Список фрагментов
Только запросы чтения/записи
Функция
Дискриптор файла
Начальное смещение
Количество считанных/записанных байтов
Только ответы на запросы чтения
Код результата
Количество считанных байтов
Данные
Только ответы на запросы записи
Код результата
Рис. 12.5. Формат сообщения NCPB
Бит 2 — SAK. Заставляет получателя передать список отсутствующих у
него фрагментов.
Бит 3 —- не используется.
Бит 4 — ЕОВ. Объявляет, что сообщение содержит последний
фрагмент данных пакетной передачи.
Бит 5 — BSY. Свидетельствует о том, что сервер занят, и клиент
должен продолжать ждать ответ.
Глава 12. Протоколы NetWare
405
• Бит 6 — АВТ. Фиксирует тот факт, что соединение было прервано и
больше не является действующим.
• Бит 7 — не используется.
• Бит 8 — не используется.
□ Тип потока (Stream Type), 1 байт. Указывает на то, как сервер должен
отвечать на запрос пакетной передачи. Действительно только одно шеет-
надцатеричное значение 02, означающее "большую пакетную передачу"
(big send burst).
□ Идентификатор соединения источника (Source Connection ID), 4 байта.
Представляет собой уникальное значение (отличающееся от значения
идентификатора соединения NCP), сформированное отправителем из
числового представления текущего времени суток. Идентифицирует данное
пакетное соединение.
□ Идентификатор соединения назначения (Destination Connection ID), 4
байта. Содержит сформированный системой назначения идентификатор
соединения (эквивалентный идентификатору соединения источника).
□ Порядковый номер пакета (Packet Sequence Number), 4 байта. Размещает
в себе инкрементный указатель для данного отдельного пакета (не путать
с порядковым номером пакетной передачи).
□ Задержка отправки (Send Delay Time), 4 байта. Определяет задержку
между передачами пакетов отправителя (также называемую межпакетным
интервалом (interpacket gap)), измеряемую в единицах, равных 100
микросекундам.
□ Порядковый номер последовательности пакетов (Burst Sequence Number),
2 байта. Фиксирует текущее значение инкрементного указателя для
пакетной передачи (которая состоит из последовательности пакетов,
содержащей непрерывный поток данных).
□ Порядковый номер подтверждения (Acknowledgment Sequence Number), 2
байта. Уведомляет о порядковом номере пакетной передачи, которую
система ожидает увидеть следующей, показывая тем самым, что
предыдущая пакетная передача была принята успешно.
□ Общая длина пакетной передачи (Total Burst Length), 4 байта. Объявляет
общую длину данных (в байтах), которые будут включены в текущую
пакетную передачу. Система может подстраивать этот размер под
реализацию управления потоком данных NCPB методом скользящего окна.
□ Смещение пакетной передачи (Burst Packet Offset), 4 байта. Определяет
положение данного пакета в текущей групповой передаче.
□ Длина пакета (Burst Length), 2 байта. Указывает на то, какая часть от
общей длины пакетной передачи включена в данное сообщение.
406
Часть III. Сетевые протоколы
□ Список фрагментов (Fragment List), 2 байта. Содержит список
фрагментов, которые должны быть отправлены для завершения пакетной
передачи. Изначально в списке перечислены все фрагменты. Как только
фрагмент доставлен успешно, он удаляется из списка. Любые фрагменты,
оставшиеся после того, как передача завершена, считаются
поврежденными или потерянными и должны быть отправлены повторно.
В дополнение к предшествующей группе полей, сообщения NCPB, требующие
операций чтения или записи файлов, включают перечисленные ниже поля.
□ Функция (Function), 4 байта. Уточняет, является данная транзакция
операцией чтения или операцией записи.
□ Дескриптор файла (File Handle), 4 байта. Содержит код,
идентифицирующий файл, который подлежит чтению или записи.
□ Начальное смещение (Starting Offset), 4 байта. Определяет смещение
части файла, указанного в поле дескриптора, которая должна быть включена
в данный пакет.
□ Количество считанных/записанных байтов (Bytes to Read/Write), 4 байта.
Указывает количество байтов (начиная с позиции, заданной значением поля
начального смещения), которое требуется вложить в передаваемый пакет.
Сообщения ответа NCPB, генерируемые в качестве отклика на запрос
чтения, имеют помимо полей основного формата сообщения поля,
перечисленные ниже.
□ Код результата (Result Code), 4 байта. Информирует, был ли запрос,
ассоциированный с данным ответом, успешно удовлетворен. Используются
следующие значения:
• 0 — ошибок нет;
• 1 — ошибка в начальной стадии;
• 2 — ошибка ввода/вывода;
• 3 — данные не были считаны.
□ Количество считанных байтов (Number of Bytes Read), 4 байта. Указывает
количество байтов, которые были удачно считаны.
□ Данные (Data), переменной длины. Содержит часть данных, переданных в
ответ на запрос.
Сообщения ответа NCPB, создаваемые как реакция на запрос записи, имеют
помимо полей основного формата сообщения одно дополнительное поле.
□ Код результата (Result Code), 4 байта. Уведомляет, был ли запрос,
связанный с данным ответом, успешно удовлетворен. Вырабатываются
следующие значения:
• 0 —- ошибок нет;
• 1 — ошибка записи.
Глава 12. Протоколы NetWare
407
Транзакции пакетной передачи
NCPB является протоколом с установлением соединения, который задейст-
вуется, когда клиент требует у сервера соединения в режиме пакетной
передачи, посылая запрос NCP со значением кода функции 101 и без кода
подфункции. Запрос также конкретизирует наибольший размер пакета клиента
и максимальные размеры для передачи и приема, как это можно видеть на
примере пакета, отображенного на рис. 12.6. Сервер будет использовать эту
информацию при упаковке данных для передачи их клиенту.
lif+ifg 802.2: Address:
.+'"3TLLC: Sap OxEO —
:+;§£) IPX: Packet =NCP
1-■ ы ШШШШШЖШ
>£3 Ncp Request:
j Q Request Type:
J C^ Seq. number =
Hj Conn. number
L% Task number e
rC ^ Conn . number
JC^ Function code
I i^ Local Connect
Д^ Local Maximum
1 ,Ol Local Target
U)Local Maximum
JL5 Local Maximum
Щ) Calculate CRC:
00-60-97-B0-77-CA —
— > 0 xE 0 (Command)
, Net:31-FE-86-7F
->00-
> 37-
-80-
-20-
-29-
-0D-
Packet Burst Connection Request
0x2222 (Service Request)
74
low = 4
48
high = 0
= 101
ion ID: 0x3BB9652C
Packet Size: 0x05D2
Socket: 0xA40
Send Size: 65535
Recieve Size: 65535
3x2df924bl
-EB-F7-2C
-D6
Рис. 12.6- NCP-сообщение запроса на соединение в режиме
пакетной передачи
Когда сервер откликается на запрос, он посылает служебное
NCP-сообщение ответа (Reply Type 3333) со значением кода завершения (Completion
Code) равным 0 (рис. 12.7).
SЩ 802 . 2 : Address: 00-80-29-EB-F7-2C —>00-60-97-В0-77-СА
!*]1ГЫС: Sap OxEO > OxEO (Command)
ajfllPX: Packet'NCP, Net:37-20-0D-D6 > 31-FE-86-7F
X3) Reply Type: 0x3333 (Service Reply)
Q Sequence Number: 7 4
i_5 Connection Number Low: 4
1% Task Number: 1
1^ Connection Number High: 0
ХЛ Completion Code: Successful1
1% Connection Status: 0x00
ijData 0000: 02 00 04 00 00 00 05 d2
Щ9 Calculate CRC: 0x47d6db0e
±1 1 ±1
Рис. 12.7. Служебное NCP-сообщение ответа, завершающее процесс
установления соединения
408
Часть III. Сетевые протоколы
С этого момента клиент переходит к формату сообщений NCPB (Request Type
7777) и отправляет запрос на чтение определенного файла (рис. 12.8).
Щ) 802.2: Address: 00-6D-97-B0-77-CA >00-80-29-EB-F7-2C
IT LLC: Sap OxEO > OxEO (Command)
IPX: Packet=NCP, Net:31-FE-86-7F > 37-20-0D-D6
1 1 Request type
U Flags: 0x10
^JSYS
L3SAK
15
,JE0B
l^BSY
iJ ABT
.1
0x7777 (Burst Mode Transfer)
not a System packet
Reserved
End of Burst Data
Server not Busy
Session is Valid
Reserved
m
15 Stream Type: Big Send Burst
£5 Source Connection ID: 0x2C65B93B
>_5 Destination Connection ID. 0x2000^
-J Packet Sequence Number: 15
' % Send Delay Time (100 usee): 0
\JJ Burst Sequence Numner: 0
15 ACK Sequence Numner: 0
U Total Burst Length: 24
J Burst Offset: 0
i % Burst Length: 24
O) Fragment List Entries: 0
„J) Function: 1 (Read Request)
£3 File Handle: 0x3ClE0000
_J Starting Offset: 0
15 Bytes to Read- 2920
Calculate CRC: 0x7051614c
00
Рис. 12.8. После того, как соединение установлено, клиент
отправляет NCPB-сообщение запроса на чтение
Сервер отвечает посылкой сообщения, в которое вложен первый фрагмент
запрашиваемого файла (рис. 12.9). В данном случае размер всего файла
указан в поле общей длины пакетной передачи (Total Burst Length) и составляет
2928 байтов. Заметьте, величина смещения пакета (Burst Offset) равна 0, это
говорит о том, что сообщение содержит начало файла. Количество данных,
включенных в данный пакет, равно 1424, на что указывает значение поля
длины пакета (Burst Length).
После передачи второго сообщения, содержащего следующие 1424 байта
файла, сервер отправляет сообщение, показанное на рис. 12.10. Здесь смещение
пакета (Burst Offset) составляет 2848, а его длина (Burst Length) равна 80. 2848
и 80 в сумме дает 2928 — значение поля общей длины пакетной передачи
(Total Burst Length). Отсюда ясно, что рассматриваемое сообщение
транспортирует последние 80 байтов требуемого файла, даже если не смотреть на то,
что флаг ЕОВ (End of Burst Data, конец пакетных данных) установлен.
Глава 12. Протоколы NetWare
409
802.2: Address.
LLC: Sap OxEO —
IPX: Packet-NCP.
00-80-29-EB-F7-2C —
—> OxEO (Command)
Net:37-20-0D-D6
->00-60-97-B0-77-CA
> 31-FE-86-7F
-J
3
■13
-3
13
^3
13
13
13
Request type:
Flags: 0x00
SYS:
SAK:
EOB:
BSY:
ABT:
0 . . . .
.0. . . .
. .x. . .
. . .0 . .
.... 0.
0
0x7777 (Burst Mode Transfer)
not a System packet
Reserved
not End of Burst Data
Server not Busy
Session is Valid
Reserved
Stream Type: Big Send Burst
Source Connection ID- 0x2000400
Destination Connection ID: 0x2C65B93B
Packet Sequence Number. 15
Send Delay Time (100 usee): 62553
Burst Sequence Numner: 0
ACK Sequence Numner: 1
Total Burst Length: 2928
Burst Offset: 0
Burst length: 1424
Fragment List Entries: 0
Reply Code: Successful
Bytes Read: 2920
Data 0000: 4d 5a bf 01 c2 01 00 00 20 00 64 19 ff
0010: 80 00 00 00 10 00 cb 35 le 00 00 00 01
ff a7
00
3d
Рис. 12.9. В ответ на запрос клиента сервер посылает сообщение,
содержащее первый фрагмент данных
+]ЩЭ 802.2: Address: 00-80-29-EB-F7-2C >00-60-97-В0-77-
+, Т LLC Sap OxEO > OxEO (Command)
IPX- Packet=NCP. Net: 37-20-0D-D6 > 31-FE-86-7F
CA
13'
•13
<3
^3
13
_3
_3
-J
_3
=3
_3
3
0x7777 (Burst Mode Transfer)
not a System packet
Reserved
End of Burst Data
Server not Busy
Session is Valid
Reserved
Stream Type: Big Send Burst
Source Connection ID: 0x2000400
Destination Connection ID: 0x2C65B93B
Packet Sequence Number: 17
Send Delay Time (100 usee):
Burst Sequence Numner: 0
ACK Sequence Numner: 1
Total Burst Length: 2928
Burst Offset: 2848
Burst Length. 80
Fragment List Entries: 0
62553
Data 0000. 83 c4 02 52 50
0010: 83 c4 0a bO 00
bO 01
50 Ь9
50 bl 00 51 9a 06
8f 00 51 9a 36 03
00 ce
09 lc *\
IP
Рис. 12.10. Сервер передает последний фрагмент транзакции
в сообщении с установленным флагом ЕОВ
410
Часть III. Сетевые протоколы
Теперь, раз пакетная пересылка закончена, клиент переходит в
предшествующий режим, к сообщениям NCP, и просит, чтобы сервер закрыл файл
(рис. 12.11). Как только сервер возвращает ответ, свидетельствующий о том,
что запрос был выполнен успешно, транзакция завершена.
+ Щ 802.2' Address: 00-60-97-B0-77-CA >00-80-29-EB-F7-2C
+ Т"Ы.С: Sap OxEO > OxEO (Command)
+Й1РХ: Packet=NCP, Net:31-FE-86-7F > 37-20-0D-D6
-Шшшшшшшшш
_3 NCP Request: Close File
_3 Request Type: 0x2222 (Service Request)
' ^Seq. number = 75
' ^ Conn. number low = 4
_3 Task number = 48
_jj Conn. number high = 0
_J Function code = 66
_JJ Reserved: 0
J File Handle: 00003C1E0000
Й9 Calculate CRC: 0x7ccb6ad9
Рис. 12.11. Сразу после передачи файла клиент переключается
в режим сообщений NCP для того, чтобы закрыть файл
Отдельные пересылки файлов в пакетном режиме обычно интегрированы с
сессией обмена сообщениями протокола NCP. Нет необходимости в разрыве
соединения пакетной передачи после каждого переданного файла, как у TCP.
Повторная передача пакетов
Одно из преимуществ NCPB над TCP и многими другими протоколами с
установлением соединения заключается в его способности переносить в
соответствии со списком те фрагменты, которые должны быть переданы.
Большинство протоколов подтверждают прием пакетов, отмечая отдельную
точку в последовательности сообщений, при этом считается, что все пакеты
до этой точки были получены. В случае, когда одно сообщение потеряно,
должна быть повторно выслана вся последовательность, начиная с данного
места, даже если часть ее пакетов была принята успешно. Список
фрагментов NCPB позволяет серверу повторно передать только те фрагменты, что
были утрачены.
Протокол SAP
Системы NetWare используют Service Advertising Protocol (SAP, протокол
извещения об услугах) для составления и поддержания списка файловых
серверов, серверов печати, серверов шлюзов и многопротокольных
маршрутизаторов, расположенных в сети. Серверы при помощи SAP информируют
другие системы в сети о своем присутствии. Клиент NetWare, прежде чем
Глава 12. Протоколы NetWare
411
отправлять запросы к серверам, должен узнать об их существовании из
сообщений SAP. Каждый сервер посылает широковещательные сообщения
SAP с интервалом по умолчанию в 60 секунд. Эти сообщения содержат имя
сервера, его адрес и описание услуг, предоставляемых им. Другие системы в
сети при получении сообщения SAP создают для каждого сервера,
перечисленного в сообщении, временную запись в своей базе данных ресурсов сети
(bindery) или NDS, надлежащим образом сохраняя сопровождающую
информацию.
Вдобавок к этой автоматически предоставляемой широковещательной
рекламе, серверы также могут вырабатывать собственные запросы SAP для того,
чтобы затребовать информацию от определенного сервера. NetWare
использует этот тип транзакции SAP для реализации защиты от копирования,
которая предотвращает возможность работы в одной сети двух серверов с
одним и тем же номером лицензии, а клиенты применяют его для выявления
ближайших к ним серверов. Для данного типа транзакций предусмотрены
отдельные форматы пакетов: запроса ближайшего сервера (Nearest Server
Request) и ответа ближайшего сервера (Nearest Server Reply). Обычные
широковещательные сообщения SAP, содержащие информацию о сервере,
задействуют тип пакета Standard Server Reply (ответ обычного сервера). (Тип
сообщения Standard Server Request (запрос обычного сервера) не используется.)
Запросы и ответы SAP применяют различные форматы пакетов, но все
сообщения SAP переносятся стандартными дейтаграммами IPX со значением
в поле типа пакета (Packet Type), равным 4, и номером сокета назначения
(Destination Socket) 0452, как показано на рис. 12.12. Форматы сообщений
рассматриваются в следующих разделах.
ШЩ 802.2: Address: 00-80-29-EB-F7-2C — >00-60-97-В0-77-СА I
|j-T"LLC: Sap OxEO > 0хЕ0 (Command)
L jgjInternetwork Packet Exchange I
Э Checksum: OxFFFF
Q Total Length: 96
|j -^ Transport Control: 0 I
JfJ Packet Type: SAP
©Network Address: 31-FE-86-7F > 31-FE-86-7F
€Q Station Address: 00-80-29-EB-F7-2C > 00-60-97-B0-77-CA
Э Source Socket: SAP
Q Destination Socket:4028
Q Type: 4 (Get Nearest Server Reply) J
>P Server Name: NWSERVER1
iQ Server Type: File server Network: 37-20-0D-D6 Node.00-00-00-00-00-01
<J5 Socket: NCP Hops: 1
^Calculate CRC: 0xca22a4bc
Ihl . , , , Ш|
Рис. 12.12. Сообщение Nearest Server Reply протокола SAP содержит
идентификационные данные о сервере и информацию маршрутизации
412
Часть III. Сетевые протоколы
Кадр запроса SAP
Сообщения запроса SAP используются только тогда, когда система
запрашивает у сервера информацию SAP, например, когда клиентская система
определяет положение ближайшего сервера. Сообщение передается как
широковещательное, и предполагается, что все серверы, принявшие его,
должны ответить. Сообщение запроса состоит только из двух полей.
□ Тип пакета (Packet Type), 2 байта. Указывает на функцию сообщения
при помощи следующих шестнадцатеричных значений:
• 1 — запрос обычного сервера (не используется);
• 3 — запрос ближайшего сервера.
□ Тип сервера (Server Type), 2 байта. Определяет тип услуг, требуемых от
сервера, в соответствии со следующими шестнадцатеричными значениями:
• 0000 — не определены;
• 0003 — Print Queue (очередь печати);
• 0004 — File Server (файловый сервер);
• 0005 — Job Server (сервер задач);
• 0007 — Print Server (сервер печати);
• 0009 — Archive Server (архивный сервер);
• 000а — Job Queue (очередь заданий);
• 0021 - NAS SNA Gateway (шлюз NAS SNA);
• 0024 — Remote Bridge Server (сервер удаленного моста);
• 002d — Time Synchronization VAP (временная синхронизация
процессов с дополнительными услугами (VAP));
• 002е — Dynamic SAP (динамический SAP);
• 0047 -— Advertising Print Server (сервер объявлений о печати);
• 004b — система индексированного управления записями Btrieve VAP 5.0;
• 004с - SQL VAP;
• 007а - TES-NetWare VMS;
• 0098 — NetWare Access Server (сервер доступа к NetWare);
• 009a — Named Pipes Server (сервер именованных каналов);
• 009e — Portable NetWare-UNIX (сервер удаленной печати и
управления файлами для клиентов NetWare);
• 0107 - NetWare 386;
• 0111 — Test Server (сервер тестирования);
Глава 12. Протоколы NetWare
413
• 0166 — NetWare Management (управление NetWare);
• 026a —NetWare Management;
• ffif — маска.
Кадр ответа SAP
Формат ответа SAP для широковещательных сообщений и ответов на
сообщения запроса ближайшего сервера один и тот же. Разница между ними
заключается в том, что ответ ближайшего сервера содержит информацию
только о нем самом, а ответ обычного сервера может включать данные о
нескольких серверах (максимум о семи). В последнем случае вся
последовательность полей, начиная с поля типа сервера и до поля количества
промежуточных сетей, будет повторена до семи раз.
Так как сообщения ответа обычного сервера передаются как
широковещательные, то их распространение ограничено пределами локального сегмента
сети. Тем не менее, за счет предоставления в совместное пользование
информации о себе, а также и обо всех остальных серверах локального
сегмента, каждый сервер в сети имеет возможность составить полный список всех
других серверов.
12345678123456781234567812345678
Тип пакета
Тип сервера
: Имя сервера ]
Адрес сети
Адрес узла
Адрес узла (продолжение)
Промежуточная сеть
Номер сокета
Рис. 12.13. Формат сообщения ответа SAP
Формат для сообщения ответа SAP приведен на рис. 12.13. Функции его
полей описаны ниже.
□ Тип пакета (Packet Type), 2 байта. Указывает на функцию сообщения
при помощи следующих шестнадцатеричных значений:
• 2 — ответ стандартного сервера (Standard Server Reply);
• 3 — ответ ближайшего сервера (Nearest Server Reply).
□ Тип сервера (Server Type), 2 байта. Определяет тип услуг, предоставляемых
сервером, возможны те же значения, что и в формате сообщения запроса.
414
Часть III. Сетевые протоколы
О Имя сервера (Server Name), 48 байтов. Содержит имя сервера.
□ Адрес сети (Network Address), 4 байта. Указывает адрес сети, в которой
расположен сервер.
□ Адрес узла (Node Address), 6 байтов. Содержит адрес сетевого интерфейса
сервера.
□ Сокет (Socket), 2 байта. Объявляет сокет, который сервер использует для
приема запросов на свои услуги.
□ Промежуточная сеть (Intermediate Network), 2 байта. Фиксирует
количество транзитов (то есть маршрутизаторов или сетевых адресов) между
сервером и системой назначения.
Проблемы SAP
На протяжении всей своей истории существования наиболее часто NetWare
критикуют за ее тесную связь с протоколом SAP и огромное количество
широковещательного трафика, который этот протокол создает в сети. NDS
сократила объем вырабатываемого трафика за счет того, что информация о
серверах хранится в базе данных службы каталогов. В случае нормального
выполнения процессов репликации NDS данные SAP реплицируются через
сеть посредством однонаправленной передачи сообщений между серверами,
что является более предпочтительным вариантом, нежели чем
широковещание. NetWare 5 еще дальше продвинулась в решении этой проблемы,
включив поддержку протокола обнаружения работающих служб (SLP, Service
Location Protocol), позволяющего автоматически настраивать сетевые ресурсы
и стандартизированного проблемной группой проектирования сети
Интернет (IETF, Internet Engineering Task Force).
Глава 13
NetBIOS, NetBEUI
и Server Message Blocks
Несмотря на то, что TCP/IP является наиболее популярным стеком
протоколов, функционирующим на Сетевом и Транспортном уровнях эталонной
модели OSI, альтернатива ему все еще существует. NetBEUI (NetBIOS
Extended User Interface, расширенный пользовательский интерфейс сетевой
BIOS) — это один из наиболее старых, но все еще использующихся
протоколов для локальных сетей, и он продолжает оставаться прекрасным
решением для сравнительно небольших сетей, так как издержки на его
обслуживание меньше, чем требуемые для более комплексных протоколов.
NetBEUI был разработан в середине 1980-х, с целью предоставить сетевые
транспортные услуги для программ, базирующихся на NetBIOS (Network Basic
Input/Output System, сетевая базовая система ввода/вывода). NetBEUI — просто
один из методов передачи данных NetBIOS по сети. Также возможна
инкапсуляция информации NetBIOS при помощи протоколов TCP/IP или IPX.
Когда Microsoft начала вводить сетевые возможности в свои операционные
системы, она остановила свой выбор на NetBEUI. Первоначально и
Windows for Workgroups и Windows NT использовали NetBEUI в качестве
протокола по умолчанию. Только позже Microsoft последовала за инициативой
остальной сетевой индустрии и стала для передачи данных NetBIOS
опираться на TCP/IP.
Причина выбора стека TCP/IP заключается в его возможностях
взаимодействия. Протоколы были изначально разработаны для того, чтобы
поддерживать обмен сообщениями между различными вычислительными
платформами и операционными системами. Вдобавок, как только технологии
локальных сетей стали глубже проникать в сферу обеспечения ведения бизнеса,
недостатки NetBEUI отчетливо продемонстрировали его непригодность для
чего-либо большего, чем небольшие сети рабочих групп.
Сегодня NetBEUI наиболее часто применяется в малых по размерам сетях
Microsoft Windows, так как он обеспечивает хорошую производительность,
фактически не требует поддержки (протокол является
самоконфигурирующимся и самонастраивающимся) и использует сравнительно немного
памяти. Несмотря на критику, ведущуюся в сетевых кругах, в случае, если
устанавливается домашняя или небольшая офисная сеть, состоящая из компью-
416
Часть III. Сетевые протоколы
теров под управлением Windows, NetBEUI все еще остается прекрасным
решением в качестве протокола.
Основной недостаток NetBEUI заключается в том, что он немаршрутизируе-
мый и в по большинству может применяться только в сетях, составляющих
один домен коллизий. Последнее вызвано тем, что протокол для выполнения
некоторых из своих основных функций полагается на широковещательные
сообщения и не имеет возможности идентифицировать сеть, в которой
расположена система. В следующих разделах рассматривается архитектура
протокола NetBEUI и его совместное использование с NetBIOS и Server Message
Blocks для обеспечения базовых сетевых услуг в сетях Windows.
NetBIOS
NetBIOS был разработан для того, чтобы предоставить стандартизованный
программный интерфейс между программными приложениями и сетевым
оборудованием и сделать более легким процесс переноса приложений с
системы на систему. Интерфейс включает пространство имен, которое в
операционных системах фирмы Microsoft до сей поры служит для идентификации
компьютеров в сети. Имя компьютера, назначаемое Windows-системе во
время установки операционной системы, в действительности является
именем NetBIOS так же, как и имена доменов и рабочих групп.
Имена NetBIOS имеют длину 16 байтов. Последний байт задействуется для
указания типа ресурса, который представляет имя. Первые 15 символов
могут быть символами алфавита или цифрами. Пространство имен NetBIOS
выполняет те же функции, что и IP-адреса, используемые стеком
протоколов TCP/IP, и адреса сети и узла, присваиваемые протоколами IPX/SPX.
Указанные адреса предоставляют собой уникальные идентификаторы для
каждого компьютера в сети, исходя из чего системы могут посылать
однонаправленные сообщения непосредственно друг другу. По этой причине
индивидуальные имена систем называются уникальными именами (unique names),
в то время как имена NetBIOS, описывающие группы систем в целях
обеспечения возможности осуществления групповой передачи, называются
групповыми именами (group names).
Главное отличие между пространством имен NetBIOS и адресами TCP/IP и
IPX/SPX заключается в том, что пространство имен NetBIOS плоское. Нет
иерархии имен, делящей сеть на отдельные подсети. 32 бита, составляющие
IP-адрес, разделяются на биты адреса сети и адреса узла, адреса IPX/SPX
также изначально имеют аналогичное разбиение. В противовес этому, имя
NetBIOS представляет собой просто имя и не содержит идентификационной
информации о сети.
В связи с тем, что NetBEUI использует для взаимодействия с другими
системами пространство имен NetBIOS, а пространство имен не имеет встро-
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
417
енного механизма для идентификации и адресации сетей, NetBEUI не
может осуществлять адресное взаимодействие с системами в других сетях. Это
единственная причина, по которой NetBEUI является ^маршрутизируемым
протоколом.
Кадр NetBEUI
Исходя из положения, что NetBIOS является программным интерфейсом
приложения (API), а не протоколом, можно сделать логический вывод, что
расширенный пользовательский интерфейс NetBIOS также не может быть
протоколом. Операционные системы Windows рассматривают его именно в
таком плане, и, тем не менее, применяют термин кадр NetBEUI (или иногда
кадр NetBIOS, или что более часто — NBF (NetBIOS frame)) для того, чтобы
описать соответствующий своему названию действующий протокол, с
помощью которого выполняется передача данных NetBEUI по сети.
^ Примечание ^Д
В отличие от TCP/IP и большинства других протоколов, для NetBIOS и NetBEUI
не существует официальных стандартов, определяющих архитектуру и
функциональные возможности. Так как NetBIOS был изначально разработан для
эксплуатации в только зарождавшихся сетях IBM PC, документ "IBM LAN
Technical Reference IEEE 802.2 and NetBIOS Application Program Interfaces" более
всего близок к стандарту. В результате за эти годы появилось множество
реализаций NetBIOS, которые несовместимы друг с другом, и их применение
ограничено определенными сетевыми продуктами.
NBF функционирует на Сеансовом, Транспортном и Сетевом уровнях
эталонной модели OSI, хотя можно привести аргументы в пользу того, что
NBF не относится к Сетевому уровню, поскольку он лишен способности к
маршрутизации, которая в большой степени определяет функциональность
отмеченного уровня. В Windows этот протокол применяется для регистрации
имен NetBIOS систем, находящихся в сети, установления сеансов связи
между ними и передачи данных, созданных несколькими различными
протоколами Прикладного уровня и интерфейсами API. Наиболее важным API-
интерфейсом является Server Message Blocks (SMB, блоки серверных
сообщений) — протокол передачи файлов и данных для принтеров, выделенных в
совместное пользование.
В модели OSI функциональные возможности протокола NBF снизу
стыкуются с интерфейсом NDIS, который обеспечивает универсальный.
интерфейс к сетевому оборудованию. Услуги Канального уровня предоставляются
кадром IEEE 802.2 Logical Link Control (LLC), который обрамляет
сообщение протокола NBF. Кадр 802.2 для пакетов NBF содержит (шестнадца-
теричное) значение F0 для точки доступа к службе назначения (DSAP) и
точки доступа к службе источника (SSAP).
418
Часть III. Сетевые протоколы
^ Примечание J|
Для получения более подробной информации о кадре LLC см. раздел
Подуровень управления логической связью" главы 8.
На своей вершине протокол либо непосредственно взаимодействует с
интерфейсом NetBIOS, либо в системах Windows NT — с интерфейсом
транспортного драйвера (TDI), который представляет собой уровень абстракций,
лежащий между интерфейсом NetBIOS и протоколами Транспортного уровня.
Функции протокола NBF разделяются на несколько различных сервисов,
которые иногда рассматриваются как отдельные протоколы. (Отсутствие
определенного стандарта делает сложным составление их точного перечня.)
Эти сервисы обеспечивают регистрацию и разрешение имен, доставку
дейтаграмм без установления соединения, функции диагностики и
мониторинга, а также доставку, основанную на сеансах. Все они имеют одинаковый
формат базовых сообщений, который приведен на рис. 13.1 и состоит из
полей, перечисленных ниже.
12345678123456781234567812345678
Длина
Команда
Данные 1
Коррелятор передачи
Разделитель
Данные 2
Коррелятор ответа
Имя назначения
Имя ист
-очника
I Номер сессии | Номер сессии
j назначения ; источника
Необязательные данные
Рис- 13-1- Формат кадра сообщения NetBIOS
□ Длина (Length), 2 байта. Указывает длину поля заголовка NBF (включая
поле длины).
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
419
□ Разделитель (Delimiter), 2 байта. Объявляет, что следующие за ним
данные предназначены для интерфейса NetBIOS.
П Команда (Command), 1 байт. Определяет функцию сообщения в
соответствии с перечисленными далее кодами управляющих команд. Сообщения
с кодами в диапазоне от 00 до 0Е передаются как кадры ненумерованной
информации, в то время как коды команд, начиная с OF и до IF,
пересылаются как протокольные блоки данных информационного формата
LLC (I-format LPDU).
• 00 — запрос добавления группового имени (ADD GROUP NAME
QUERY).
• 01 — запрос добавления имени (ADD NAME QUERY).
• 02 - конфликт имен (NAME IN CONFLICT).
• 03 — запрос статуса (STATUS QUERY).
• 07 — прекращение трассировки (TERMINATE TRACE).
• 08 — дейтаграмма (DATAGRAM).
• 09 — широковещательная передача дейтаграммы (DATAGRAM
BROADCAST).
• 0A - запрос имени (NAME QUERY).
• 0D — ответ на запрос добавления имени (ADD NAME RESPONSE).
• 0E — имя распознано (NAME RECOGNIZED).
• OF — ответ на запрос статуса (STATUS RESPONSE).
• 13 — прекращение (локальное и удаленное) трассировки (TERMINATE
TRACE).
• 14 — подтверждение приема данных (DATA AC К).
• 15 — любой не последний сегмент (DATA FIRST MIDDLE).
• 16 — последний сегмент (DATA ONLY LAST).
• 17 — подтверждение сессии (SESSION CONFIRM).
• 18 — завершение сессии (SESSION END).
• 19 — инициализация сессии (SESSION INITIALIZE).
• 1A — данные не приняты (NO RECEIVE).
• IB - ожидание приема (RECEIVE OUTSTANDING).
• 1С — продолжение приема (RECEIVE CONTINUE).
• IF — сессия активна (SESSION ALIVE).
□ Данные 1 (Datal), 1 байт. Содержит необязательные данные,
специфические для типа сообщения.
420
Часть III. Сетевые протоколы
D Данные 2 (Data2), 2 байта. Содержит необязательные данные,
специфические для типа сообщения.
□ Коррелятор передачи (Transmit Correlator), 2 байта. Представляет собой
шестнадцатеричное значение от 0001 до FFFF, используемое для связи
запроса с ответом.
□ Коррелятор ответа (Response Correlator), 2 байта. Объявляет
шестнадцатеричное число от 0001 до FFFF, которое указывает на значение,
ожидаемое в поле коррелятора передачи в ответном сообщении.
□ Имя назначения (Destination Name), 16 байтов. Определяет имя NetBIOS
системы, которой предназначено сообщение (не включается в пакеты,
доставляемые в рамках сессии).
□ Имя источника (Source Name), 16 байтов. Идентифицирует NetBIOS имя
локальной системы (не включается в пакеты, доставляемые в рамках сессии).
□ Номер сессии назначения (Destination Number), 1 байт. Указывает номер
сессии системы-получателя (не включается в служебные пакеты
дейтаграмм, диагностики и сервиса имен).
□ Номер сессии источника (Source Name), 1 байт. Указывает номер сессии
системы-отправителя (не включается в служебные пакеты дейтаграмм,
диагностики и сервиса имен).
□ Необязательное поле (Optional), переменная длина. Размещает в себе
содержательные данные, передаваемые в рамках сессии и пакетами
дейтаграмм (не включается в служебные пакеты диагностики и имен).
Сообщения NBF подразделяют на четыре сервиса: службу имен, службу
дейтаграмм, диагностический сервис и обслуживание сессий. Иногда они
рассматриваются как отдельные протоколы. Эти службы описываются в
следующих разделах.
Протокол управления именами
Служба имен, также называемая протоколом управления именами (NMP,
Name Management Protocol), предоставляет для систем сети услуги по
регистрации и разрешению имен. Во время загрузки компьютера в Microsoft-
сети система выполняет процедуру регистрации имени, разработанную для
того, чтобы убедиться, что выделенное компьютеру имя NetBIOS уникально
в пределах данной сети. Процесс разрешения имени запускается в случае,
если система пытается получить доступ к ресурсам другой системы в сети.
Из-за того, что имена NetBIOS не имеют постоянной связи с аппаратными
адресами, используемыми для взаимодействия в локальных сетях, система,
пытающаяся отправить однонаправленный трафик непосредственно другой
системе, вначале должна выяснить ее аппаратный адрес.
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
421
[^ Примечание jj
Похожие процедуры регистрации и разрешения имен выполняются, когда
трафик NetBIOS инкапсулируется протоколом IP через TCP/IP, как это определено
в стандартах для NetBIOS, опубликованных в документах RFC 1001 и 1002.
Основное различие между применением в качестве сетевого протокола в сети
Windows TCP/IP или NetBEUI заключается в том, что TCP/IP вставляет
дополнительный промежуточный этап в процедуры регистрации и разрешения имен.
На этом этапе имена NetBIOS сопоставляются с IP-адресами вместо
аппаратных адресов. Позже TCP/IP-процесс преобразует IP-адреса в аппаратные при
помощи протокола ARP (Address Resolution Protocol). Для получения более
подробной информации о разрешении имен в сетях TCP/IP см. главу 19.
Регистрация имен
Процедура регистрации имени в сети Windows стартует в процессе загрузки
каждой из систем. Для того чтобы определить, не совпадает ли имя NetBIOS
с именем другого компьютера в сети, система передает сообщение запроса
на добавление имени (ADD NAME QUERY) по функциональному адресу
NetBIOS (030000000001). Сообщение содержит значение кода команды 01 и
имя NetBIOS системы в поле имени источника (рис. 13.2).
1- Ш$ IEEE 802.2
13 Address: G0-60-97-B0-77
_J Length: 47
1 - T" Logical Link Control
_JSSAP Address: QxFO, CR
_JDSAP Address: QxFO, IG
} Unnumbered frame: UI
- з£) NetBIOS Protocol
1] Length: 44 Delimiter
-CA > 0 3-00-
-00-00-
bit = 0 (Command)
bit = 0 (Individual
: OxEFFF
Q Command: 1 (Add Name Query)
Q Option 1: 0x00
£5 Option 2: 0x00
1 ^"Fj Correlator Transmit: 0
-njName: CZ2
j Щ Calculate CRC: 0xefd82213
Response: 1
>
-00-
-01
address) |
Рис. 13.2, Сообщение ADD NAME QUERY протокола NBF
Другие системы NetBIOS в сети обязаны ответить, если им принадлежит
такое же имя, как содержится в сообщении. Если после повторных попыток
передающая система не получает ответов, имя считается
зарегистрированным. В случае, когда другая машина имеет идентичное имя, она посылает
отправителю однонаправленное сообщение ответа на запрос добавления
имени (ADD NAME RESPONSE), подобное приведенному на рис. 13.3. Это
сообщение отказывает первой системе в регистрации имени и вынуждает
пользователя назначить ей другое имя.
422
Часть III. Сетевые протоколы
|- Ё& IEEE 802.2
U Address: 00-60-97-8D
_J length: 47
j - T~logical Link Control
J SSAP Address: OxFO,
_J DSAP Address: OxFO,
_JJUnnumbered frame: UI
- 5$ NetBIOS Protocol
-C0-67 >00-60-
-97-BQ-
CR bit = 0 (Command)
IG bit = 0 (Individual
' ^length: 44 Delimiter: OxEFFF
Щ Command: D (Add Name
£5 Option 1: 0x00
Response)
П} Options 2: 0 (Unique Name)
fVi Correlator Transmit:
^33 Name: CRAIGZ
8 Response: 0
! > CRAIGZ
j Ш$ Calculate CRC: 0xeal77e23
-77-CA
address)
1
Рис. 13.3. Сообщение ADD NAME RESPONSE протокола NBF
Сообщение ADD NAME RESPONSE содержит в поле кода команды
(Command) значение 0D и запрашиваемое имя в полях имени назначения
(Destination Name) и имени источника (Source Name). Поле Datal
заполняется двоичным флагом, установленным в одно из следующих состояний:
□ 0 — процедура добавления имени продолжается;
□ 1 — процедура добавления имени задержана.
Поле Data2 определяет, используется ли запрашиваемое имя в сети в
качестве группового или уникального имени при помощи следующих
логических значений:
□ 0 — уникальное имя;
□ 1 — групповое имя.
Поле коррелятора передачи (Transmit Correlator) содержит то же число, что
и поле коррелятора ответа (Response Correlator) в сообщении ADD NAME
QUERY, благодаря чему система, принявшая сообщение, может
ассоциировать его с соответствующим запросом.
Если система, пытающаяся зарегистрировать имя, примет сообщения ADD
NAME RESPONSE от двух или более других систем (или если такое же имя
уже существует как групповое и уникальное), она вырабатывает сообщение
NAME IN CONFLICT и передает его по функциональному адресу NetBIOS.
Такое же сообщение создается, когда система получает несколько ответов
ADD NAME RESPONSE на сообщение ADD GROUP NAME QUERY или
сообщения NAME RECOGNIZED от двух или более систем в ответ на
NAME QUERY.
Сигнал NAME IN CONFLICT соответствует коду команды 02 и дублирует
имя, извлеченное из запроса, в поле имени назначения (Name Destination).
Поле имени источника (Name Source) содержит специальное имя номер 1
(name number l) NetBIOS в качестве имени передающей системы, которое
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
423
состоит из 10 байтов, заполненных нулями, следующих за 6-байтовым
аппаратным адресом системы.
§^ Примечание ^|
Если система является членом домена Windows NT, она также передает
сообщение Add Group Name Query, содержащее имя домена. Данный механизм
предназначен специально для того, чтобы гарантировать, что групповое имя не
используется другой системой в качестве уникального, в таком случае компьютер,
идентифицируемый этим именем, создает сообщение Add Name Response.
Разрешение имен
Процесс разрешения имени выполняется в том случае, если система
пытается получить доступ к другой системе NetBIOS в сети. Прежде чем
компьютер сможет отправить однонаправленные пакеты, он должен определить
аппаратный адрес системы назначения. Чтобы осуществить это, компьютер
генерирует сообщение NAME QUERY, которое передает по
функциональному адресу NetBIOS. Данное сообщение соответствует управляющему коду
ОА и включает в себя имя системы, с которой нужно установить контакт, в
поле имени назначения (Destination Name), как показано на рис. 13.4.
- Ш& IEEE 802.2
13 Address: 00-60-97-В0-77-СА >03-00-0Q-00-00~01
_J Length: 47
- "T" Logical Link Control
_J SSAP Address: OxFO, CR bit = 0 (Command)
_J DSAP Address: OxFO, IG bit = 0 (Individual address)
__3 Unnumbered frame: UI
- ~£) NetBIOS Protocol
ПЗ Length: 44 Delimiter: OxEFFF
Q Command: A (Name Query)
Q Option 1: 0x17
Q Option 2-Local Session No.: 74
Q Option 2-Type: 00 (Unique Name)
-!3 ..?P.y.y.?A5.J:P.y....j£^gJ!f.J:A.: ? Response: 7 4
i^l Calculate CRC: 0xleec7e2e
iJ - ■■: ,,. I JLJ
Рис. 13.4. Сообщение NAME QUERY протокола NBF
Поле Datal не задействуется, но поле Data2 содержит 1-байтовый код,
определяющий, какое имя было запрошено — групповое или уникальное при
помощи следующих значений в первом байте:
□ 00 — уникальное имя;
□ 01 — групповое имя.
424
Часть III. Сетевые протоколы
Системы NetBIOS используют обмен вида Name Query/Name Recognized для
двух целей: выяснения адреса другой системы или инициирования сеанса.
Второй из двух байтов поля Data2 содержит либо код 00, свидетельствующий,
что функция сообщения заключается только в определении адреса системы
через ее имя, либо число от 01 до FE, играющее роль локального
идентификатора для сессии, которую система пытается инициализировать.
Если система не получает ответа на сообщение NAME QUERY, то она
полагает, что имя в сети не существует. Любой компьютер, использующий
объявляемое имя, обязан ответить однонаправленным подтверждением NamE
RECOGNIZED на каждое принимаемое сообщение NAME QUERY.
Сообщение NAME RECOGNIZED идентифицируется значением 0Е в качестве
кода команды (рис. 13.5). Поле имени назначения (Destination Name)
содержит имя системы, которая создала сообщение NAME QUERY, а поле
имени источника (Source Name) — имя локальной системы.
- Ш$ IEEE 802.2
13 Address: 00-20-AF-37-B8-12 >00-60-97-В0-77-СА
_3 Length: 47
- Т~ Logical Link Control
_J SSAP Address: OxFO, CR bit = 0 (Command)
_J DSAP Address: OxFO, IG bit = 0 (Individual address)
_3 Unnumbered frame: UI
- £) NetBIOS Protocol
Q3 Length: 44 Delimiter: OxEFFF
Q Option 2: Local Session No. ■ 12
Q Option 2-Type: 00 (Unique Name)
ИЗ Correlator Transmit: 9 Response; 0
(2 Name: CZ1 > CZ2
Щ& Calculate CRC: 0x449123a8
Рис. 13.5. Сообщение NAME RECOGNIZED протокола NBF
Поле Datal снова не принимается во внимание, а поле Data2 начинается
таким же 1-байтовым кодом, определяющим имя как групповое или
уникальное, что и у сообщения NAME QUERY. Второй байт поля Data2
характеризует состояние имени при помощи значений, перечисленных ниже.
□ 00. Указывает на то, что система не ожидает приема сообщения SESSION
INITIALIZE от отправителя, который собирается инициализировать
сессию между двумя машинами.
□ Число от 01 до FE. Представляет собой значение, которое будет
использовать локальная система для идентификации устанавливаемой сессии.
□ FF. Фиксирует состояние, в котором система ожидает приема сообщения
SESSION INITIALIZE от отправителя, но не может инициализировать
сессию.
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
425
Протокол UDP
Сообщения, вырабатываемые службой имен NetBIOS при обмене,
передаются как кадры ненумерованной информации, в некоторых случаях
называемые кадрами типа 1 (type 1 frames). В целом, это — ненадежный сервис
NetBIOS без установления соединения, применяемый доя коротких обменов
сообщениями, в которых повторные передачи и ожидаемые ответы
исключают необходимость в подтверждении получения пакетов и гарантированной
доставке. Помимо сообщений службы имен, NBF также поддерживает
сервис транспортировки дейтаграмм, который обеспечивает доставку
небольшого количества данных при помощи таких же ненадежных передач без
установления соединения. Протокол SMB часто пользуется службой
дейтаграмм для своих транзакций вида запрос/ответ.
Эта служба иногда называется UDP (User Datagram Protocol, протокол
пользовательских дейтаграмм), что является не очень удачным названием, так как
TCP/IP имеет на Транспортном уровне протокол с точно таким же названием
(который преимущественно обеспечивает похожие услуги). В подавляющем
большинстве случаев, если в документе встречается упоминание о UDP, то
это относится к протоколу TCP/IP, а не его NetBEUI-эквиваленту.
В действительности NetBEUI UDP функционально более сравним с
протоколом IP в стеке TCP/IP, IPX в IPX/SPX от Novell, или DDP (Datagram
Delivery Protocol, протокол доставки дейтаграмм) в Apple Talk, за исключением
того, что UDP не предоставляет услуг для протоколов вышележащих
уровней. IP, например, используется для инкапсуляции данных, полученных от
различных "вышестоящих" протоколов, включая TCP, UDP (другой) и
ICMP, в то время как NetBEUI UDP переносит только данные приложений.
Сообщения DATAGRAM, служащие для передачи данных UDP, имеют
командный код 08 и не задействуют ни полей данных, ни полей корреляторов.
Поле имени назначения (Destination Name) всегда содержит имя NetBIOS
системы назначения, а поле имени источника — имя отправителя.
Необязательное поле (Optional) размещает в себе данные, предназначенные для
получателя. Также существует сообщение DATAGRAM BROADCAST,
применяемое для передачи всем системам в сети. Оно идентично сообщению
DATAGRAM за исключением того, что значение в поле кода,
идентифицирующего сообщение, равно 09, и не определено имя назначения.
Протокол диагностики и мониторинга
Протокол диагностики и мониторинга (DMP, Diagnostic and Monitoring
Protocol) — прямой аналог протокола SNMP в TCP/IP, применяется для сбора
информации о функционировании систем в сети. Типичный обмен
сообщениями DMP начинается с формирования системой сообщения STATUS
QUERY (код команды 03) и передачи его по функциональному адресу
426
Часть III. Сетевые протоколы
NetBIOS. Это сообщение содержит в поле Datal код, указывающий на тип
запроса. Определены следующие значения:
□ 00 — запрос NetBIOS 1.x или NetBIOS 2.x;
□ 01 — первичный запрос NetBIOS 2.1;
П превышающее 01 — запрос NetBIOS 2.1, ориентированный на ответы от
большого количества систем, при этом данное значение соответствует
количеству откликов, которые уже получены.
Содержимое поля Data2 задает длину буфера состояния системы. Поле
имени назначения указывает на систему, состояние которой запрашивается, а
поле имени источника — содержит имя номер 1 для локальной системы.
В ответ на сообщение STATUS QUERY компьютер получателя создает
сообщение STATUS RESPONSE (код OF), которое передается запрашивающей
системе как однонаправленное. Поле Datal указывает один из следующих
возможных статусов ответа:
□ 00 - NetBIOS 1.x или 2.0;
□ 01 или больше — NetBIOS 2.1, где числовое значение соответствует
количеству уже полученных ответов.
Поле Data2 содержит два флага. Первый бит устанавливается в 1, если
длина информации состояния превышает размеры кадра. Второй бит
устанавливается в 1, если указанная длина превышает размеры буфера
пользователя. Остальные 14 битов поля служат для отображения фактического
размера информации состояния. Поле имени назначения содержит имя
системы, принимающей сообщение, поле имени источника — имя NetBIOS
отправителя.
Сервис DMP также включает два сообщения для прекращения сетевой
трассировки, они имеют одинаковые названия. Сообщение Terminate Trace с
опознавательным кодом 07 останавливает трассировку на удаленной системе, в
то время как его одноименный близнец TERMINATE TRACE с кодом 13
завершает процесс отслеживания сообщений на обеих взаимодействующих
системах. Интерфейс NetBIOS никогда не создает сообщений последнего
типа, но распознает их, если они сгенерированы другим приложением.
Протокол управления сессией
Большая часть трафика NetBEUI, произведенная в сети Windows
типичными сетевыми задачами, распределяется в рамках сессии между двумя
машинами. Сессия имеет место, когда две системы устанавливают соединение до
того момента, как в действительности начинается передача каких-либо
данных приложения. Соединение гарантирует, что каждая из систем готова к
приему и передаче данных, а также позволяет каждой из машин управлять
потоком данных и подтверждать успешное завершение передачи. Протокол
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
427
управления сессией (SMP, Session Management Protocol) предоставляет
полнодуплексный, надежный сервис с установлением соединения между двумя
системами NetBIOS.
Создание сессии
Процесс создания сессии между двумя машинами начинается с процедуры
разрешения имени, описанной ранее в этой главе. Клиентский компьютер,
желающий инициировать сессию, посылает всем системам NetBIOS в сети
сообщение NAME QUERY, содержащее идентификатор сессии (то есть
значение, отличное от 00) в поле Data2. Сервер, которому предназначен запрос,
отвечает сообщением NAME RECOGNIZED, которое включает его
аппаратный адрес и оповещает о том, что он ожидает от отправителя
дальнейших сообщений.
^ Примечание ^Д
В большинстве случаев роль клиента и сервера в сети Microsoft не является
жестко регламентированной, так как системы могут функционировать и как
сервер, и как клиент. Ссылки на клиента и сервер, приводимые здесь, относятся к
функции компьютера в определенной транзакции. Два компьютера могут легко
поменяться своими ролями и установить сессию, инициатива создания которой
будет исходить уже от другой системы.
Перед последующим затем обменом сообщениями NBF две системы
выполняют процедуру создания сессии на уровне LLC, которая состоит из
передачи клиентом сообщения SABME (Set Asynchronous Balance Mode Extended) и
ответа сервера в виде кадра ненумерованного подтверждения (Unnumbered
Acknowledgement). Затем клиент отправляет сообщение RR (Receive Ready),
свидетельствующее о том, что он готов к приему данных (рис. 13.6).
п
Клиент
Name Query (запрос имени,
^ сообщение NBF)
Name Recognized (имя
распознано, сообщение NBF)
*
SABME (установить асинхронный
режим обмена, сообщение LLC)
Unnumbered Acknowledgment
(ненумерованное подтверждение,
сообщение LLC) ^
Receive Ready (готовность к приему
данных, сообщение LLC)
►
Session Initialize (инициализация
^ сессии, сообщение NBF)
Session Confirm (подтверждение
сессии, сообщение NBF)
Сервер
Рис. 13.6- Процедура создания сессии NBF
428
Часть III. Сетевые протоколы
После того, как сессия на уровне LLC активирована, прежде чем система
сможет начать передавать данные приложения, необходимо провести
транзакцию установки сессии NBF. Этот процесс запускается посылкой
клиентской системой серверу однонаправленного сообщения (с кодом 19)
SESSION INITIALIZE (рис. 13.7).
- I# IEEE 802.2
13 Address: 00-60-97-B0-77-CA >00-60-97-8D-C0-67
_5 Length: 18
- T* Logical Link Control
_J SSAP Address: OxFO, CR bit = 0 (Command)
J DSAP Address: OxFO, IG bit = 0 (Individual address)
_3 Information transfer frame: N(S) = 0, N(R) = 0, (POLL)
- '-$ NetBIOS Protocol
<23 Length:
m
Q Option
14 Delimiter: OxEFFF
1: 0x8F
Q l - Can Handle NO.ACK (NetBIOS 2.2)
*Ц .xxx .... = Reserved
Q .... 111. = Initial Value of Broadcast Frame
Q 1 = V2.0 or Higher
£3 Option 2-Max Data Receive Size: 1468
*Щ Correlator Transmit: 76 Response: 74
53 Session Number: 74 > 76
Q Frame Padding : (28 bytes)
Щ Calculate CRC: 0xal2a36cf
Рис. 13.7. Сообщение SESSION INITIALIZE протокола NBF
^ Примечание ^Д
После первого запроса NAME QUERY все последующие кадры обмена
сообщениями сессии являются однонаправленными протокольными блоками
данных LLC информационного формата, использующими аппаратный адрес,
полученный в результате разрешения имени. Любые тайм-ауты и повторения,
возникающие в ходе передачи, должны соответствовать IEEE 802.2 LLC.
Поле Datal этого сообщения подразделяется на группы битов,
перечисленные ниже.
□ Бит 1. Флаг, указывающий версию NetBIOS. Может принимать
следующие значения:
• 0 — NetBIOS версии 2.20 и ниже;
• 1 — NetBIOS версии выше, чем 2.20.
□ Биты 2-4. Зарезервировано.
□ Биты 5-7. Определяют длину самого большого кадра, разрешенного
протоколом MAC.
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
429
D Бит 8. Дополнительный флаг версии NetBIOS. Может принимать одно из
следующих значений:
• 0 — NetBIOS версии 1.x;
• 1 — NetBIOS версии 2.0 и выше. Это значение свидетельствует о том,
что система способна осуществлять передачу данных определенного
типа, которые не требуют подтверждений.
Поле Data2 задает длину буфера приема пользователя.
В отличие от сообщений для других служб, сообщения SMP не содержат
полей адреса назначения и адреса источника. Вместо этого они имеют 1-
байтовые поля номера назначения (Destination Number) и номера источника
(Source Number), представляющих собой уникальные идентификаторы,
которые системы задействуют для обращения друг к другу. Каждый компьютер
поддерживает свой собственный номер сессии.
В ответ на сообщение SESSION INITIALIZE вторая система создает
сообщение SESSION CONFIRM, которое и завершает инициализацию сессии
(рис. 13.8). Это сообщение имеет кодовый идентификатор 17 и формат,
идентичный структуре сообщения SESSION INITIALIZE, за исключением
того, что биты с 5 по 7 не используются.
1- М& IEEE 802.2
13 Address: 00-60-97-8D-C0-67 >00-60~
_3 Length: 18
- "Jf~ Logical Link Control
_3 SSAP Address: OxFO,
_3 DSAP Address: OxFO,
Э7-В0-
CR bit = 0 (Command)
IG bit = 0 (Individual
_3 Information transfer frame: N(S) a 0,
- ^NetBIOS Protocol
<H3 Length: 14 Delimiter: OxEFFF
^ Command: 17 (Session Confirm)
Q Option 1: 0x81
Q i -
j Q .XXX XXX. =
Q l =
Can Handle NO.ACK
Reserved
V2.0 or Higher
Q Option 2-Max Data Receive Size: 1468
1 £T) Correlator Transmit
J ^T) Session Number: 76
Q Frame Padding : (28
74 Response: 76
> 74
bytes)
Щ Calculate CRC: 0xc00bdd3c
N(R)
-77-CA 1
address) j
» 1
(NetBIOS
(POLL)
2.2)
Рис. 13.8. Сообщение SESSION CONFIRM протокола NBF
Поддержка сессии
Во время периодов отсутствия активности задействованные в сессии
компьютеры передают сообщения SESSION ALIVE дяя того, чтобы убедиться, что другая
система все еще доступна и может принимать данные (рис. 13.9). Сообщение
430
Часть III. Сетевые протоколы
SESSION ALIVE имеет значение кода команды IF. Все последующие поля
не используются.
1- Щ> IEEE 802.2
JJ Address: 00-60-97-BO
J Length: 18
- T~ Logical Link ContTol
' _J SSAP Address: OxFO,
_3 DSAP Address: OxFO,
_3 Information transfer
- 5З NetBIOS Protocol
<H} Length: 14 Delimi
1 ^Command: IF (Session
Q Option 1: 0x00
Q Option 2: 0x00
J ^T) Correlator Transmit:
^TJSession Number: 9
Q Frame Padding : (28
-77
CR
IG
-CA
bit
bit
f rame:
ter
Al
0
—
byt
Ы& Calculate CRC: 0x2dde4cc7
>00-20-AF-37-
= 0 (Command)
= 0 (Individual
N(S) = 43, N(R)
: OxEFFF
ive)
Response: 0
— >
es)
12
-B8-
-12
address) J
63
Рис. 13.9. Сообщение SESSION ALIVE протокола NBF
Передача данных
После создания сессии может начаться передача данных посредством
сообщений NBF, которые могут переносить данные, сформированные
протоколами вышележащего уровня (таким как SMB), а могут и не делать этого.
Например, когда один компьютер соединяется с другим для того, чтобы
скопировать файлы с сервера на локальный диск, системы оперируют
кадрами NBF для передачи реальных данных. Если же из приложения Windows
открывается файл на сетевом диске, то система применяет сообщения SMB
(переносимые в кадрах NBF) для доступа к диску и передачи файла.
Тип кадров NBF, задействованных для передачи данных, зависит от их
количества. Когда копируется файл, который может уместиться в одном
сообщении, передающая система отправляет данные в сообщении DATA ONLY
LAST. Когда файл разбивается на множество пакетов по причине того, что
он слишком велик по сравнению с размером кадра или размером буфера
передачи принимающего компьютера, то все сегменты доставляются в
кадрах DATA FIRST MIDDLE за исключением последнего сегмента, который
помещается в кадр DATA ONLY LAST.
Г. Примечание jj
Термин сообщение относится ко всей последовательности данных, даже если
она разбита на несколько пакетов. Все кадры, используемые службами имен,
дейтаграмм и контроля состояния, являются отдельными сообщениями, но в
отличие от них SMP может потребовать множества кадров для передачи
одного сообщения.
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
431
Кадр DATA FIRST MIDDLE идентифицируется кодом 15 (рис. 13.10). Поле
Datal содержит несколько однобитовых флагов, перечисленных ниже,
каждый из которых имеет индивидуальное назначение.
□ Биты 1-4. Не используются.
□ Бит 5. Свидетельствует о включении в кадр подтверждения приема,
логические значения соответствуют следующим состояниям:
• 0 — подтверждение не включено в кадр;
• 1 — подтверждение включено в кадр.
□ Бит 6. Не используется.
□ Бит 7. Определяет версию NetBIOS и позволяет указать, ожидается ли от
получателя кадра подтверждение приема. Может принимать следующие
значения:
• 0 — NetBIOS версии ниже 2.20 (предполагается подтверждение приема);
• 1 — NetBIOS версии 2.20 или выше (подтверждение не требуется).
□ Birr 8. Указывает на то, требуется ли от получателя сообщение RECEIVE
CONTINUE. Может находиться в одном из следующих состояний:
• 0 — сообщение RECEIVE CONTINUE не обязательно;
• 1 — сообщение RECEIVE CONTINUE необходимо.
|В1Й> IEEE 802.2
гQ Address: 00-60-97-В0-77-СА >00-20-AF-37-B8-12
Q Length: 1486
ElT" logical Link Control
■•£?) SSAP Address: OxFO, CR bit = 0 (Command)
:■• Xj DSAP Address: OxFO, IG bit - 0 (Individual address)
■Q Information transfer frame; N(S) = 23, N(R) = 50
8 §3 NetBIOS Protocol
® Length: 14 Delimiter: OxEFFF
i- Щ Option 1: 0x04
Щ xxxx xx.. • Reserved
Щ 0. = NO.ACK is Off (Earlier Version)
Щ 0 - No Request for RECEIVE CONTINUE
: S Option 2-Resync Indicator: 0
■■■■M% Correlator Transmit: 0 Response: 40
ifo Session Number: 9 > 12
Щ Data 0000
S 0010
S 0020
1 a 0030
4d 20 32 31 20 31 20 72 72 20 3a 20 30 20
30 20 73 63 6f 20 4f 20 3b 20 Od 0a 4e 20
37 20 37 37 32 2e 35 30 30 20 4d 20 32 33
20 72 72 20 3a 20 30 20 30 20 30 20 73 63
30
38
20
6f
20
34
31
20
M 21 1 rr
0 sco 0 ;
7 772.500
rr : 0 0.
2\\
—II
: 0 0
. .N 84
M 23 1
0 sco _^J
Рис. 13.10. Кадр сообщения DATA FIRST MIDDLE протокола NBF
Отправитель требует от получателя сообщение RECEIVE CONTINUE в том
случае, если пакет содержит первый сегмент, отправленный в течение сес-
432
Часть III. Сетевые протоколы
сии, или если отправитель получил ответ NO RECEIVE во время
предыдущей передачи сообщения. Если предыдущая передача была завершена, и за
время ее выполнения от принимающей системы не поступило ответов NO
RECEIVE, то отправитель не требует уведомления RECEIVE CONTINUE.
Поле Data2 представляет собой индикатор ресинхронизации со значением
0001 в случае, если это первый кадр DATA FIRST MIDDLE, следующий за
получением сообщения RECEIPT OUTSTANDING (которое свидетельствует
о способности получателя принять большее количество данных, следующих
за сообщением NO RECEIVE). Это позволяет получателю повторно
синхронизировать передаваемую последовательность с этим кадром для того, чтобы
избежать проблем с передачей последующих пакетов.
Кадр DATA ONLY LAST (рис. 13.11) обозначается кодом 15, и имеет
формат, практически идентичный формату кадра DATA FIRST MIDDLE, за
исключением битов флагов в поле Datal, которые принимают перечисленные
ниже состояния.
- ВД IEEE 802.2
fj Address: 00-60-97-ВО-77-СА >00-20-AF~37-B8-12
_3 length: 1054
r, T" logical link Control
_J SSAP Address: OxFO, CR bit * 0 (Command)
J DSAP Address: OxFO, IG bit - 0 (Individual address)
_) Information transfer frame: N(S) - 107, N(R) = 122
- §3 NetBIOS Protocol
S Jfengtb.: 14 Del imiter: QxEFFF
Щ xxxx xx.. * Reserved
Щ 0. - NO.ACK is Off (Earlier Version)
Щ 0 * No Request for RECEIVE CONTINUE
f5 Option 2-Resync Indicator: 0
!£$} Correlator Transmit: 0 Response: 40
*[B Session Number: 9 > 12
Э Data 0000: cO cO cO cO cO cO cO cO cO cO cO cO cO cO cO cO |
Щ 0010: cO cO cO cO cO cO cO cO cO cO cO cO cO cO cO cO j 4
Рис. 13.11. Кадр DATA ONLY LAST протокола NBF
□ Биты 1-4. He используются.
□ Бит 5. Указывает, включено ли в кадр подтверждение, при помощи
следующих значений:
• 0 —- подтверждение не включено;
• 1 — подтверждение включено.
□ Бит 6. Отмечает, должна ли принимающая система подтверждать прием
данных отправкой сообщения DATA ACK или в другом кадре данных, в
котором бит 5 поля Datal выставлен в 1, тем самым подразумевается, что
подтверждение включено в кадр. Возможность передачи подтверждения вместе
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
433
с данными должна поддерживаться конкретной реализацией NBF на обоих
задействованных в обмене системах. Возможны следующие значения:
• 0 — запрещается передавать подтверждение вместе с данными;
• 1 — совместная передача подтверждения и данных допускается.
□ Бит 7. Объявляет версию NetBIOS и определяет, ожидается ли от
получателя подтверждение приема данных. Имеются следующие варианты:
• 0 — NetBIOS версии ниже 2.20 (ожидается подтверждение);
• 1 — NetBIOS версии 2.20 и выше (подтверждение не требуется).
□ Бит 8. Не используется.
Получатель кадра DATA ONLY LAST должен подтвердить его прием,
ответив отправителю одним из следующих управляющих кадров:
□ DATAACK;
П NO RECEIVE;
□ RECEIVE OUTSTANDING;
П DATA FIRST MIDDLE или DATA ONLY LAST (с поддержанной
возможностью передачи подтверждения вместе с данными).
Сообщение DATA ACK (код 14) представляет собой одиночный кадр,
который не делает ничего, кроме подтверждения корректного приема сообщения
DATA ONLY LAST.
Сообщение RECEIVE CONTINUE создается системой, получившей кадр
DATA FIRST MIDDLE, в котором восьмой бит поля Datal имеет значение
1, свидетельствующее о том, что отправитель требует передачи ответа.
Сообщение RECEIVE CONTINUE служит как подтверждение принятой до
сего момента информации и указывает, что данные могут передаваться и
дальше. Само сообщение идентифицируется кодом 1С и имеет
незаполненные поля данных.
Когда система получает кадр DATA FIRST MIDDLE или DATA ONLY
LAST, который заполняет ее буфер приема, она вырабатывает сообщение
NO RECEIVE (с кодом 1А). Это сообщение содержит один флаг в поле
Datal, принимающий значения, перечисленные ниже.
□ Биты 1-6. Не используются.
□ Бит 7. Указывает версию NetBIOS и то, что подтверждение, включенное
в предыдущие переданные данные, было получено частично или не
получено вовсе. Принимает следующие значения:
• 0 — NetBIOS версии ниже 2.20;
• 1 — NetBIOS версии 2.20 и выше (подтверждение не получено).
П Бит 8. Не используется.
434
Ч$сть Hi Сетевые протоколы
Поле Data2 определяет количество байтов последнего кадра, принятых,
прежде чем буфер заполнился. Отправитель использует эту информацию для
того, чтобы продолжить передачу последовательности данных с той точки,
где получатель прервал прием.
Как только отправитель получает сообщение NO RECEIVE, он
останавливает передачу до тех пор, пока от принимающей системы не поступит
сообщение RECEIVE OUTSTANDING (код IB). Оно свидетельствует о том, что
в буфере приема принимающей системы есть место, и отправитель может
продолжить пересылку с байта, следующего сразу после последнего байта,
прием которого был подтвержден, определенного в поле Data2.
Завершение сессии
Когда клиентская система хочет завершить сессию с сервером, она передает
сообщение SESSION END с отличительным кодом 18 (рис. 13.12). Поле Datal
этого сообщения не заполняется, а поле Data2 содержит описание причины,
по которой сессия прекращается. Возможны следующие условия:
П 00 — нормальное завершение сессии (например, вызванное командой
приложения);
П 01 — аварийное завершение сессии (вследствие тайм-аута или по иным
причинам).
1- 4а) IEEE 802.2
13 Address: 00-60-97-ВО
_3 Length: 18
- Т~Logical Link Control
JJSSAP Address: OxFO,
J) DSAP Address: OxFO,
^ Information transfei
- з£) NetBIOS Protocol
G3 j-en,gth: l,jDelimj
N Q Option.1: 6x00
Щ Option 2-Terminatior
II ^B Correlator Transmit:
|| 23 Session Number: 10
Щ Frame Padding : (28
-77
CR
IG
-CA
bit
bit
% f rame:
ter
: 0>
>00-
-10-5A-10-
■ 0 (Command)
- 0 (Individual
N(S)
cEFFF
l Indicator: 0
0
—
byt
&$ Calculate CRC: 0xa9775dl6
Response:
— >
es)
44
■ 7, N(R)
(Normal S
0
-6E-93
address) 1
= 6, (POLL)
session End) j
Рис. 13.12. Сообщение SESSION END протокола NBF
Протокол SMB
В некоторых случаях непосредственно сам кадр NBF является полезными
данными пакета. Например, когда Windows-система осуществляет доступ к
файлу, расположенному на диске другой системы, файл передается в кадрах
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
435
данных NBF. Тем не менее, сообщения NBF могут также переносить
сообщения протокола вышележащего уровня. Server Message Blocks (SMB, блоки
серверных сообщений) —- это протокол Прикладного уровня, который
редиректор Windows (модуль, отвечающий за отправку запросов приложений к
определенным сетевым ресурсам) привлекает для выполнения множества
задач по управлению файлами и аутентификации на удаленных системах.
Например, перед копированием на локальный диск файла с сетевого диска,
предоставленного в совместное пользование, две системы вовлекаются в
обмен сообщениями SMB, в ходе которого проверяются права пользователя на
доступ к ресурсу и создается сессия с общим ресурсом.
^ Примечание ^Д
Сессия, учрежденная на Прикладном уровне протоколом SMB, не зависит от
других сессий, рассмотренных ранее в этой главе: сессии NBF и сессии LLC.
Все три процесса создания сессии должны быть завершены, прежде чем две
сетевые Windows-системы смогут передавать данные приложения.
Сообщения SMB
Сообщения SMB не ограничены исключительно парным применением с
NetBEUI, но они тесно связаны с NetBIOS. Когда сеть Windows использует в
качестве сетевого протокола TCP/IP, кадры NetBT (NetBIOS через TCP/IP)
обрамляют сообщения SMB. В сети NetBEUI сообщения SMB переносятся
внутри следующих типов сообщений NBF:
□ DATAGRAM;
□ DATAGRAM BROADCAST;
□ DATA FIRST MIDDLE;
□ DATA ONLY LAST.
Существует несколько десятков сообщений SMB, распределенных в четыре
основные категории.
□ Управление сессией. Предназначены для установления и разрыва
соединения с выделенным для совместной работы ресурсом, расположенным
на сервере.
□ Доступ к файлам. Служат для доступа и управления файловой системой
диска, предоставленного в совокупное пользование на удаленном сервере.
□ Сервис печати. Задействуются для постановки задач печати, созданных
локальными приложениями, в очередь на удаленном сервере.
□ Сервис сообщений. Оказывает услуги по переносу сообщений между
системами в сети.
436
Часть III. Сетевые протоколы
Каждое сообщение SMB включает в себя 1-байтовое поле кода, которое
идентифицирует функцию сообщения, в соответствии со значениями,
перечисленными в табл. 13.1.
Таблица 13.1. Коды команд протокола SMB
Команда
CREATEJDIRECTORY
DELETEJDIRECTORY
OPEN
CREATE
CLOSE
FLUSH
DELETE
RENAME
QUERYJNFORMATION
SETJNFORMATION
READ
WRITE
LOCK_BYTE_RANGE
UNLOCK_BYTE_RANGE
CREATEJTEMPORARY
CREATEjsJEW
CHECKJDIRECTORY
PROCESS_EXIT
SEEK
LOCK_AND_READ
WRITE_AND_UNLOCK
READ_RAW
READJ/IPX
READ_MPX_SECONDARY
WRITE_RAW
WRITEJ/IPX
WRITE_COMPLETE
SETJNFORMATION2
QUERYJNFORMATION2
LOCKING_ANDX
TRANSACTION
Ко,
oo"
01
02
03
04
05
06
07
08
09
0A
0B
ОС
0D
0E
OF
10
11
12
13
14
1A
1B
1С
1D
1E
20
22
23
24
25
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
437
Таблица 13.1 (продолжение)
Команда Код команды
TRANSACTION_SECONDARY
IOCTL
IOCTL_SECONDARY
COPY
MOVE
ECHO
WRITE_AND_CLOSE
OPEN_ANDX
READ_ANDX
WRITE_ANDX
CLOSE_ANDJTREE_DISC
TRANSACTION2
TRANSACTION2_SECONDARY
FIND_CLOSE2
FINDJMOTIFY_CLOSE
TREE_CONNECT
TREEJDISCONNECT
NEGOTIATE
SESSION_SETUP_ANDX
LOGOFF_ANDX
TREE_CONNECT_ANDX
QUERYJNFORMATIONJDISK
SEARCH
FIND
FINDJJNIQUE
NTJRANSACT
NTJRANSACT_SECONDARY
NT_CREATE_ANDX
NT_CANCEL
OPEN_PRINTJFILE
WRITE_PRINTJFILE
CLOSE_PRINTJFILE
GET_PRINT_QUEUE
SEND MESSAGE
26
27
28
29
2A
2B
2C
2D
2E
2F
31
32
33
34
35
70
71
72
73
74
75
80
81
82
83
АО
A1
A2
A4
CO
C1
C2
C3
DO
438
Часть III. Сетевые протоколы
Таблица 13.1 (окончание)
Команда
SEND_BROADCAST
FORWARDJJSERJSJAME
CANAEL^FORWARD
GETJMACHINEJSJAME
SEND_MULTIBLOCK^MESSAGE
END_MULTIBLOCK_MESSAGE
MULTIBLOCKJ/IESSAGEJTEXT
READ_BULK
WRITE_BULK
WRITE BULK DATA
Код команды
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
Помимо кода команды, каждое сообщение содержит 1-байтовое поле Flags
(флаги) и 2-байтовое поле Flags2 (флаги 2). Эти поля включают
информацию о сообщении и возможностях системы, создавшей его, а также о том,
было ли сообщение послано сервером в ответ на запрос клиента. Под
возможностями системы подразумевается поддержка длинных имен файлов и
расширенных атрибутов, в частности, различает ли система символы
различных регистров в путях файлов.
Флаг, несущий информацию о том, является ли сообщение ответом,
включен в структуру сообщения вследствие того, что не для каждой команды
SMB существуют отдельные сообщения запроса и ответа. Система,
получившая команду SMB, которая требует выполнения определенных действий,
обычно отправляет ответ с тем же кодом команды, что и у исходного
сообщения, и с какими-либо признаками успеха или неудачи завершения
вызванной процедуры. Флаг ответа устанавливается тогда, когда нужно
гарантировать, чтобы получатель этого сообщения ассоциировал его с
предыдущим своим запросом.
Остальные поля сообщения варьируются в зависимости от его типа и роли.
Обмен сообщениями SMB
Сообщения SMB обеспечивают услуги сетевого взаимодействия для
Windows-систем. Сами они не выполняют транзакции целиком. В ходе
типичного процесса клиент/сервер в сети NetBEUI, такого как доступ с
рабочей станции к файлу на диске, предоставленном в совместное
использование, на различных этапах процедуры осуществляется обмен сообщениями
LLC, NBF и SMB. Показательный пример на рис. 13.13 демонстрирует
последовательность пакетов, выработанных в течение одной транзакции, в
ходе которой система Windows открывает при помощи текстового редактора
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
439
Wordpad файл Autoexec.bat, расположенный на совместно задействуемом
диске другой системы.
|щНш!ЗШ0шВ
, . ^ шШШШШШшШШаЙШШШШШШШШШШШШШШШШШ
|Г 2 cz5 cz2 NetBIOS Cmd: E (Hame Recognized). CZ5 >C22
|Г 3 cz2 czS LLC Sap OxFO > OxFO (Command)
Г 4 cz5 cz2 LLC Sap OxFO > OxFO (Response)
Г5 cz2 czS LLC Sap OxFO > OxFO (Command)
Г 6 cz5 cz2 LLC Sap OxFO > OxFO (Response)
f 7 cz2 czS NetBIOS Cmd: 19 (Session Initialize), 74 >76
Г 8 czS cz2 NetBIOS Cmd: 17 (Session Confirm). 76 >74
Г 9 czS cz2 LLC Sap OxFO > OxFO (Response)
Г 10 cz2 czS LLC Sap OxFO > OxFO (Response)
Pllcz2 czS SMB C*Negotiate,Dialect[6]-NT LH 0.12
Г 12 cz5 cz2 LLC Sap OxFO > OxFO (Response)
riSczS cz2 SMB R-Negdtiate.Selected Dialect*-5
Г 14 cz2 cz5 LLC Sap OxFO > OxFO (Response)
Г15сг2 czS SMB C»Session_Setup+X,Account-CRAIGZ, XCmd«Tree_Connect+X,Server->\CZ5\C
Г16сг5 cz2 LLC Sap OxFO > OxFO (Response)
Г17сг5 cz2 NetBIOS Cmd: 14 (DataAck), 76 >74
Г 18 cz2 cz5 LLC Sap OxFO > OxFO (Response)
Г19 czS cz2 SMB ' R»Seesion_Setiip+X, XCmd*Tree_Connect+X,Type»A:
P20cz2 cz5 LLC Sap OxFO > OxFO (Response)
F21cz2 czS SMB C»Open+X, Name-autoexec; bat
Г 22 cz5 cz2 LLC Sap OxFO > OxFO (Response)
Г23сг5 cz2 SMB R-Open+X,FID«0x41.File Size-0x20
Г 24 cz2 cz5 LLC Sap OxFO > OxFO (Response)
Г25сг2 cz5 SMB OReadJfei*/FID-0x41 .Read 4096 at 0x0
Г 26 cz5 cz2 LLC Sap OxFO > OxFO (Response)
Г27сг5 cz2 NetBIOS Cmd: 16 (Data Only Last), 76 >74
Г28сг2 cz5 NetBIOS Cmd: 14 (DataAck). 74 >76
Г 29 czS cz2 LLC Sap OxFO > OxFO (Response)
Г\30сг2 czS SMB ; C-Close_File,FID»0x41 .
Г 31 czS cz2 LLC Sap OxFO > OxFO (Response)
Г32сг5 cz2 SMB R*CldseL.File
П33сг2 cz5 LLC Sap OxFO > OxFO (Response)
Г 34 cz2 -czS SMB ; C»Tree_Di«connect
ГЗБсгВ cz2 SMB R-Tree_Disconnect
Г36сг2 czS NetBIOS Cmd: 14 (DataAck), 74 >76
|Г37сг5 cz2 LLC Sap OxFO > OxFO (Response)
Рис. 13.13. Протоколы LLC, NBF и SMB работают сообща, чтобы обеспечить
Windows-системам их сетевые возможности
Последовательность пакетов, полученная в ходе обмена сообщениями,
приведена ниже.
1. Пакеты 1-2. Компьютер с NetBIOS-именем CZ2 отправляет в сеть
сообщение NAME QUERY протокола NBF для того, чтобы определить
расположение компьютера CZ5 и разрешить его имя в аппаратный адрес. CZ5 отвечает
сообщением NAME RECOGNIZED, содержащим запрашиваемый адрес.
2. Пакеты 3-6. CZ2 инициализирует сессию LLC с CZ5 на Канальном
уровне.
3. Пакеты 7-10. CZ2 учреждает сессию NBF с CZ5, и обе системы
посылают сообщения RECEIVE READY протокола LLC с целью подтверждения
своей готовности к последующим передачам. В ответ на прием всех
последующих сообщений также передается ответ RECEIVE READY:
4. Пакеты 11-14. CZ2 отправляет CZ5 SMB-сообщение NEGOTIATE (код
команды 72), содержащее перечисление диалектов протокола, которые он
понимает (рис. 13.14). CZ5 откликается порядковым номером диалекта,
который он выбрал ( рис. 13.15).
440
Чисть
♦ т
-8
802.2: Address: 00-60-97-B0-77-CA
LLC: Sap OxFO > OxFO (Command)
NetBIOS: C*d: 16 (Data Only Last),
Server Message Block Protocol
_J Error Class:0 - Success; Error
J Flags: Case Sens,Request
_J 2nd Flags:Na*ing«DOS8.3,Err=DOS,Str=ASCII
_J IDs in SMB:
J Tree ID
_J Caller's Process ID
^Unauthenticated User ID
J Multiplex ID
_J Multiplex ID
>00-60-97-8D-C0-67
74 >76
Code: Success
0 (0x0)
5597 (0xl5DD)
0 (0x0)
64770 (0xFD02)
64770 (0xFD02)
_J) Word Count of Parameter: 0
J Negotiate BYTE LENGTH(2 bytes)+PARAMETERS(119 bytes):
_JJ Byte Count of Data: 119
_J Dialect Entry [1]
J Dialect Entry [2]
_} Dialect Entry [3]
_3 Dialect Entry [4]
_J Dialect Entry [5]
J Dialect Entry [6]
PC NETWORK PROGRAM 1.0
MICROSOFT NETWORKS 3.0
DOS LM1.2X002
DOS LANMAN2.1
Windows for Workgroups
NT LM 0.12
3.1a
) Calculate CRC: 0x988566d6
Рис. 13.14. Сообщение-запрос NEGOTIATE протокола SMB
IS
802.2: Address: 00-60-97-8D-C0-67
LLC: Sap OxFO > OxFO (Command)
NetBIOS: Cmd: 16 (Data Only Last),
Server Message Block Protocol
Hi Command: 114 - Negotiate
Щ Error Class:0 - Success; Error
Q Flags: Case Sens,Response
Ш 2nd Flags:Na»ing»DOS8.3,Err»DOS,Str»ASCII
_J IDs in SMB:
j_3 Tree ID
_J Caller's Process ID
__J Unauthenticated User ID
_} Multiplex ID
_5 Multiplex ID
>00-60-97-BO-77-CA
76 >74
Code: Success
0 (0x0)
5597 (OxlSDD)
0 (0x0)
64770 (0xFD02)
64770 (0xFD02)
_3 Word Count of Parameter: 17
+ J Security Mode: User.+ Encrypt passwords
_3 Max Pending Mpx Requests: 2
_J Max VCs in Client & Server: 1
J Max Transmit Buffer Size: 2920 (0xB68)
J Max Raw Buffer Size: 65536 (0x10000)
J) Unique Session Key: 2147616588 (0x8002074C)
+ _3 Server Capabi1i t ies: Raw,Mpx,C_FIND,
13 System Time of the Server: 01-Jul-1999 21:30:44
_3 Current Time Zone at Server: 240
"% Encryption Key Length: 8
_} Negotiate BYTE LENGTH(2 bytes)+PARAMETERS(8 bytes):
_3 Byte Count of Data: 8
_J Encryption Key: (8 bytes in highligh area)
} Calculate CRC: 0x82d3dc64
Рис. 13.15. Сообщение-ответ NEGOTIATE протокола SMB
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
441
5. Пакеты 15-20. CZ2 уведомляет CZ5 SMB-сообщением Session_Setup_Andx
(код 73) о своем пользовательском имени, имени домена и пароле для
аутентификации на сервере. Возможность Andx протокола SMB позволяет
системам включать в одно сообщение группу команд. В данном случае
пакет содержит вторую команду TREE_CONNECT__ANDX (код 75),
указывающую совместно разделяемый ресурс компьютера CZ5, к которому хочет
подключиться CZ2 (рис. 13.16). CZ5 отправляет NBF-сообщение DATA
АСК, подтверждающее передачу, и SMB-ответ, говорящий об успешном
создании сессии и соединении с деревом каталогов.
Ш& 802.2: Address: 00-60-97-В0-77-СА >00-60-97-8D-C0-67
Т"ЫС: Sap OxFO > OxFO (Command)
^NetBIOS: Cmd: 16 (Data Only Last), 74 >76
fkj Server Message Block Protocol
_J) Command: 115 - Session_Setup+X
+ ^ Error Class:0 - Success; Error Code: Success
+ ^ Flags: Case Sens,Canoni,Request
+ _J 2nd Flags:Naming«DOS8.3,Err«DOS,Str«ASCII
+ _JTID - 0x0000, FID * OxlBdd, UID « 0x0001, MID * 0xfd02
-J) Multiplex ID: 64770 (0xFD02)
_3 Word Count of Parameter: 13
_J Secondary Command: 117 - Tree_Connect+X
_3 Reserved (MSB): 0
_J Offset to Next Command: 125 (0x7D)
_J Consumer's Max Buffer Size: 2920
_JJMax Mpx pending Requests: 2
_J Vc Number(0«lst,Non0-more): 0
_J Unique Session Key: 2147616588 (0x8002074C)
_J Case Insensitive Password Size: 24
_J Case Sensitive Password Size: 0
_J Reserved (Must be Zero): 0 (0x0)
+ _J Client Capabilities:
(- _J Session_Setup+X BYTE LENGTH(2 bytes)+PARAMETERS(64 bytes):
_3 Byte Count of Data: 64
J Case Insensitive Password: (24 bytes in highligh area)
_J Case Sensitive Password: (0 bytes in highligh area)
^ Account Name: CRAIGZ
_J) Client's Primary Domain: NTDOMAIN
_J) Client's Native OS: Windows 4.0
___3 Client's Native LAN Mgr: Windows 4.0
+ _3 Tree_Connect+X WORD LENGTH(1 byte)+PARAMETERS(4 words):
- _J Tree_Connect+X BYTE LENGTH(2 bytes)+PARAMETERS(15 bytes):
__3 Byte Count of Data: 15
V?as?yP.?^.:!!.j.....j-iy.!f.??...A^....^.^!;!lA^^ area)
___3 Service Name: ?????
ЭNo More Secondary Command.
1J) Calculate CRC: 0x78da5819
Рис. 13.16. Сообщение SESSION_SETUP_ANDX протокола SMB,
содержащее команду TREE_CONTEXT_ANDX
442 Часть III. Сетевые протоколы
6. Пакеты 21-24. CZ2 вьщает CZ5 SMB-команду OPEN_ANDX (код 2d), в
которой указано имя файла, который необходимо открыть: Autoexec.bat
(рис. 13.17). CZ5 посылает отклик, свидетельствующий об успешном
завершении выполнения команды и возвращающий назначенный файлу
Autoexec.bat дескриптор (FID), а также отражающий информацию о
требуемом файле, такую как его размер и дата последней модификации
(рис. 13.18). CZ2 использует FID, чтобы ссылаться на файл в
последующих сообщениях.
+ 1^802.2: Address: 00-60-97-8D-C0-67 >00-60-97-В0-77-СА
+ T"LLC: Sap OxFO > OxFO (Command)
+ ^NetBIOS: Cmd: 16 (Data Only Last), 76 >74
- Jkj Server Message Block Protocol
_J Command: 45 - Open+X
+ _3 Error Class:0 - Success; Error Code: Success
+ _3 Flags: Case Sens,Response
+ _J 2nd Flags:Naming=Advanced,Err=DOS,Str=ASCII
+ _JTID = 0xc802, PID = OxlBdd, UID = 0x0000, MID = 0x0782
- _3 Multiplex ID: 1922 (0x782)
_3 Word Count of Parameter: 15
_3 Secondary Command: 255 — NONE
_J Reserved (MSB) : 0
Jb Qjj.gg.!r....^9_..jJ!g*.!r.....g!=^j^--.. ° (°x°)
♦ __3 Open File Attribute: Normal File
_J Last Written Time: 31-Jan-1999 13:52:50 Eastern Standard Time
_3 Current File Size: 32 (0x20)
+ _]J Granted Access Mode: Open"R,Deny"!write,Locality*unknown
_3 File Type: 0 - Disk File/Directory
+ _JJDevice State: Read=byte stream,Type«Byte stream,Consumer end,R/W Block
+ _3 Open Function: file existed and was opened,Opened by another user
J Server Unique File ID: 0 (0x0)
_3 Reserved (Must be Zero): 0
!- _J Open+X BYTE LENGTH(2 bytes)+PARAMETERS(0 bytes):
_3 Byte Count of Data: 0
_3 No More Secondary Command.
1Ш Calculate CRC: 0x58aa275c
Рис. 13.18. Сообщение-отклик OPEN_ANDX протокола SMB
7. Пакеты 25-26. CZ2 отправляет CZ5 SMB-сообщение READJRAW (код 1А),
содержащее дескриптор файла Autoexec.bat, позицию в файле, откуда будет
начато чтение (в данном случае 0, начало файла) и максимальное
количество байтов, которые должны быть возвращены (рис. 13.19).
8. Пакеты 27-29. CZ5 считывает файл со своего локального диска, согласно
полученным указаниям, и передает его CZ2 в одном кадре DATA ONLY
LAST протокола NBF (рис. 13.20). Если файл слишком велик для того,
чтобы уместиться в одном кадре, система может сгенерировать
необходимое количество кадров DATA FIRST MIDDLE, за которыми будет
следовать кадр DATA ONLY LAST с последними битами файла. CZ2
реагирует NBF-сообщением DATA ACK.
Глава 13. NetBIOS, NetBEUI и Server Message Blocks
443
T
Ш
M&
802.2: Address: 00-60-97-B0-77-CA >00-60-97-8D-C0-67
LLC: Sap OxFO > OxFO (Command)
NetBIOS: Cmd: 16 (Data Only Last), 74 >76
Server Message Block Protocol
_J Command : 2 6 - Read__Raw
^ Error Class:0 - Success; Error Code: Success
^ Flags: Case Sens,Request
_J) 2nd Flags:Naming=Advanced,ErreDOS,Str-ASCII
JTID - 0xc802, PID - 0xl5dd, UID - 0x0000, MID - 0x0982
_J Multiplex ID: 2434 (0x982)
^ Word Count of Parameter: 8
_j) Offset in File to begin Read: 0 (0x0)
J Max Bytes to Return: 4096
_J) Min Bytes to Return: 0
__3 Wait Time(ms) if Named Pipe: 0 (0x0)
_J Reserved: 0
J)Read__Raw BYTE LENGTH(2 bytes)+PARAMETERS(0 bytes):
J Byte Count of Data: 0
Calculate CRC: 0x36d7475c
Рис. 13.19. Сообщение READJRAW протокола SMB
+ 1$ 802.2: Address:
+ TLLC: Sap OxFO -
23 Length: 14 Delimiter: OxEFFF
Command: 16 (Data Only Last)
Option 1: OxOC
xxxx xx.. ■ Reserved
0. = NO.ACK is Off (Earlier Version)
0 - No Request for RECEIVE CONTINUE
Option 2-Resync Indicator: 0
M% Correlator Transmit: 40 Response: 40
f Session Number: 76 > 74
Data 0000: 6f 20 6f 66 66 Od 0a 61 6c 69 61 73 20 2f 72 20 | о off..alias /r
0010: 62 6f 6f 74 6c 69 73 74 Od 0a Od 0a | bootlist
Щ Calculate CRC: 0xfdb3f21c
00-60-97-8D-C0-67 >00-60-97-B0-77-CA
—> OxFO (Command)
Рис. 13.20. Сообщение DATA ONLY LAST протокола SMB
9. Пакеты 30-33. CZ2 отправляет SMB-сообщение CLOSE (код команды 04),
которое требует от CZ5 закрыть файл, указывая для файла Autoexec.bat все
тот же самый дескриптор (рис. 13.21). CZ5 отчитывается, информируя
об удачном завершении выполнения команды.
10. Пакеты 34-37. CZ2 вырабатывает SMB-сообщение TREEJMSCONNECT
(код команды 71), требующее разъединения с совместно используемым
ресурсом (рис. 13.22). CZ5 отвечает, свидетельствуя об успешном разрыве
соединения, и передает заключительное в рассмотренной транзакции
сообщение DATA ACK протокола NBF.
444
Часть III. Сетевые протоколы
Щ) 802.2: Address: 00-60-97-В0-77-СА >00-60-97-8D-C0-67
T"LLC: Sap OxFO > OxFO (Command)
NetBIOS: Cmd: 16 (Data Only Last), 74 >76
Server Hessage Block Protocol
J Command: 4 - Close_File
_J Error Class:0 - Success; Error Code: Success
jj Flags: Case Sens,Request
j_J 2nd Flags:Naming-Advanced,Err«DOS,Str«ASCII
1JJTID - 0xc802, PID - 0xl5dd, UID - 0x0000, MID - 0x0a02
J) Multiplex ID: 2562 (0xA02)
. j Word Count of Parameter: 3
_5 Last Written Time: Null
J)Close_File BYTE LENGTH(2 bytes)+PARAMETERS(0 bytes):
_J Byte Count of Data: 0
Calculate CRC: 0x3631f05c
Рис. 13.21. Сообщение CLOSE протокола SMB
74 >76
Code: Success
802.2: Address: 00-60-97-B0-77-CA >00-60-97-8D-C0-67
LLC: Sap OxFO > OxFO (Command)
NetBIOS: Cmd: 16 (Data Only Last),
Server Hessage Block Protocol
J Command: 113 - Tree_Disconnect
♦' _JJ Error Class:0 - Success; Error
♦ ^J Flags: Case Sens,Request
♦ _3 2nd Flags:Naming-Advanced,Err«DOS,Str*ASCII
,t _jTID - 0xc803, PID - 0x0000, UID - 0x0000, MID - 0x1082
- J) Multiplex ID: 4226 (0x1082)
_3 Word Count of Parameter: 0
-, j/J Tree_Disconnect BYTE LENGTH(2 bytes)+PARAMETERS(0 bytes):
3 Byte Count of Data: 0
Mi) Calculate CRC: 0xcl73ffa4
Рис. 13.22. Сообщение TREEJDI SCON N ЕСТ протокола SMB
ЧАСТЬ IV.
СЕТЕВЫЕ ОПЕРАЦИОННЫЕ
СИСТЕМЫ
Глава 14
Windows NT
и Windows 2000
Co времени первоначального выпуска в 1993 г. операционная система
Microsoft Windows NT постепенно стала самой популярной сетевой
операционной системой на рынке, заняв место Novell NetWare. Удобный
интерфейс и простота в эксплуатации этой системы позволили даже сравнительно
неопытным пользователям монтировать и обслуживать локальные сети.
Поэтому в настоящее время сетевые технологии —- есть едва ли не
повсеместная часть любого бизнеса. Windows 2000 — последняя версия операционной
системы на базе NT, в ней изжиты некоторые недостатки Windows NT. Она
создавалась как операционная система, одинаково удобная для
использования на всех типах компьютеров, от отдельных рабочих станций до самых
мощных серверов.
Роль Windows NT/2000 на рынке
операционных систем
Традиционное преимущество Novell NetWare заключается в удобствах,
обеспечиваемых совместным доступом к файлам и принтерам, стремление к
которому и было изначально причиной создания компьютерных сетей. Windows
NT предоставляет как указанную возможность (хотя и нельзя спорить:
реализованную не настолько хорошо, как в Novell NetWare), так и делает
особый акцент на применении в качестве эффективной платформы для
выполнения прикладных программ.
В отличие от Novell NetWare, которая основана строго на принципе
клиент/сервер и требует для сервера специальной версии ОС, Windows NT
оперирует одноранговой моделью, и здесь каждый компьютер может выполнять
функции как клиента, так и сервера. В дополнение, знакомый интерфейс
Windows упрощает использование этой ОС и для пользователей и для
разработчиков программного обеспечения. Хотя приложения для Windows NT
выходили иногда с некоторой задержкой, они были удобнее в установке и
администрировании, чем аналогичные продукты для Novell NetWare.
448
Часть IV. Сетевые операционные системы
Ко времени появления Windows NT, при инсталляции Novell NetWare на
сервер большинство настроек необходимо было делать вручную, то есть
требовалось изменять конфигурационные файлы сервера для загрузки нужных
драйверов. В Windows NT, как и в большинство приложений для нее,
создатели встроили автоматизированную программу установки. В то время как
процесс установки Novell NetWare в ЛВС требовал значительных
специальных знаний, обнаружилось, что более или менее сообразительные
пользователи могут инсталлировать Windows NT и приложения для нее с
минимальными сложностями. Фактически, очень вероятно, что именно эти качества
Windows NT подтолкнули фирму Novell — разработчика Novell NetWare — к
началу работы по созданию более автоматизированной программы
начальной загрузки ОС.
Несмотря на то, что Windows NT потребовалось несколько лет для
совершенствования, и столько же большому количеству независимых
разработчиков для начала написания приложений для нее, не дожидаясь этого,
администраторы многих сетей начали применять Windows NT в сетях на основе
Novell NetWare. Более приемлемая цена и возможность сосуществования с
NetWare легко позволяли экспериментировать с новой ОС и оценивать ее во
всех проявлениях. Со временем Windows подменила DOS в персональных
компьютерах, a Windows NT стала естественным выбором для
профессиональных рабочих станций и мощных серверов. С момента же выхода
Windows 95 разработчики программного обеспечения получили возможность
создания 32-разрядных приложений, совместимых с обеими ОС.
Другим важным фактором, способствовавшим широкому распространению
Windows NT, было то, что она ориентировалась на протокол TCP/IP как на
стандартный. С ростом популярности Интернета на рынке созрела
потребность в ОС, позволяющей работать с приложениями для ЛВС и Интернет-
приложениями, которая была бы более проста в эксплуатации, чем UNIX, и
Windows NT прекрасно удовлетворяла этим требованиям. В конечном итоге
большинство серверов баз данных стали задействовать Windows NT, и
общность платформ клиента и сервера придала новый импульс разработке
программ. Завоевав репутацию сервера приложений, Windows NT быстро стала
наиболее ходовой сетевой ОС, практически вытеснив NetWare из
коммерческих сетей.
Сегодня большинство серверов вновь создаваемых ЛВС используют Windows
NT, и система прокладывает себе дорогу на рынок рабочих станций. До
выхода Windows 2000 фирма Microsoft рекомендует устанавливать Windows 95 и
98 на средних по производительности рабочих станциях и применять
версию Windows NT Workstation для профессиональных приложений. В скором
будущем все эти роли будет выполнять Windows Millenium — готовящаяся к
выпуску последняя версия ОС семейства Windows 9x, а также Windows 2000
Professional — более совершенная версия Windows NT Workstation.
Глава 14. Windows NT и Windows 2000
449
Версии
Первая версия Windows NT (получившая номер 3.1 для соответствия
тогдашней версии Windows) была представлена в 1993 г. Это была попытка создания
"с нуля" новой 32-разрядной ОС, которая не имела бы ничего общего с DOS.
Хотя интерфейс и был очень похож на интерфейс Windows 3.1, Windows NT
была качественно новой ОС по многим принципиальным направлениям.
Обратная совместимость с существующими программными средствами всегда
была фактором, сдерживавшим прогресс в развитии операционных систем, и
как только фирма Microsoft приняла решение о том, что поддержка уже
созданных программ не является приоритетом для Windows NT, появилась
возможность радикальных изменений в структуре ОС.
Различные версии Windows NT можно разделить на три поколения по виду
пользовательского интерфейса. Первое поколение состоит из Windows NT
версий 3.1, 3.5 и 3.51, все три из которых имели схожий интерфейс в стиле
Windows 3.1. Версия 3.1 использовала в качестве стандартного протокола
NetBEUI, что немедленно ограничило ее распространение только
относительно небольшими сетями. Поддержка протоколов TCP/IP и IPX была
возможна, но только через интерфейс STREAMS. Версии 3.5 и 3.51 сместили
акцент в сторону TCP/IP и предоставили ряд возможностей, которые в
дальнейшем стали прочно ассоциироваться с Windows NT, такие как
сервисы WINS и DCHP. В наши дни некоторые серверы все еще задействуют
Windows NT 3.51, но версии 3.1 или 3.5 являются морально устаревшим, и
на любом сервере, где они установлены, необходима замена версии ОС на
более совершенную.
Windows NT 4.0 — это ОС второго поколения, выпущенная в 1996 г. в
качестве промежуточного продукта на пути к радикальному прогрессу, который
фирма Microsoft обещала еще в 1993 году. Windows NT 4.0
продемонстрировала тот же интерфейс, что и Windows 95, и представлялась как платформа,
более ориентированная на Интернет в связи с ее интеграцией с Web-
браузером Internet Explorer и Информационным сервером сети Интернет
(Internet Information Server), соединившем в себе достоинства службы World
Wide Web, протокола FTP и сервера Gopher.
Третье поколение — это Windows 2000, давно ожидаемая ОС,
разрабатывавшаяся под кодовым названием Cairo. Интерфейс Windows 2000 — есть не
что иное, как усовершенствованный вариант интерфейса Windows NT 4.0/
Windows 95, при этом самым большим нововведением является Active
Directory — новый сервис каталогов, рассматриваемый как огромный скачок
по сравнению с прежним, основанным на принципе доменов сетевым
сервисом, который реализован в Windows NT.
450
Часть IV. Сетевые операционные системы
Коммерческие варианты
Windows NT/2000
Каждая версия Windows NT выпускалась в двух различных вариантах — для
сервера и рабочей станции. Несмотря на это, ядро ОС было практически
одинаковым в обоих случаях. Различия между разновидностями сводились в
основном к объему добавленных сервисов, поддерживаемому количеству
пользователей и, конечно, стоимости. Например, версия Windows NT 4.0
для сервера включала способность работы в качестве контроллера доменов
сети (DC, Domain Controller), а также такие службы, как DNS, WINS и
DCHP. Версия же Windows NT 4.0 для рабочей станции была лишена
подобных возможностей, хотя по-прежнему позволяла взаимодействовать с
другими рабочими станциями на основе однорангового принципа. Оба
варианта поддерживали функции Интернет-сервера с той разницей, что если
версия для сервера содержала полный пакет IIS (Internet Information Server,
информационный сервер сети Интернет), то версия для рабочей станции —
только сокращенный набор Web-служб для применения внутри
одноранговой сети, выступающий под названием Microsoft Peer Web Services.
Были также выпущены две версии Windows NT 4.0 для специальных нужд.
□ Windows NT Server Terminal Server Application. Использовалась для
комплексной доставки Windows NT на Windows-терминалы и "тонкие" клиенты.
□ Windows NT Server Enterprise Edition. Предоставляла высокоуровневым
приложениям, опирающимся на специальные механизмы распределения
памяти, поддержку симметричной мультипроцессорной обработки
данных (SMP, symmetric multiprocessing) и кластеризацию серверов.
Коммерческие варианты Windows 2000 в целом аналогичны, но выступают
под другими названиями. Windows 2000 Server предназначается серверам с
количеством процессоров не более 4, в то время как Advanced Server и
DataCenter Server поддерживают до 8 и 32 процессоров соответственно.
Версия для рабочей станции носит название Windows 2000 Professional и также
имеет некоторые серверные возможности.
Сервисные пакеты
Microsoft постоянно выпускает обновленные версии программных продуктов
для Windows NT. Фирма Novell традиционно создавала множество небольших
патчей, каждый из которых относился к отдельной версии NetWare. В отличие
от этого, обновления от Microsoft имеют вид сервисных пакетов (Service
Packs) — больших наборов накопленных дополнений и изменений,
накладываемых одновременно. Наибольшее преимущество подобного подхода
заключается в том, что все системы обновляются однообразно. Набор большого
количества разрозненных патчей предполагает возможность существования на
Глава 14. Windows NT и Windows 2000
451
отдельно взятом компьютере самых различных комбинаций программного
обеспечения, что существенно осложняет отладку и техническую поддержку
сетей. Недавно и фирма Novell начала осваивать более перспективную
методику, назвав свои обновления Support Packs (пакеты поддержки).
Сервисные пакеты Windows NT не различают при обновлении сервер от
рабочей станции и являются суммарными, то есть каждый выпуск содержит все
патчи, включенные во все предыдущие выпуски для данной версии ОС.
С указанным фактом связан главный недостаток сервисных пакетов, а
именно — их большой размер. Например, Service Pack 5 для Windows NT 4.0
имеет размер более 33 Мбайт, что делает весьма неудобной его загрузку с
использованием коммутируемой линии связи. Последний на текущий
момент сервисный пакет можно также заказать на диске CD-ROM или
получить автоматически вместе со вспомогательной информацией и
сопутствующим профаммным обеспечением. Такая возможность предусмотрена
как составляющая при подписке на сеть технической поддержки Microsoft
(Microsoft TechNet).
^ Примечание ^[
Для администраторов сетей, широко использующих Microsoft-продукты, Microsoft
TechNet осуществляет подписку на CD-ROM, которые являются бесценным
источником информации, технической поддержки и обновленных версий
программных продуктов. Ежемесячные выпуски включают шесть или более дисков CD-
ROM с Resource Kit (набор ресурсов), документацией и полной базой данных по
продуктам Microsoft, а также другими материалами. TechNet Plus представляет
собой новую сетевую сервисную службу, предоставляющую за дополнительную
плату бета-версии продуктов, которые пока еще находятся в разработке.
Сервисные пакеты обычно не исчерпываются исправлением ошибок, а
могут включать улучшенные версии системных утилит, новые функции и даже
полностью новые программы. Все компоненты инсталлируются
одновременно с помощью программы установки сервисного пакета. При загрузке
сервисного пакета с Web-сайта фирмы Microsoft (расположенного по адресу
www.microsoft.com/NTServer/all/downloads.asp) или ее FTP-сайта
(ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa), первый имеет вид
одиночного архивного самораспаковывающегося файла (например,
Sp5i386.exe для Service Pack 5 for Windows NT 4.0). После его запуска
происходит извлечение содержимого во временный каталог и стартует программа
установки сервисного пакета. Возможна простая распаковка архива без
старта программы установки, для чего запускать файл нужно с параметром /х,
как показано ниже:
SP5I386 /X
После выполнения этой команды создается каталог, содержащий файлы
дистрибутива сервисного пакета вместе со стандартной программой установки
Setup.exe.
452
Часть IV. Сетевые операционные системы
Вообще говоря, поддержание соответствия версии Windows NT компьютеров
сети современным требованиям с помощью последних сервисных пакетов —
очень удачная идея. Однако также неплохо протестировать новый пакет в
условиях контролируемой конфигурации сети или подождать пару месяцев
после даты официального релиза и выяснить, не возникнут ли какие-либо
проблемы. Несмотря на то, что Microsoft многократно тестирует сервисные
пакеты, прежде чем представить их на рынок, иногда все же возникают
неполадки. Так было, например, в случае Service Pack 2 for Windows NT 4.0.
Если принято решение устанавливать сервисный пакет, то необходимо
сделать это на всех компьютерах сети, чтобы все они использовали одинаковое
программное обеспечение.
В случае добавления новых компонентов ОС, таких как сервис
маршрутизации и удаленного доступа — Routing and Remote Access service, или любых
дополнений в систему на базе Windows NT, где уже был установлен
сервисный пакет, необходимо повторное его внедрение для гарантии обновления
всех файлов операционной системы. В отличие от этого Windows 2000 уже
поддерживает специальную функцию Service Pack Slip-Streaming, которая
позволяет скопировать файлы сервисного пакета в установочный каталог
совместного пользования и автоматически заменить на последнюю версию
любой модуль, инсталлированный новым компонентом ОС.
Между коммерческими релизами сервисных пакетов Microsoft выпускает
маленькие промежуточные патчи (hotfix), нацеленные на решение
небольших специфических проблем. Нет никакой необходимости в использовании
каждого подобного патча, так как все они будут включены в состав
следующего сервисного пакета. Главное правило заключается в том, чтобы
накладывать патч только в том случае, если система страдает именно тем
недостатком, для исправления которого он предназначен. Патчи доступны на
FTP-сайте Microsoft и имеют те же унифицированные указатели
информационного ресурса (URL, Uniform Resource Locator), что и сервисные пакеты,
и хранятся в каталогах с именами, соответствующими именам сервисных
пакетов, например, \Hotfixes-PostSP5. Прежде чем устанавливать патч,
нужно тщательно ознакомиться с прилагаемой документацией.
Когда следует заменять версию
В настоящее время все компьютеры, задействующие ОС на базе Windows
NT, как серверы, так и рабочие станции, должны быть оснащены Windows
NT 4.0 с наложенным последним сервисным пакетом или Windows 2000.
Всегда существуют сети, где версия ОС на несколько ступеней
примитивней, но это, как правило, стабильные системы с постоянными нуждами,
которые адекватно удовлетворяются данными версиями ОС, и в изменениях
нет большого смысла. Если же инсталлируются новые приложения или
обнаруживаются новые цели использования сети, поддержание версии ОС на
Глава 14. Windows NT и Windows 2000
453
современном уровне сильно облегчает усовершенствование других
компонентов системы в целом.
Самым сложным вопросом является определение времени перехода с
Windows NT 4.0 на Windows 2000. Эта проблема всесторонне обсуждалась
администраторами сетей по всему миру на протяжении всей исключительно
длительной программы разработки и тестирования новой ОС. Все
предыдущие модернизации Windows NT были делом сравнительно несложным. По
разным причинам многие сети перешли от NetBEUI к TCP/IP, выбрав его в
качестве основного протокола, но данная процедура могла происходить и
постепенно. Замена же Windows NT 4.0 на Windows 2000 есть существенно
более сложный процесс, главным образом вследствие перехода к новому
сервису каталогов (Active Directory), который применяется в Windows 2000.
^ Примечание j|
Для получения более подробной информации о структуре и использовании
Active Directory см. главу 23.
Для сетей малого и среднего размера на базе Windows NT 4.0 переход на
Windows 2000 не является необходимостью, если только нет особенной
потребности в принципиально новых возможностях, которые она содержит.
Важным соображением должно стать то, что новая ОС значительно более
требовательна к системным ресурсам, чем предыдущие версии Windows NT.
Поэтому, весьма вероятно, потребуется усовершенствование и серверов и
рабочих станций уже на аппаратном уровне. Не менее важно также
учитывать значимую кривую обучения для администраторов серверов, так как
Windows 2000 включает принципиально новую систему управления Microsoft
Management Console (MMC, консоль управления Microsoft)), которая
выполняет многие функции индивидуальных утилит Windows NT, однако
располагает свои средства управления в иных местах. К счастью, возможен
переход на Windows 2000 на постепенной основе. Сама эта операционная
система, включая новый сервис каталогов Active Directory, может
сосуществовать с сетью на базе Windows NT, что позволяет установить ее сначала на
одном сервере, а затем уже на остальных.
Обзор операционной системы
Windows NT является модульной ОС, поддерживающей все расширенные
возможности, встроенные в последние процессорные-разработки фирм Intel
и Alpha, а также снимает ограничения на объем оперативной памяти и
хранимой информации, накладываемые ОС на основе DOS. Ранние ОС, такие
как DOS, были монолитными, то есть являлись цельными функциональными
единицами, что затрудняло их улучшение и модификацию. С созданием
фирмой Microsoft операционной системы, состоящей из многих отдельных
454
Часть IV. Сетевые операционные системы
компонентов, появилась возможность легко совершенствовать и изменять
отдельные ее части, не затрагивая другие составляющие, влияющие на
уровень функционирования системы в целом.
^ Примечание ^Д
Несмотря на огромное количество новых качеств, архитектура Windows 2000
все еще очень похожа на архитектуру Windows NT, и практически все сведения,
приведенные в этом разделе, можно отнести к обеим системам.
Компоненты режима ядра
Операционная система типа Windows NT состоит из компонентов, которые
могут функционировать в одном из двух режимов: режиме ядра (kernel mode)
и режиме пользователя (user mode) (рис. 14.1). Компонент, работающий в
режиме ядра, имеет полный доступ ко всем системным ресурсам через
уровень аппаратных абстракций (HAL, hardware abstraction layer), являющийся
виртуальным интерфейсом, который связывает ядро ОС с аппаратным
обеспечением. Абстрагирование ядра ОС от аппаратного обеспечения позволяет
облегчить перенос ОС на другие аппаратные платформы. Некоторое время
существовали версии Windows NT для четырех разных типов процессоров,
однако впоследствии версии для процессоров MIPS и PowerPC перестали
выпускаться, и сегодня поддерживаются только версии для Alpha и Intel,
последняя из которых намного более популярна.
Подсистема
OS/2
Режим пользо
зате;
Подсистема
DOS/Win 16
1Я
Подсистема
Win32
""А
Режим ядра ,
k.,,.,-
Подсистема
POSIX
Подсистема
безопасности
>
| Исполняющая подсистема
Менеджер
объектов
Монитор
контроля
доступа
Менеджер
процессов
Менеджер
виртуальной
памяти
Средства
локального
вызова
процедур
Ядро
Уровень аппаратных абстракций
*
' 1
L
' У
i
Менеджер
ввода/
вывода
Аппаратное обеспечение
Рис. 14.1. Архитектура Windows NT
Глава 14. Windows NT и Windows 2000
455
Само ядро ОС отвечает за делегирование специальных заданий системному
процессору и другим устройствам. Задания состоят из процессов (process),
которые, в свою очередь, разбиты на потоки (thread), являющиеся
минимальными структурными элементами, которые ядро может передать
процессору для исполнения. Потоком называется последовательность инструкций,
которой ядро назначает определенный уровень приоритета,
предписывающий срочность ее исполнения.
Если компьютер имеет несколько процессоров, ядро ОС работает на всех
процессорах одновременно, предоставляя в совместное пользование
специальные области памяти и направляя потоки на нужные процессоры в
соответствии с заданными приоритетами.
В дополнение к уровню аппаратных абстракций (HAL) и собственно ядру
ОС, сервисы исполняющей системы (executive services) в Windows NT также
функционируют в режиме ядра. Эти сервисы состоят из компонентов,
описываемых ниже.
Менеджер объектов
Windows NT создает объекты, функционирующие как абстрактные
представления ресурсов операционной системы, таких как различные устройства и
модули файловой системы. Объект (object) содержит информацию о ресурсе,
который он представляет, и методах (methods), являющихся процедурами, с
помощью которых возможен доступ к этому ресурсу. Например, файловый
объект включает информацию об имени файла и методах, описывающих
операции, которые могут быть произведены с данным файлом (такие как
открыть, закрыть и удалить).
Менеджер объектов (Object Manager) в Windows NT для идентификации
объектов поддерживает иерархическое, глобальное пространство имен. Например,
когда система загружает драйвер устройства, работающий в режиме ядра, она
регистрирует имя этого устройства с помощью менеджера объектов
(например, \Device\CDRomO для привода CD-ROM или \Device\SerialO для
последовательного порта). Сами объекты хранятся в каталогах, напоминающих
каталоги файловой системы, которые, тем не менее, не являются частью файловой
системы Windows NT. Помимо устройств, объекты могут обозначать ссылки
на конкретные и абстрактные категории, включая следующие:
□ файлы; П потоки;
□ каталоги; □ сегменты памяти;
□ процессы; □ семафоры.
С помощью присвоения стандартного формата всем объектам, независимо
от сущности категорий, которые они представляют, менеджер объектов
предоставляет унифицированный интерфейс для создания объектов,
обеспечения безопасности, текущего контроля и аудита. Доступ системных процес-
456 Часть IV. Сетевые операционные системы
сов к самим объектам регулируется посредством дескрипторов объектов
(object handle), содержащих ссылки на объект и информацию о контроле
доступа. Обычно только в двух случаях встречаются внутренние названия
устройств со ссылками на имена соответствующих объектов: в содержимом
параметров раздела HKEY_LOCAL_MACHINE\HARDWARE системного
реестра и в сообщениях об ошибках на печально известном "синем экране
смерти". Приложения обычно исполняются в рамках подсистемы Win32,
являющейся компонентом ОС, который работает в режиме пользователя, и
поэтому не могут использовать внутренние имена устройств Windows NT.
Сама же подсистема Win32 обращается к устройствам, задействуя
стандартные имена MS-DOS, такие как буквы для дисков и наименования портов
типа СОМ1. Эти имена MS-DOS существуют в качестве объектов в
пространстве имен менеджера объектов в каталоге с названием \??, но лишены
свойств обычных ресурсов, по сути являясь только символическими связями с
эквивалентными именами устройств Windows NT.
Монитор контроля доступа
Любой объект Windows NT имеет список (элементов) контроля доступа (ACL,
access control list). Последний содержит элементы контроля доступа (АСЕ,
access control entry), определяющие с помощью идентификаторов защиты
(SID, security identifier) как пользователей или группы пользователей,
которым разрешен доступ к данному объекту, так и операции, которые могут
быть проделаны с данным объектом этими пользователями или их
группами. Когда пользователь успешно входит в сеть, Windows NT создает маркер
контроля доступа (SAT, security access token), содержащий идентификатор
защиты (SID) индивидуального пользователя и всех включающих его групп.
Когда пользователь пытается получить доступ к какому-либо объекту,
именно монитор контроля доступа (Security Reference Monitor) отвечает за
сравнение маркера контроля доступа (SAT) со списком элементов контроля
доступа (ACL) для определения статуса пользователя относительно этого объекта.
Менеджер процессов
Менеджер процессов (Process Manager) ответственен за создание и удаление
объектов типа процесса, которые позволяют прикладным программам
работать в системе Windows NT. Объект процесса (process object) включает
виртуальное адресное пространство и совокупность ресурсов, выделенных
данному процессу, а также потоки, содержащие исполняемые инструкции,
предназначенные для системного процессора или процессоров.
Менеджер виртуальной памяти
Возможность использования виртуальной памяти — одно из значительных
достижений в области персональных компьютеров — впервые появилась у
систем на базе процессора Intel 80386, и Windows NT разрабатывалась с уче-
Глава 14. Windows NT и Windows 2000
457
том этого преимущества. Виртуальная память (virtual memory) — это
способность компьютера задействовать свободное дисковое пространство в
качестве расширения физической памяти, установленной в нем.
Каждый процесс, создаваемый менеджером процессов в Windows NT,
получает виртуальное адресное пространство размером в 4 Гбайт. Менеджер
виртуальной памяти (VMM, Virtual Memory Manager) несет ответственность за
отображение этого виртуального адресного пространства на физическую
память системы, разбитой на ячейки размером в 4 Кбайт. Они называются
страницами (page). Когда физической памяти становится недостаточно для
удерживания в единой области всех страниц, распределенных между
выполняемыми процессами, менеджер виртуальной памяти перемещает наименее
используемые страницы в файл Pagefile.sys на системном жестком диске.
Этот процесс подкачки известен как замещение страниц (memory paging).
Средство локального вызова процедур
Подсистемы окружения, работающие в Windows NT в режиме пользователя
(такие как Win32, DOS/Winl6 и POSIX), задействуются приложениями
(также функционирующими в режиме пользователя) по принципу
сервер/клиент. Сообщения же между серверами и клиентами осуществляются с
помощью средства локального вызова процедур (LPQ local procedure call).
Локальные вызовы процедур являются, по сути, адаптированным вариантом
отдаленных вызовов процедур, которые используются для общения между
компьютерами в пределах одной ЛВС.
Когда приложение (выступающее в роли клиента) делает запрос на
функцию, обеспечиваемую одной из подсистем окружения, сообщение,
содержащее этот запрос, передается соответствующей подсистеме именно с
использованием средства локального вызова процедур (LPC). Подсистема
(выступающая в роли сервера) получает это сообщение и отвечает на него,
беря за основу тот же формат сообщения. Процесс абсолютно прозрачен для
приложения, которое не осведомлено о том, что функция не является
частью программного кода его самого.
Менеджер ввода/вывода
Менеджер ввода/вывода (I/O manager) управляет всеми функциями ввода и
вывода Windows NT, создавая унифицированную среду взаимодействия для
различных драйверов, установленных на данном компьютере. Имеющий
многоуровневую архитектуру, схема которой показана на рис. 14.2,-
менеджер ввода/вывода позволяет каждому драйверу использовать услуги
драйверов нижележащих уровней. Например, если приложению необходим доступ
к файлу на диске, менеджер ввода/вывода передает пакет запроса на
ввод/вывод (IRP, I/O request packet), созданный драйвером файловой
системы, на нижний уровень, драйверу дискового устройства. Так как менеджер
458
Часть IV. Сетевые операционные системы
Менеджер
ввода/вывода
Менеджер
кэша
1
г
Драйверы
файловой системы
i
'
Сетевые
драйверы
1
'
Драйверы
устройств
ввода/вывода общается со всеми драйверами
одинаковым образом, запрос может быть удовлетворен даже в
случае отсутствия в файловой системе точной
информации о диске, на котором находится требуемый файл.
Рис. 14.2. Менеджер ввода/вывода
обеспечивает многоуровневый
интерфейс для взаимодействия
драйверов Windows NT
Менеджер окон
Менеджер окон (Window Manager) вместе с интерфейсом графических
устройств (GDI, Graphic Device Interface) координирует взаимодействие
элементов графического пользовательского интерфейса, принятого за основу для
внешнего вида приложений в среде Windows NT. Программы направляют
менеджеру окон запросы на создание архитектурных элементов экрана,
таких как кнопки или окна. Аналогичным образом менеджер окон
информирует приложения, когда пользователь "манипулирует" элементами экранного
изображения: двигает курсор, нажимает кнопки или изменяет размеры окон.
До появления Windows NT 4.0 менеджер окон был процессом
пользовательского уровня, но сейчас это отдельный драйвер Win32k.sys, работающий в
режиме ядра.
Это изменение незаметно для разработчиков приложений, но оно улучшает
качество графики и минимизирует требуемое количество памяти.
Компоненты режима пользователя
В дополнение к сервисам режима ядра в Windows NT существует два типа
защищенных подсистем, выполняемых в режиме пользователя: подсистем
окружения (environment subsystem) и интегрированных подсистем (integral
subsystem). Подсистемы окружения позволяют Windows NT работать с
приложениями, разработанными для различных операционных сред, например,
Win32, OS/2, POSIX. Интефированные подсистемы, такие как система
безопасности, выполняют жизненно важные функции ОС. Подсистемы
режима пользователя изолированы друг от друга и от сервисов исполняющей
системы Windows NT, поэтому модификация кода любого из этих компо-
Глава 14. Windows NT и Windows 2000
459
нентов не затрагивает способности к взаимодействию всех компонентов ОС.
Если в одной из подсистем режима пользователя произойдет фатальный
сбой, другие компоненты и сервисы исполняющей системы Windows NT не
будут затронуты.
Подсистема Win32
Подсистема Win32 является первичной подсистемой окружения Windows
NT, которая обеспечивает поддержку всех "собственных" приложений
Windows NT. Все остальные подсистемы окружения выступают в качестве
факультативных и загружаются только по требованию приложения-клиента.
В то время как присутствие Win32 является обязательным, она
функционирует постоянно, так как только она выполняет обработку входных сигналов
с клавиатуры и мыши и вывод на экран для всех остальных подсистем.
Поскольку прочие подсистемы зависят от вызовов API-интерфейса Win32, их
все можно назвать "клиентами" Win32.
Подсистема DOS/Win16
В отличие от Windows 95 и 98, Windows NT не имеет встроенного ядра DOS,
и, как результат, временный выход в DOS невозможен. Вместо этого Windows
NT эмулирует DOS с использованием соответствующей подсистемы. Эта
подсистема создает виртуальные DOS-машины (VDMs, virtual DOS machines).
Каждому из запускаемых приложений DOS вьщеляется отдельная виртуальная
DOS-машина (VDM), которая эмулирует процессор Intel x86 в так
называемом режиме виртуального процессора 8086 (Virtual 8086 mode), даже в системе
не на основе процессора Intel. Все элементарные инструкции приложений
выполняются под управлением виртуальных DOS-машин (VDM), кроме
операций ввода/вывода, которые эмулируются с помощью драйверов виртуальных
устройств (VDR, virtual device driver). Драйверы виртуальных устройств
конвертируют функции ввода/вывода DOS в стандартные API-вызовы интерфейса
Windows NT и пересылают их менеджеру ввода/вывода, который
удовлетворяет запросы, используя обычные драйверы устройств Windows NT.
Эмуляция посредством отдельных DOS-машин изолирует каждую
программу DOS от остальной части системы Windows NT или любого другого
приложения DOS. Если какое-либо DOS-приложение неестественно
завершается, это затрагивает только соответствующую DOS-машину и ничего более.
Windows NT может создавать столько DOS-машин, сколько позволит
поддерживать аппаратное обеспечение. Однажды проинициализированная,
DOS-машина не разрушается, даже если приложение -DOS заканчивает
работу. Когда запускается очередное DOS-приложение, система использует
свободную DOS-машину, если она есть, или создает новую.
Для выполнения 16-разрядных приложений, разработанных для Windows 3.1,
Windows NT организует специальную DOS-машину с дополнительным про-
460
Часть IV. Сетевые операционные системы
граммным уровнем, который называется Win 16 над Win32 (WOW, Win]6 on
Win32). Этот уровень эмулирует среду Windows 3.1, но только в обычном
режиме, а не в расширенном. При запуске множества 16-разрядных
приложений Windows они все выполняются на одной DOS-машине. При этом
Windows NT обеспечивает вытесняющую многозадачность для всех
приложений. Сама же DOS-машина функционирует в режиме невытесняющей
многозадачности по отношению к другим компонентам Windows NT. Это
означает, что любое 16-разрядное приложение Windows, исполняющееся в среде
Windows NT, подвержено тем же проблемам, что и в оригинальной среде
Windows 3.1. Возможна ситуация, когда одно приложение, работающее на
виртуальной DOS-машине, будет использовать область памяти, выделенную
для другого приложения. Тогда, если одна из программ аварийно
завершается, все остальные приложения "падают" вместе с ней (в точности, как это
происходит в их "родной" среде — Windows 3.1).
Подсистема OS/2
Windows NT включает в себя также подсистему OS/2 (OS/2 subsystem), которая
отвечает за функционирование приложений, разработанных исключительно
для OS/2 1.x. Она не поддерживает менеджер представления (Presentation
Manager) или приложения для OS/2 3.0 (Waip). В отличие от других подсистем
окружения, подсистема OS/2 существует только в версии Windows NT для
процессоров Intel. Вместе с тем, приложения реального режима для OS/2,
которые могут выполняться во время стандартной DOS-сессии, будут работать
на виртуальной DOS-машине даже в системе с другим процессором.
Подсистема POSIX
Windows NT поддерживает приложения, соответствующие стандарту
POSIX.1, который описан в документе IEEE Std. 1003.1-1990. POSIX (Portable
Operating System Interface for computer environments, интерфейс переносимой
операционной системы) явился попыткой создания серии интерфейсов
прикладных программ (APIs), предпринятой для облегчения переноса программ
между системами на базе UNIX.
Исключение подсистем
Большинство систем на основе Windows NT не испытывают в настоящее
время необходимости в подсистемах OS/2 или POSIX, так как не
используют данные типы приложений. Во времена разработки Windows NT OS/2
составляла ей реальную конкуренцию на рынке ОС, сейчас же она
практически не пользуется спросом. Проект POSIX также не приобрел достаточного
влияния. Существует возможность сконфигурировать программу установки
Windows NT таким образом, чтобы исключить указанные подсистемы, что
позволит сберечь системные ресурсы.
Глава 14. Windows NT и Windows 2000
461
Программа инсталляции Windows NT при размещении системных файлов
опирается на несколько сценариев, содержащих информацию о том, какой
файл и куда именно следует копировать. Эти сценарии находятся в
нижеперечисленных файлах.
□ Dosnet.inf. Определяет файлы и каталоги, которые программа установки
Winnt.exe (или Winnt32.exe) должна скопировать во временные файлы,
создаваемые ей на рабочей станции во время DOS-фазы процесса установки.
□ Txsetup.inf. Содержит список файлов, которые программа инсталляции
должна разместить в системных каталогах Windows NT на рабочей
станции во время фазы текстового режима установочного процесса.
□ Layout.inf. Включает список файлов, копируемых в системные каталоги
Windows NT на рабочей станции на этапе графического режима процесса
установки.
При правке любого из этих файлов требуется изменение и всех остальных.
Для исключения подсистем OS/2 и POSIX из состава Windows NT
необходимо отредактировать эти файлы, пометив символами комментария
некоторые строки. Для того чтобы процесс установки игнорировал строку в файле
Dosnet.inf, необходимо в ее начало добавить знак (#). Для исключения
подсистемы OS/2 требуется отметить следующие строки в разделе [Files]:
dl, doscalls.dll
dl, netapi.os2
dl, os2.exe
dl, os2srv.exe
dl, os2ss.exe
Для исключения подсистемы POSIX:
dl, pax.exe
dl, posix.exe
dl, psxdll.dll
dl, psxss.exe
Затем необходимо снабдить символом комментария строки в файле
Layout.inf, включив в их начало знак точки с запятой (;). Для подсистемы
OS/2 требуется отметить следующие строки в разделе [SourceDiskFiles.x86]:
doscalls.dll = 1,,12800,,,,,8,О,О
netapi.os2 = 1,,248320,,,,,8,0,0,netapi.dll
os2.exe = 1,,443904,,,,,2,1,0
os2srv.exe = 1,,131072,,,,,2,1,0
os2ss.exe = 1,,9216,,,,,2,1,0
Для исключения подсистемы POSIX в разделе [SourceDiskFiles]
комментируются указываемые далее линии.
462
Часть IV. Сетевые операционные системы
рах.ехе = 1,,54272,,,,,2,1,О
posix.exe = 1,, 68608,,,,,2,1,О
psxdll.dll = 1,,36864,,,,,2,1,0
psxss.exe = 1,,94208,,,,,2,1,О
Наконец, в файл Txsetup.inf тоже требуется внести соответствующие
исправления. При отказе от подсистемы OS/2 требуется выделить символом (;)
следующие строки в разделе [SourceDiskFiles.x86]:
doscalls.dll = 1,,,,,,,8,0,0
netapi.os2 = 1,,
os2.exe = 1,,,,,
os2srv.exe = 1, ,
os2ss.exe = 1,,,
,,,8,0,0,netapi.dll
,2,1,0
,,,2,1,0
,,2,1,0
Для исключения подсистемы POSIX следует пометить тем же символом
следующие строки в разделе [SourceDiskFiles]:
рах.ехе = 1,,,,,,,2,1,0
posix.exe = 1,,,,,,, 2,1,0
psxdll.dll = 1,,,,,,,2,1,0
psxss.exe = 1,,,,,,,2,1,0
В рассмотренном случае, отличном от установки Windows NT по
умолчанию, все файлы дистрибутива должны быть скопированы на жесткий
диск, а конфигурационные — отредактированы, как было описано выше.
После этого устанавливать ОС необходимо с жесткого диска. Это
ограничение вытекает из невозможности модификации файлов сценариев
непосредственно на CD-ROM. В заключение можно заметить, что подобным образом
можно исключить из инсталляции и некоторые другие компоненты.
Сервисы
Сервисом (service) называется любая программа или иной компонент,
который Windows NT загружает вместе с ОС еще до того, как пользователь
вошел в сеть или увидел экранный интерфейс. Сервисы загружаются
автоматически и не допускают вмешательство оператора в процесс загрузки. Это
жесткое условие контрастирует с другими механизмами автоматической
загрузки, такими как программная группа Startup (Автозагрузка). Пользователь
с соответствующими правами может запускать, останавливать и
приостанавливать сервисы с помощью панели управления сервисами (рис. 14.3) или
команды NET, а также определять, будет ли конкретный сервис загружаться
автоматически при старте системы, не загружаться вовсе или нуждаться в
ручном запуске.
Пользователи без административных прав никак не могут контролировать
сервисы, поэтому последние являются удобным средством управления для
Глава 14. Windows NT и Windows 2000
463
администраторов сетей. Рабочая станция может быть сконфигурирована так,
чтобы загружать какой-либо сервис при запуске системы, и он начнет
работу независимо от того, есть ли в данный момент у нее пользователь.
Например, сервис Server, позволяющий пользователям сети иметь доступ к общим
системным ресурсам, загружается по умолчанию. Даже если
непосредственно данный компьютер не будет востребован, возможен доступ из сети к его
совместно разделяемым ресурсам.
Service
EventLog
FTP Publishing Service
IIS Admin Service
IMS SMTP Deli very Agent
IMS SMTP Receiver
License Logging Service
Messenger
Microsoft DHCP Server
Microsoft DNS Server
Microsoft NNTP Service
Status
Started
Started
Started
Started
Started
Started
Started
Started
Startup
Automatic
Automatic
Manual
Automatic
Automatic
Automatic
Automatic
Automatic
Manual
Manual
J
J
zl
Stop
Startup..,
Startup Parameters:
Help
Рис. 14.3. Панель управления сервисами Windows NT
HW Profiles...
В состав Windows NT входит большое количество сервисов, отдельные из
которых необходимы для обеспечения базовых функций ОС. Некоторые из
основных сервисов перечислены ниже.
□I Server. Позволяет данному компьютеру задействовать общие диски и
принтеры в режиме коллективного доступа с другими компьютерами сети.
□I Workstation. Дает возможность приложениям, работающим в данной
системе, иметь доступ к ресурсам сети.
□I Browser. Поддерживает список доменов и Windows-ориентированных
компьютеров, который используется для указания расположения
ресурсов в пределах сети.
□ Messenger. Позволяет администраторам или сервису Alerter отправлять и
получать сообщения, как вручную, так и в результате событий
системного характера.
□I Netlogon. Представляет собой средство, привлекаемое рабочими станциями
для обнаружения контроллера домена (DC, domain controller) и соединения с
ним. Также используется главными контроллерами доменов (PDC, primary
domain controller) для дублирования базы данных менеджера учетных
данных системы защиты (SAM, Security Account Manager) в резервном кон-
464
Часть IV. Сетевые операционные системы
троллере домена (BDC, backup domain controller). Если данный компьютер
не является частью домена, этот сервис не запускается.
^ Примечание ^Д
Для получения более подробной информации о доменах Windows NT,
механизме дублирования SAM и сервисе Netlogon см. главу 22.
Кроме перечисленных основных сервисов, Windows NT включает еще ряд
дополнительных сервисов, не являющихся обязательными. Сервер с Windows
NT использует их намного чаще, чем рабочая станция. Все сетевые серверы,
такие как WINS (Windows Internet Naming Service, служба имен сети Интернет
для Windows), DHCP (Dynamic Host Configuration Protocol, протокол
динамической конфигурации хоста), DNS (Domain Name System, система доменных
имен) или IIS (Internet Information Server, информационный сервер сети
Интернет), функционируют именно как сервисы. Выбор этих компонентов при
инсталляции Windows NT заставляет систему загружать указанные сервисы
автоматически. Многие сторонние серверные приложения принимают форму
сервисов, постоянно работающих в фоновом режиме.
Windows NT 4.0 Server Resource Kit (набор ресурсов для сервера Windows NT
4.0) включает специальную утилиту Srvany.exe, которая позволяет запускать
любое приложение Windows NT в качестве сервиса. Если сделать это, то
приложение продолжает свою работу, даже если текущий пользователь
"вышел" из системы, а новый — в нее "вошел". В дополнение к сказанному,
сервис может быть загружен с правами доступа нового пользователя, а не
только того, кто в текущий момент работает с данной системой. Сама
утилита Srvany.exe представляет собой сервис, добавляемый к базовому составу
Windows NT с помощью другой утилиты из набора ресурсов, а именно —
Instsrv.exe. После установки Srvany.exe появляется возможность прописать в
строке системного реестра путь к приложению, которое должно
исполняться как сервис, и в дальнейшем при старте системы оно будет загружаться
автоматически.
Файловая система
16-разрядная файловая система на основе таблицы размещения файлов (FAT,
File Allocation Table) была другим пережитком времен DOS, с преодолением
которого пришлось столкнуться разработчикам Windows NT. Представляя
собой неплохое решение для рабочей станции, FAT16 не могла поддерживать
диски большого объема, обычно используемые серверами, и страдала полным
отсутствием какого-либо механизма контроля доступа. Как следствие,
разработчики Windows NT снова пришли к радикальному решению проблемы,
совершенно не заботясь об обратной совместимости. Файловая система новой
технологии (NTFS, New Technology File System) предоставляет расширенные
Глава 14. Windows NT и Windows 2000
465
возможности сетевым серверам, но ценой полной невидимости дисков для
DOS. Как результат, для поддержки совместимости в версиях Windows NT до
4.0 присутствует возможность выбора NTFS или FAT16 в качестве файловой
системы для каждого диска. Windows 2000 добавляет поддержку FAT32 —
системы доступа к файлам следующего поколения, реализованную на основе
таблицы размещения файлов FAT (впервые FAT32 была представлена в версии
Windows 95 OSR2), и улучшает NTFS до версии 5.0.
FAT16
Суть традиционной файловой системы DOS состоит в делении жесткого
диска на разделы, состоящие из кластеров одинакового размера, и
использовании FAT для отслеживания информации, хранящейся в каждом
кластере. Каждый каталог на диске включает список файлов этого каталога и, в
дополнение к информации об именах и атрибутах файлов, сведения об
элементах таблицы, которые содержат номера кластеров, соответствующие
началу каждого файла. Первая запись FAT определяет ссылку на следующую
запись, идентифицирующую второй кластер. Вторая запись — ссылку на
еще одну запись, указывающую третий кластер, и так далее, пока не будут
указаны все кластеры, в которых хранится данный файл. Этот механизм
известен как цепочка элементов FAT (FAT chain).
В ранних версиях DOS длина элементов FAT составляла 12 байтов, в
версиях DOS 4.0 и старше она возросла до 16 байтов, и в Windows NT данное
ограничение сохранено. Поскольку каждый кластер в разделе должен быть
описан в записях FAT, общее количество кластеров в одном разделе не
может превышать 65 536 (2 в степени 16). Поэтому, с ростом объема диска
размер кластеров должен также увеличиваться, так как максимальное число
кластеров неизменно. Наибольший размер кластера, поддерживаемый DOS,
составляет 32 Кбайт. Отсюда вытекает, что предельно допустимый объем
диска составляет 65 536 кластеров по 32 768 байтов, то есть не может быть
более 2 147 482 648 байтов или 2 Гбайт. Windows NT разрешает иметь размер
кластера в 64 Кбайт, исходя из чего максимальный размер диска, задейст-
вующего FAT, не может превысить 4 Гбайт.
К^ Примечание J|
Только с появлением FAT32 стали применять термин FAT16 для традиционной
файловой системы FAT. В большинстве случаев ссылки на FAT без числового
идентификатора относятся к FAT16.
Другим сдерживающим фактором файловой системы FAT было то, что с
ростом размера кластеров росло дисковое пространство, не используемое
вследствие резервирования. Резерв (slack) — это часть кластера, остающаяся
пустой после записи последнего байта информации, если ее фрагменту не
удается занять весь объем последнего кластера в цепочке FAT. Если предпо-
466
Часть IV. Сетевые операционные системы
ложить, что фрагмент файла размером 3 Кбайт хранится на диске с
кластерами 4 Кбайт, то зарезервировано будет 1 Кбайт, в случае же размера
кластера 64 Кбайт резервированию подвергнется уже 61 Кбайт. Windows NT
разрабатывалась прежде всего как серверная ОС, и лишь только во вторую
очередь как ОС для рабочих станций, а серверы оперируют дисками
существенно больших размеров. Большой объем резервирования и ограничение
емкости диска в 4 Гбайт были неприемлемы для серверной ОС.
Другим недостатком системы распределения дискового пространства FAT
является количество информации о каждом файле, которое может храниться
на диске. Кроме непосредственно содержимого файлов FAT-диск содержит
еще данные о самих файлах.
П Имя файла (Filename). Ограничено 8 символами для собственно имени и
3 символами для расширения.
П Атрибуты (Attributes). Определяются как совокупность из четырех
признаков: "скрытый" (Hidden), "архивный" (Archive), "системный" (System) и
"только для чтения" (Read-only).
П Дата и время (Date/time). Время и дата создания файла или его
последнего изменения.
П Размер (Size). Величина файла в байтах.
В отличие от DOS, Windows NT с самого начала разрабатывалась как сетевая
ОС, и любой диск или каталог компьютера с Windows NT может
предоставляться в совместное владение другим участникам сети. Для эффективного
совместного использования файлов необходим способ разрешения доступа
одним пользователям, запрещения его другим и контроля степени
предоставленного доступа. Система FAT полностью лишена этих возможностей. От
сетевого сервера также требуется способность хранить файлы, созданные на
рабочих станциях с другими ОС, файлы в различных форматах, с
разнообразными атрибутами и системами наименований. Усовершенствованная
файловая система FAT в Windows NT позволяет файлам и каталогам иметь имена
длиной до 255 символов, однако не добавляет им новых атрибутов и других
элементов.
Зачем нужна FAT?
Во всех дискуссиях о недостатках FAT поднимался вопрос, почему же
Windows NT должна обязательно включать поддержку FAT, если у нее
отсутствуют качества, необходимые файловой системе развитой сетевой ОС.
Одна из причин заключается в облегчении доступа к дискам с компьютеров,
использующих другие ОС. Реализация FAT для Windows NT, несмотря на
некоторые усовершенствования, полностью совместима с DOS и любой ОС
с файловой системой на основе DOS, включая Windows 95 и 98. Создание
FAT-разделов в системе Windows NT возможно при помощи не только стан-
Глава 14. Windows NT и Windows 2000
467
дартных утилит DOS, например, FDISK и FORMAT, но также и утилиты
Disk Administrator, входящей в состав Windows NT.
Доступность
Если система Windows NT стартует с загрузочного диска DOS, то
возможность доступа к дискам сохраняется, поскольку в это время используется
файловая система FAT. Длинные имена файлов и каталогов не будут видны,
но работа с ними может осуществляться посредством их и8.3и-эквивалентов.
Можно также применять стандартные инструменты FAT для обслуживания
и восстановления FAT-дисков Windows NT (например, Norton Disk Doctor
для "ремонта" диска или Norton Speed Disk для дефрагментации). В
противном случае, диски NTFS полностью невидимы для других ОС, будь то DOS
или Windows 9x. Когда в системе, загружаемой с диска DOS, присутствуют
диски NTFS, все выглядит так, как будто бы их вообще нет, то есть они не
установлены на данном компьютере. В такой ситуации разделами, NTFS
невозможно манипулировать или использовать для них средства
обслуживания и восстановления системы FAT.
Загрузка нескольких ОС
Очень небольшое количество систем с Windows NT, главным образом в
учебных заведениях или исследовательских центрах, оборудованы
несколькими ОС и сконфигурированы так, что менеджер загрузки (Boot Manager)
Windows NT позволяет пользователю выбрать ОС для загрузки при
включении компьютера. В случае, когда предусмотрена двухрежимная загрузка
(Windows NT,DOS или Windows 9x), по крайней мере, загрузочный раздел
должен поддерживать FAT для того, чтобы оставалась возможность чтения
загрузочных файлов, не относящихся к Windows NT.
Для создания конфигурации с несколькими ОС используется менеджер
загрузки Windows NT. Процесс необходимо начать с установки DOS или
Windows Эх в обычном порядке (если в качестве второй системы
планируется Windows 3.1 или Windows for Workgroups, важна только инсталляция DOS,
так как 16-разрядные версии Windows являются фактически всего лишь
надстройкой над DOS). Следующий этап — запуск программы установки
Windows NT (Winnt.exe), в ходе которого переопределяется статус загрузочных
файлов предустановленной системы и добавляется пункт в стартовое меню.
Эти процессы обеспечивает менеджер загрузки. После завершения
инсталляции Windows NT при каждом запуске системы предлагается выбрать
старую или новую ОС для загрузки.
Инсталляция с диска FAT
Другая важная причина использования FAT заключается в облегчении
самой установки Windows NT. При инсталляции ОС на "новый" компьютер
процесс идет значительно быстрее, если проводить его с диска FAT, на
котором хранятся загрузочные файлы системы. При альтернативном способе
468
Часть IV. Сетевые операционные системы
приходится использовать 3 загрузочных диска Windows NT, что более
неудобно. В дальнейшем, если потребность в FAT исчезает, диск легко может
быть конвертирован в NTFS либо во время инсталляции Windows NT, либо
в любой момент после ее.
NTFS
NTFS (New Technology File System, Файловая система новой технологии)
разрабатывалась специально для эксплуатации в системе Windows NT. Без
нее было бы невозможно задание режимов безопасного доступа к каждому
файлу или каталогу в рамках совместного сетевого применения. В связи с
принципиально иной структурой диски NTFS невозможно создать при
помощи утилит для дисков FAT, таких как FDISK и FORMAT. Вместе с тем,
версия утилиты FDISK, включенная в Windows 9х, позволяет распознавать
диски NTFS и удалять их, как и другие типы дисков с файловой системой,
отличной от DOS.
Файловая система NTFS представляет файлы в виде объектов (objects),
состоящих из большого количества атрибутов (attributes). В отличие от DOS,
где термин "атрибут" соотносится только с признаками "скрытый" (Hidden),
"архивный" (Archive), "системный" (System), "только для чтения" (Read-only),
Windows NT причисляет к атрибутам файла всю возможную информацию о
нем, включая признаки, даты, размер, имя и даже собственно его
содержимое. NTFS также отличается от систем FAT тем, что информация об
атрибутах файла хранится не вместе с ним, а в файлах специального каталога.
Структура, эквивалентная таблице FAT, в NTFS называется главной файловой
таблицей (MFT, Master File Table). Однако в ней содержатся не только ссылки
на другие кластеры диска. Когда размер файла относительно невелик (не
более 1500 байтов), в таблицу MFT включаются все атрибуты файла, в том числе
и его содержательные данные. При необходимости хранения больших объемов
информации на диске выделяются дополнительные кластеры, которые
называются экстентами (extent), и указатели на них заносятся в главную файловую
таблицу (MFT) вместе с атрибутами файла. Атрибуты, входящие в MFT,
называются резидентными атрибутами (resident attributes), а расположенные в
экстентах — нерезидентными атрибутами (nonresident attributes).
В дополнение к четырем стандартным атрибутам DOS, файл NTFS имеет
признак компрессии, два признака "дата/время", отражающие момент его
создания и последнего изменения, а также дескриптор защиты. Последний
определяет владельца файла, списки пользователей или их групп с
различными правами доступа, и указывает, какие собственно права доступа им
предоставлены.
Создание дисков NTFS
При установке Windows NT предлагается на выбор: использовать уже
существующий раздел или создать новый в области свободного пространства на дис-
Глава 14. Windows NT и Windows 2000
469
ке, причем существующий раздел может быть как системой FAT, так и NTFS.
В первом случае возможно конвертирование раздела в NTFS еще в процессе
инсталляции ОС. Можно также установить Windows NT на диск FAT и
преобразовать его в любое время позднее. Тем не менее, Windows NT не
предоставляет возможности обратного конвертирования дисков из NTFS в FAT.
В процессе создания нового диска NTFS в Windows NT можно вызвать
утилиту Format, из Проводника (Windows NT Explorer) или выполнить команду
FORMAT из командной строки. В обоих случаях допустимо
форматирование только жестких, но не флоппи-дисков. Как и команда FORMAT в DOS,
этот процесс деструктивен и уничтожает любую информацию, которая
хранится на диске. Для превращения диска FAT в NTFS без разрушения
информации используется утилита Convert.exe, запускаемая из командной
строки следующим образом:
CONVERT С: /FS:NTFS
В той ситуации, когда утилита не может получить монопольный доступ к
конвертируемому диску (например, если на нем есть каталог \Winnt),
преобразование файловой системы будет произведено при следующей
перезагрузке ОС.
FAT32
Непреклонно растущая со временем емкость дисков возвела ограничения
файловой системы FAT в ранг проблемы. Для ее решения фирма Microsoft
разработала файловую систему, использующую 32-разрядные элементы в
таблице размещения файлов (FAT) взамен 16-разрядных. Более длинные
ячейки предполагают наличие большего количества кластеров на диске.
В силу сказанного, максимальная емкость диска с FAT32 составляет 2 Тбайт
(или 2 048 Гбайт), вместо 2 Гбайт для диска с FAT16, при этом кластеры
могут быть существенно меньше по размеру, что снижает потери дискового
пространства.
Файловая система FAT32 впервые была представлена в версии
Windows 95 OSR2 и в дальнейшем была включена в Windows 98 и Windows 2000.
Windows NT 4.0 эту систему не поддерживает. Из Windows NT невозможен
доступ к диску FAT32 так же, как невозможно загрузить Windows NT с
диска с системой FAT32. При желании иметь несколько ОС на одном
компьютере, необходимо отформатировать загрузочные области с использованием
FAT16. Утилита FDISK, имеющаяся в Windows 95 OSR2 и Windows 98,
предлагает ответить на вопрос о поддержке больших объемов дисков при
каждом своем запуске. В случае положительного ответа FDISK создает
разделы FAT32 на существующих дисках. Реакция на отрицательный ответ
выражается в создании стандартных разделов на основе FAT16 с обычными
ограничениями по объему.
470
Часть IV. Сетевые операционные системы
1^ Примечание Л
Хотя Windows NT и не поддерживает FAT32, независимыми разработчиками
созданы утилиты, позволяющие получать доступ из среды Windows NT к
дискам на основе FAT32. Программа FAT32 for Windows NT, разработанная
фирмой System Internals, доступна в двух версиях. Бесплатная версия разрешает
просматривать диски FAT32 из Windows NT и считывать с них информацию, а
версия, требующая регистрации, дает возможность еще и записывать на них.
В обоих случаях программа не позволяет создавать новые РАТ32-диски, а
только предоставляет доступ к уже существующим, и система FAT32 по-
прежнему не может использоваться на диске с Windows NT, так как ее
поддержка не обеспечивается в процессе загрузки системы. Получить бесплатную
версию FAT32 for Windows NT и зарегистрировать коммерческую можно на
сайте System Internals по адресу: www.sysinternals.com/fat32.htm.
Система FAT32 ориентирована на большие объемы и маленькие кластеры, но
не обеспечивает значительных изменений общей структуры файловой
системы. Она все так же лишена механизмов контроля доступа, необходимых
сетевому серверу. Но они в полном объеме присутствуют у NTFS. В системе на
основе Windows NT или Windows 2000 для любого диска, который
планируется предоставить в общее пользование в рамках локальной сети, несомненно,
более выгодно использование системы NTFS с целью защиты дисков от
несанкционированного доступа или случайного повреждения данных.
Системный реестр
Системным реестром (registry) называется база данных, в которой системы
Windows NT и Windows 2000 хранят практически все данные о собственной
системной конфигурации. Системным или сетевым администраторам в
большинстве случаев приходится иметь дело именно с системным реестром, так
как многие из программ конфигурирования Windows NT/2000 в процессе
работы вносят изменения в содержимое системного реестра. Реестр
представляет собой иерархическую базу данных, которая отображается в
большинстве специальных редакторов в виде древовидной структуры, не
слишком отличающейся от дерева каталогов. В основании дерева находятся пять
разделов, называющихся ключами (keys). Имена разделов и их назначение
приведены ниже.
□ HKEY__CLASSES_ROOT. Содержит информацию о файловых
ассоциациях, то есть о связях между расширениями файлов и приложениями.
□ HKEY_CURRENT_USER. Включает сведения о конфигурации,
специфической для данного пользователя. Этот раздел является первичным
компонентом профиля пользователя.
□ HKEY_LOCAL__MACHINE. Хранит данные о программном и аппаратном
обеспечении, установленном на данном компьютере, конфигурации сие-
Глава 14. Windows NT и Windows 2000
471
темы и базу данных менеджера учетных данных системы защиты (SAM).
Элементы данного раздела относятся ко всем пользователям сети.
□ HKEYJUSERS. Содержит информацию о загруженных в данный момент
пользовательских профилях, включая профиль пользователя, который в
настоящий момент работает с данным компьютером, и профиля
пользователя по умолчанию.
□ HKEY_CURRENT__CONFIG. Содержит данные об аппаратном профиле
(hardware profile), используемые при загрузке системы. Этот раздел
отсутствует в версии Windows NT 3.1 и более ранних версиях Windows NT.
Обычно при конфигурировании системы на базе Windows NT изменения
вносятся в разделы HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER,
для названий которых существуют сокращения HKLM и HKCU
соответственно. Если ключи сохраняются в виде файлов, как в случае
пользовательских профилей, в ссылках они упоминаются как ульи (hives). Любой из
ключей содержит ряд подключей (subkeys), распределенных обычно на
нескольких уровнях иерархической структуры. Ключи и подключи функционируют
как контейнеры для элементов (entries) системного реестра, в которых уже
находятся непосредственно данные о конфигурации системы. Элемент
системного реестра состоит из трех компонентов: имя значения (value name), тип
значения (value type) и собственно значение (value).
Имя значения идентифицирует соответствующий ему элемент реестра. Тип
значения определяет вид данных, содержащихся в значении элемента,
например, двоичное число, текстовую строку определенной длины, или
разнородную информацию. В элементах реестра можно найти типы значений,
перечисленные ниже.
□ REGJSZ. Показывает, что значение элемента содержит
последовательность цифр и алфавитных символов. Многие элементы,
конфигурируемые пользователем, имеют данный тип.
□ REGJDWORD. Говорит о том, что в значении элемента находится 4-
байтовое числовое значение. Этот тип используется для описания таких
данных, как параметров устройств и сервисов и других числовых
величин, имеющих отношение к конфигурации системы.
□ REGJMULTI__SZ. Аналогичен REG_SZ, с той разницей, что элемент
содержит множество буквенно-цифровых последовательностей.
□ REGJEXPANDJSZ. Основан на типе REG_SZ, отличается от него тем,
что элемент определяет переменную (например %SystemRoot%), которая
должна быть заменена в случае обращения приложения к строке.
□ REG_BINARY. Показывает, что элемент состоит из необработанных
двоичных данных, обычно несущих информацию об аппаратной
конфигурации. Эта информация не должна изменяться вручную, если нет опыта и
твердой уверенности в назначении каждого бита.
472
Часть IV. Сетевые операционные системы
□ REGJFULLJ№SOURCEJ)ESCRIPTOR. Свидетельствует о том, что
элемент включает данные о конфигурации аппаратного обеспечения в
форме информационных записей со множеством полей.
Иерархия системного реестра обычно очень громоздка и сложна, названия
ключей и элементов выглядят загадочно. Найти нужный элемент крайне
непросто и его содержимое зачастую непонятно обычному пользователю.
При ручном редактировании реестра важно тщательно следить за
содержимым каждого элемента, иначе последствия будут иметь катастрофический
характер. Неправильное редактирование системного реестра может привести
к останову системы, или даже к ее краху, что потребует переустановки ОС.
Из-за подобной чувствительности реестра к ненадлежащему обращению
выбор инструмента для работы с ним должен быть очень тщательным.
Компромисс при решении этого вопроса пролегает между безопасным и
простым в использовании интерфейсом с ограниченной возможностью
обращения к элементам реестра, и полноценным доступом, который
осуществляется через менее интуитивный интерфейс. Далее описываются
разнообразные программы Windows NT для редактирования реестра.
Панель управления
Хотя это и не очень заметно по интерфейсу, большинство функций панели
управления (Control Panel) реализуются именно через изменение установок
реестра. Графический интерфейс панели управления предоставляет
пользователям упрощенный доступ к системному реестру и предотвращает
искажение значений элементов реестра по причине опечаток или
синтаксических ошибок. Возможно задействование защитных механизмов Windows NT
для предотвращения несанкционированного доступа к некоторым ключам
реестра с помощью панели управления. Главнейший недостаток этой
программы заключается в том, что она обеспечивает возможность изменения
только небольшой части установочных параметров системного реестра.
^ Примечание j|
Многие функции панели управления дублируются утилитой Web Administrator for
Windows NT Server 4.0. Она использует информационный сервер сети Интернет
(IIS) для публикации функций панели управления в качестве Web-страницы, к
которой можно обратиться любым Web-браузером (имея на то соответствующее
разрешение). Web Administrator можно получить на Web-сайте Microsoft по
адресу: www.microsoft.com/ntserver/nts/downloads/management/NTSWebAdmin.
Редактор системной политики
Системной политикой (system policy) называется набор установочных
параметров реестра, сохраняемый в специальном файле политики (policy file),
который система на базе Windows NT может загружать в тот момент, когда
Глава 14. Windows NT и Windows 2000
473
пользователь "входит" в систему или в сеть. Различные наборы системной
политики безопасности можно создавать для каждого пользователя сети.
Таким образом, как только обычный пользователь регистрируется на
рабочей станции, его собственные конфигурационные установки загружаются
автоматически. Windows NT включает утилиту System Policy Editor (редактор
системной политики), которая может быть применена как по прямому
назначению — для создания файлов политики, так и позволяет напрямую
редактировать системный реестр. Аналогично панели управления, диспетчер
системной политики предоставляет соответствующий графический
интерфейс (рис. 14.4), но предоставляет доступ к намного большему числу
элементов реестра и более гибок в настройке.
I jG Default User Properties
Policies 1
Щ Default User
В ^j2) Control Panel
В Щ Display
El Щ) Desktop
Ц Wallpaper
HI Color scheme
В Щ) Shell
В ^fl Restrictions
: • Щ Remove Run command from Start menu
HI Remove folders from Settings on Start menu
Ш Remove Taskbar from Settings on Start menu
Ц Remove Find command from Start menu
^Settings for Restrict display
jd
Г" Deny access to display icon
Г" Hide Background tab
Г" Hide Screen Saver tab
Г" Hide Appearance tab
Г" Hide Settings tab
OK
Cancel
Рис. 14.4. Редактор системной
политики для Windows NT
^ Примечание ^Д
Для получения более подробной информации об использовании системной
политики как инструмента администратора сети см. главу 27.
Любой из вариантов списка системных политик, отображаемого утилитой
System Policy Editor (редактор системной политики) в иерархическом
представлении, извлекается из файла под названием шаблон политики (policy
template). Шаблон политики — это текстовый файл ASCII специального
формата с расширением adm, определяющий внешний вид каждого вариан-
474
Часть IV. Сетевые операционные системы
та политики в окне редактора системной политики и то, какие установки
системного реестра последний будет изменять. В установочный комплект
Windows NT включено несколько файлов-шаблонов, регламентирующих
варианты системных стратегий для широкого спектра настроек системы,
некоторые из которых можно изменять и при помощи панели управления.
Поскольку создание новой системной политики сводится к созданию
файла-шаблона, разработчики программного обеспечения могут включать в
свои продукты готовые шаблоны, задающие стратегию, оптимальную для
конкретного приложения. Каждый пользователь может также
самостоятельно создавать новые шаблоны для того, чтобы изменять другие установки
системного реестра.
Процесс создания вариантов системной политики с использованием данного
редактора заключается в передвижении по иерархическому изображению в
окне и выборе нужной политики. Некоторые варианты состоят всего из
одного установочного параметра, который можно "включить" или "выключить".
Другие варианты содержат дополнительные элементы управления в виде
флажков, выпадающих меню или полей ввода данных. Для создания файла
политики нужно выбрать необходимые настройки, определить их значения
и сохранить в файле с расширением pol.
Редактор системной политики позволяет также напрямую изменять реестр
Windows. При выборе команды File (Файл) > Open Registry (Открыть реестр)
программа отображает реестр локального компьютера. После создания
варианта политики изменения производятся непосредственно в системном
реестре. В дополнение к этому, выбор команды File (Файл) > Connect
(Соединение) позволяет установить связь с другим компьютером сети на базе
Windows NT, 2000 или 9х и произвести модификации в его реестре с
удаленной машины.
К^ Примечание ^
Для получения удаленного доступа к реестру компьютера на базе Windows 95
или 98 на нем должен быть запущен сервис Remote Registry, и система должна
быть сконфигурирована с возможностью доступа на уровне пользователя.
Использование индивидуально настраиваемых шаблонов делает редактор
системной политики намного более мощным средством редактирования
системного реестра, чем панель управления. Он позволяет задавать значения
для широкого спектра записей реестра, сохраняя при этом преимущества
графического интерфейса. Все изменения, производимые редактором
системной политики в системном реестре, контролируются шаблонами
политики. Хотя и существует вероятность орфографической ошибки в поле данных
элемента, шансы на внесение неправильного значения, причиняющего вред
системе, в целом намного меньше, чем при ручном редактировании реестра.
Глава 14. Windows NT и Windows 2000
475
Редакторы реестра
Установочный комплект Windows NT включает две целевые программы для
редактирования реестра: Regedit32.exe и Regedit.exe, которые предоставляют
доступ ко всем ключам реестра. Существует множество конфигурационных
параметров Windows NT, настраиваемых с помощью редакторов реестра и
недоступных для любого другого административного интерфейса. Эти
программы являются наиболее мощными и всеобъемлющими средствами
внесения изменений в системный реестр Windows NT, и они же несут в себе
огромную потенциальную угрозу. Эти редакторы не снабжают элементы
реестра дружественными именами и не используют выпадающих меню или
переключателей (check box) для ввода значений. В рассматриваемом случае
необходимо найти (или создать) нужный элемент и задать для него
правильное значение в требуемом формате, или результаты могут быть самыми
непредсказуемыми. Оба редактора устанавливаются вместе с системой
Windows NT, но она не сопровождает их ярлыками в стартовом меню или на
Рабочем столе. Редакторы реестра запускаются из диалогового окна Run, из
окна Windows NT Explorer или через созданный самим пользователем
ярлык. Как и редактор системной политики, оба редактора реестра позволяют
соединяться с удаленным компьютером сети на базе Windows и получать
доступ к его реестру с возможностью редактирования.
Редактор реестра Regedit.exe (рис. 14.5) был разработан для
администрирования в Windows 95, но включен в Windows NT из-за двух присущих ему
крайне важных преимуществ, которых по непонятным причинам лишен
Regedit32.exe. Программа обладает интерфейсом, напоминающим внешний
вид Проводника Windows (Windows NT Explorer). Этот интерфейс
воспроизводит древовидную структуру ключей и подключей на левой панели. При
выборе определенного подключа элементы, содержащиеся в нем,
отображаются в правой части диалогового окна. Regedit.exe позволяет как
производить наиболее стандартные модификации установочных параметров реестра,
так и создавать или уничтожать ключи и элементы. Однако он не имеет
некоторых черт, специфичных для Windows NT, например, способности
разграничения доступа к реестру или поддержки типов значений в элементах
реестра REG_MULTI_SZ и REG_EXPAND_SZ.
Одно из упомянутых преимуществ использования Regedit.exe заключается в
возможности поиска последовательности символов в любом месте реестра,
включая ключи, подключи, элементы и их содержимое, в то время как
Regedit32.exe допускает только поиск ключей. Это важная особенность, так
как благодаря ей легче всего найти элемент по его специфическому
содержимому. Например, если требуется установить место хранения IP-адреса
системы, есть возможность через Regedit.exe сравнительно быстро найти
нужный ключ. В случае с Regedit32.exe придется либо вручную
просматривать все содержимое системного реестра, либо воспользоваться руково-
476
Часть IV. Сетевые операционные системы
дством в виде книги или файла Regentry.hlp, включенного в Windows NT 4.0
Server Resource Kit.
Другое качество, присущее исключительно Regedit.exe, это — возможность
экспортировать информацию системного реестра в файлы с расширением
reg и импортировать данные из них. Такие файлы называются сценариями
реестра (registry scripts). Эти сценарии содержат отдельные записи реестра
вместе со всей информацией, связанной с ними, включая их расположение
в иерархии ключей, типы значений и собственно содержимое.
[it'* Reqistry Editor
moral
Registry £dit View Help
1В-JB My Computer A
El Cl HKEY CLASSES ROOT |
Ф-Cj hkeyjxjrrentjjser -J
В О HKEY.LOCAL.MACHINE
; ffi-Q HARDWARE
; ш й sam
i S Q SECURITY
: Ш О SOFTWARE
; a Ci system
: О Clone
IS-Q ControlSetOOl
®-C3 ControlSet002
1 ; В CJ CurrentContiolSet
. a -O Control
, Ш Cl Enum
: ® CJ Hardware Profiles
1 3 C3 Services
1 CJ Abiosdsk
hi 1 ±1
Name
ЩбеТайГ)']
SjDisplayName
|So|ErrorControl
Й1 Group
gjImagePath
©Start
Щ]Туре
Uj
I Data
(value not set)
"TCP/IP Service"
0x00000001 (1)
"PNP TDI"
' 'SSy stemR oot\System32\dri versMcpip. sy s''
0x00000002 (2)
0x00000001 (1)
i
[mJTo^^
Л
d\
Рис. 14.5. Редактор реестра Windows 95 (Regedit.exe)
Можно выбрать ключ на любом уровне иерархии и создать файл сценария,
сохранив в нем все элементы и подключи, которые входят в отмеченный
ключ. Эти настройки можно применить впоследствии на другом
компьютере, запустив Regedit.exe из командной строки Windows NT, указав ему при
этом в качестве параметра имя сценария. То, что сценарии могут
загружаться из командной строки, делает Regedit.exe прекрасным средством для
сетевых администраторов, предпочитающих конфигурировать рабочие станции
при помощи командных файлов (файлов с расширением bat).
^ Примечание ^Д
Regedit32.exe также способен сохранять ключи в текстовых файлах, однако они
имеют формат, не позволяющий переносить настройки на другую систему
автоматически, кроме того, Regedit32.exe не может запускаться из командной строки.
Глава 14. Windows NT и Windows 2000 477
Regedit32.exe (рис. 14.6) — это редактор реестра, разработанный для
целевого применения в Windows NT 3.x Программа открывает отдельное окно
для любого ключа верхнего уровня реестра, что позволяет осуществлять
поиск в разных ключах независимо друг от друга для локализации нужных
записей. Regedit32.exe имеет большее количество режимов отображения
содержимого реестра, например, в двоичной, десятичной или шестнадца-
теричной системах счисления. Он дает возможность видеть дерево реестра,
информацию, содержащуюся в нем, или то и другое одновременно.
Рис. 14.6, Редактор реестра Windows NT (Regedit32.exe)
Если Windows NT установлена на диске NTFS, Regedit32.exe позволяет
также управлять доступом к конкретным ключам системного реестра. Как и для
ранее рассмотренного случая файловой системы, возможно предоставление
разрешения (permission) пользователям или группам пользователей различных
степеней доступа к ключам и подключам базы данных конфигурации
системы в целом и, в частности, системного реестра.
Сетевая архитектура Windows NT
Организация сети есть неотъемлемая часть Windows NT. В основе ОС лежит
модульная сетевая структура, которая обеспечивает наибольшую гибкость
для администратора сети. Не совсем соответствующая эталонной модели
OSI, сетевая архитектура Windows NT опирается на уровни, обеспечиваю-
478
Часть IV. Сетевые операционные системы
щие взаимозаменяемость модулей, например, драйверов сетевого адаптера и
протоколов. Общая схема сетевого стека представлена на рис. 14.7.
Редиректоры
Серверы
NetBIOS
Win sock
Интерфейс транспортного драйвера
NetBEUI
TCP/IP
NWLink (IPX)
Интерфейс NDIS
Драйверы сетевых адаптеров
Рис. 14.7, Сетевая архитектура Windows NT
Windows NT использует два первичных интерфейса для разделения базовых
функций сетевого взаимодействия: NDIS (Network Driver Interface
Specification, спецификация стандартного интерфейса сетевых адаптеров) и TDI
(Transport Driver Interface, интерфейс транспортного драйвера). Между
этими интерфейсами расположены группы протоколов, обеспечивающие
компьютерам сети транспортные услуги: TCP/IP, NetBEUI и IPX. Хотя эти три
набора различаются по возможностям, они взаимозаменяемы, когда речь
заходит о базовых сетевых сервисах. Windows NT может оперировать
протоколами любой из указанных групп или задействовать все три набора
одновременно. Интерфейсы NDIS и TDI позволяют компонентам, находящимся
выше или ниже их, выбирать необходимый протокол для выполнения
конкретной задачи.
Например, возможно, что в системе со всеми тремя установленными
группами протоколов запрос на соединение с Интернетом, формируемый Web-
браузером, вовлекает в процесс протокол TCP/IP, а некое приложение, при
попытке соединиться с сервером Novell NetWare, будет обращаться к IPX.
Приложения, которые поддерживают любой протокол, могут применять тот
или иной из них в зависимости от порядка, в котором протоколы
привязаны к конкретному сервису.
^ Примечание j^
Для получения более подробной информации о протоколах TCP/IP, IPX и
NetBEUI, применяемых в Windows NT, см. главы 11, 12\л 13 соответственно.
Интерфейс NDIS
Интерфейс NDIS (Network Driver Interface Specification, спецификация
стандартного интерфейса сетевых адаптеров) является стандартом,
разработанным совместно фирмами Microsoft и 3Com, который описывает взаимо-
Глава 14. Windows NT и Windows 2000
479
действие протоколов Сетевого уровня и протокола Канального уровня, а
точнее — его подуровня — протокола управления доступом к среде (MAC).
В системе на базе Windows NT интерфейс NDIS располагается между
драйверами сетевого адаптера и драйверами протоколов. Протоколы не
общаются непосредственно с сетевым адаптером, вместо этого они используют
интерфейс NDIS. Это свойство позволяет системе с Windows NT иметь любое
количество сетевых адаптеров и любое количество протоколов, причем у
каждого протокола будет возможность общаться с каждым адаптером.
Интерфейс NDIS в Windows NT реализуется с помощью двух основных
компонентов: упаковщика NDIS (NDIS wrapper) (Ndis.sys) и МАС-драйвера
NDIS (NDIS MAC driver). Упаковщик NDIS не является специфичным для
какого-либо устройства, он содержит общий код, окружающий МАС-
драйверы и обеспечивающий интерфейс для взаимодействия драйверов
сетевых адаптеров и драйверов протоколов, установленных в данной системе.
Этот механизм пришел на смену менеджеру протоколов (Protocol Manager,
PROTMAN), применявшемуся в других версиях NDIS для управления
доступом к сетевым адаптерам.
Напротив, МАС-драйвер NDIS специфичен для каждого устройства и
представляет собой программный код, необходимый системе для обмена
информацией с адаптером сетевого интерфейса. Данный драйвер включает в себя
механизм выбора аппаратных ресурсов, используемых данным устройством,
таких как линия запроса на прерывание (IRQ) или адрес порта ввода/
вывода. Все сетевые адаптеры, в настоящее время устанавливаемые в
системе Windows NT 4.0, должны иметь NDIS-драйвер версии 3.0, который
практически все производители поставляют вместе с платой сетевой карты.
Интерфейс транспортного драйвера
TDI выполняет приблизительно те же функции, что и упаковщик NDIS, но
на более высоком уровне в сетевом стеке. TDI работает как интерфейс
между драйверами протоколов и размещенными выше компонентами, такими
как сервер или редиректор. Поток информации проходит через интерфейс,
двигаясь вверх и вниз по сетевому стеку, и может быть направлен к любым
протоколам или их компонентам, которые установлены в системе.
Выше TDI в Windows NT располагаются еще несколько компонентов,
которые приложения задействуют для доступа к сетевым ресурсам различными
способами, применяя TDI как интерфейс для связи с драйверами
протоколов. Так как Windows NT является одноранговой ОС, существуют
компоненты, обрабатывающие входящий и исходящий сетевой трафик. Это,
прежде всего, сервисы Workstation и Server, первый из которых позволяет системе
получать доступ к сетевым ресурсам, а на второй возложена задача
распределения между сетевыми клиентами локальных ресурсов. На
рассматриваемом уровне находятся также интерфейсы прикладных программ (APIs), на-
480
Часть IV. Сетевые операционные системы
пример, NetBIOS или Windows Sockets, необходимые для обеспечения
особого режима доступа исполняемых приложений к отдельным ресурсам сети.
Сервис Workstation
В процессах открытия файла или печати документа прикладными
программами особенности, связанные с тем, находится ли файл или принтер на
локальной машине или в сети, отчетливо не выделяются, если рассматривать
вопрос с точки зрения пользователя или приложения. Точное расположение
файла или принтера определяет сервис Workstation, который и посылает
запрос соответствующему драйверу. Обеспечивая подобным образом доступ к
сетевым ресурсам, сервис Workstation фактически представляет собой
клиентскую половину системы Windows NT архитектуры клиент/сервер.
Сервис Workstation состоит из двух модулей: Services.exe — менеджера
управления сервисами и Rdr.sys — редиректора сети Windows. Когда
приложение посылает запрос на доступ к файлу, он приходит к менеджеру
ввода/вывода, который уже передает его драйверу соответствующей файловой
системы. В зависимости от того, какие файловые системы используют диски
данного компьютера, могут быть инсталлированы драйверы системы FAT,
NTFS или и той и другой одновременно. Редиректор также является
драйвером файловой системы, однако, вместо обеспечения доступа к локальному
диску он передает запросы вниз по стеку протоколов к соответствующему
ресурсу сети. Для менеджера ввода/вывода редиректор ничем не отличается
от любого другого драйвера файловой системы. Windows NT устанавливает
редиректор для сети Windows по умолчанию, но программное обеспечение
для клиентской части других сетевых операционных систем, например,
Novell NetWare, может включать дополнительные редиректоры.
Multiple UNC provider
В случае системы с множественными сетевыми клиентами (и
множественными редиректорами) Windows NT реализует один из двух механизмов
определения, к какому из редиректоров следует обратиться, в зависимости от
того, каким образом приложение формулирует запросы на системные
ресурсы. Multiple UNC provider (MUP) применяется в случае приложений,
использующих имена UNC (Uniform Naming Convention, соглашение об
универсальном назначении имен) для описания требуемого сетевого ресурса, а
Multi-Provider Router привлекается для программного обеспечения
опирающегося на сетевые API Win32.
UNC регламентирует формат, применяемый Windows NT для
идентификации сетевых ресурсов. UNC-имена выглядят следующим образом:
\\server\share
В сети на базе Windows NT сервером может быть любой компьютер, на
котором установлена данная ОС, а роль ресурса общего пользования может вы-
Глава 14. Windows NT и Windows 2000
481
полнять любой сетевой диск. В сети на основе Novell NetWare в качестве
сервера выступает компьютер с установленной операционной системой Novell
NetWare, а в качестве ресурса — один из его томов. При просмотре ресурсов
совместного пользования, отображаемых в сетевом окружении, и выборе
любого файла система формирует имя пути UNC, независимо от того, находится
файл на сетевом диске Windows, сервере NetWare или даже на локальном
диске. Функция MUP заключается в определении типа ресурса, который
содержит файл, и передаче запроса соответствующему редиректору.
MUP реализован в виде файла Mup.sys и функционирует по принципу проб
и ошибок, посылая UNC-имя требуемого файла каждому редиректору сети
по очереди и ожидая от каждого из них ответа. Как только ответ получен,
MUP выбирает нужный редиректор и отправляет ему собственно запрос на
файл. Если в системе только один редиректор, процесс прост и предсказуем.
Но если редиректоров два и более, возможно существование ресурсов с
одинаковыми именами на двух типах серверов. Например, хотя и
невозможны две системы Windows NT с одинаковыми именами в сети, но
вероятно одновременное присутствие сервера Windows NT и сервера NetWare с
одним и тем же именем. Из-за путаницы, которую оно может вызвать,
подобной практики необходимо как можно чаще избегать.
Когда MUP получает положительные ответы от двух (или более)
редиректоров, что свидетельствует о присутствии запрашиваемого ресурса в двух
сетях, запрос отправляется редиректору с более высоким приоритетом.
Приоритет редиректорам назначается в поле Network Access (Доступ к сети) на
странице Services (Сервисы) панели управления сетью.
MUP поддерживает кэш UNC-имен, обработанных за последние 15минут,
который просматривает до того, как пошлет имена редиректорам. Если имя
обнаруживается в кэше, запрос на ресурс передается редиректору,
ассоциированному с этим именем. Если имени в кэше нет, MUP направляет его
редиректорам синхронно. Это означает, что он посылает имя редиректору с
наивысшим приоритетом и ждет прихода ответа, прежде чем обратиться к
редиректору со следующим уровнем приоритета.
В некоторых случаях подобный механизм может приводить к существенным
задержкам при доступе к сетевым ресурсам. До выхода Service Pack 4 для
Windows NT 4.0 программа всегда ожидала отклика от всех редиректоров,
прежде чем выбрать тот,, которому направить собственно запрос. Например,
если UNC-имя в сообщении касается одного из дисков сервера NetWare,
запрос должен пройти полную процедуру разрешения имени NetBIOS для
редиректора сети Windows без явной на то необходимости. Эта процедура
разрешения имени по умолчанию включает повторные широковещательные
сообщения и запросы сервера WINS, которые все могут выработать тайм-аут
или неудачу. Процесс может занять 30 секунд и более, прежде чем запрос
будет послан редиректору NetWare. Service Pack 4 модифицирует модуль
482
Часть IV. Сетевые операционные системы
Mup.sys таким образом, что если редиректор с наивысшим приоритетом
положительно реагирует на UNC-имя, то запрос немедленно направляется ему
на обработку.
Multi-Provider Router
Multi-Provider Router (MPR) осуществляет выбор редиректора для случая
приложений, использующих для формулирования запросов на системные
ресурсы сетевые программные интерфейсы Win32 API (иногда называемые
WNet API). В дополнение к редиректору, сетевой клиент, установленный в
системе Windows NT, имеет специальную библиотеку динамической
компоновки (provider DLL), которая функционирует как интерфейс между MPR и
редиректором. MPR передает этой библиотеке запросы, получаемые от
приложений, а она уже направляет их редиректорам.
Сервис Server
Аналогично сервису Workstation, обеспечивающему функции сетевого
клиента Windows NT, сервис Server позволяет другим клиентам сети получать
доступ к локальным ресурсам системы. Когда редиректор компьютера-
клиента просит разрешения на обращение к файлу на сервере,
принимающая система продвигает запрос вверх по стеку протоколов к сервису Server.
Сервис Server представляет собой драйвер файловой системы (Drv.sys), и
запускается менеджером управления сервисами (Service Control Manager),
как и сервис Workstation, работающий уровнем выше, чем TDI. Получив
запрос на доступ к файлу, сервис Server формулирует запрос на чтение и
направляет его драйверу соответствующей файловой системы (NTFS или
FAT) через менеджер Ввода/вывода. Драйвер локальной системы получает
доступ к файлу в обычном порядке и передает сервису Server, который уже
посылает его через сеть клиенту. Сервис Server дополнительно обеспечивает
поддержку общих принтеров, а также удаленного вызова процедур и
именованных каналов, являющихся другими механизмами, которые приложения
используют для коммуникации через сеть.
Привязка
Для обеспечения продвижения восходящего и нисходящего трафика по стеку
протоколов компоненты, работающие на разных уровнях, должны
взаимодействовать друг с другом таким образом, чтобы путь трафика через стек был
неразрывен. В Windows NT для того, чтобы соединение стало возможным,
драйверы сетевых адаптеров должны быть привязаны к драйверам протоколов,
а драйверы протоколов должны иметь привязку к сервисам. По умолчанию
все компоненты Windows NT связаны друг с другом, то есть все сетевые
адаптеры замкнуты на все установленные протоколы, и то же самое относится к
Глава 14. Windows NT и Windows 2000
483
протоколам и сервисам. Это позволяет сообщению, перемещающемуся вверх
или вниз по стеку, следовать самыми различными путями.
Windows NT, соответственно, распознает порядок согласования
компонентов и определяет приоритеты, основанные на этом порядке. Если,
например, в системе одновременно задействуются протоколы TCP/IP и NetBEUI,
запросить доступ к файлу, находящемуся на сетевом диске, может с
одинаковым успехом любой из протоколов. Редиректор, обрабатывающий этот
вызов, посылает сведения о нем драйверам всех доступных протоколов и
выбирает из них тот, который имеет наивысший приоритет и может
успешно удовлетворить возникший запрос.
Identification | Services | Protocols) Adapters Bindings J
Network bindings are connections between network cards,
protocols, and services installed on this computer. You can use this
page to disable network bindings or arrange the order in which this
computer finds information on the network.
Show Bindings for: | all services
В -JS Server 3
EI -T" WINS Client{TCP/IP)
lrW§ [1 ] 3Com Etherlink III Adapter
Щ> [4] Remote Access WAN Wrapper
'. S T6 NetBEUI Protocol
: Ж" NWLink IPX/SPX Compatible Transport
SIT NWLink NetBIOS
! Ш IT ndis3pkt
В S Workstation
В 1Г WINS Client(TCP/IP)
Ш&Щ 3Com Etherlink III Adapter
- Щ [4] R emote Access WAN Wrapper jrj
Enable
Disable
■Move'Up
Mova Down I
OK
Cancel
Рис. 14.8. Страница Bindings
панели управления сетью
Управление отношениями между установленными компонентами сети,
включая создание или удаление привязок, изменение их приоритетов доступно на
странице Bindings панели управления сетью (рис. 14.8). Селектор Show Bindings
for позволяет просматривать соответствующую информацию о компонентах,
структурированную по типам: сервисам, протоколам, адаптерам. Отменяя
некоторые связи, можно устранить задержки, обуславливаемые отдельными
компонентами, такими как сервис Server, который вынужден выбирать один
протокол из нескольких. Предположим, что модем в системе используется
исключительно для выхода в Интернет, тогда можно смело разорвать
привязку между протоколом NetBEUI и Remote Access WAN Wrapper — драйвером
484
Часть IV. Сетевые операционные системы
адаптера, также обслуживающим модем, поскольку в рассматриваемом случае
требуется только драйвер протокола TCP/IP.
Кнопки Move Up и Move Down предназначены для управления приоритетом
привязок. Например, расположение протокола TCP/IP выше NetBEUI для
конкретного сервиса будет означать, что этот сервис всегда будет
задействовать протокол TCP/IP, даже если в системе инсталлированы оба протокола.
Протоколом NetBEUI данный сервис будет пользоваться только в случае,
если попытка соединения по протоколу TCP/IP будет неудачной. Для
установления в системе протокола по умолчанию требуется отобразить в окне
привязки сервисов и переместить желаемый протокол на вершину списка
для обоих сервисов: Server и Workstation.
API
Сервисы —- не единственные компоненты, взаимодействующие с TDI в
системе Windows NT. Такие API, как NetBIOS или Windows Sockets также
отправляют и получают данные через TDI, обеспечивая отдельным типам
приложений возможность коммуникации с другими системами сети в обход
сервисов Server или Workstation. Windows NT поддерживает также некоторые
другие API, работающие на более высоких уровнях стека и задействующие
стандартные сервисы для связи с TDI.
NetBIOS
NetBIOS является неотъемлемым компонентом сетевой архитектуры на базе
Microsoft Windows, потому что этот API обеспечивает пространство имен,
используемое для идентификации доменов, компьютеров и общих ресурсов
сети. В силу врожденной зависимости Windows NT от NetBIOS, она
поддерживает данный интерфейс во всех своих протоколах. NetBEUI
последовал позже как средство для предоставления транспортных услуг NetBIOS, a
стандарты NetBIOS поверх TCP/IP (NetBT), разработанные проблемной
группой проектирования сети Интернет (IETF), позволили связать его с
протоколами TCP/IP. NWLink — реализация протокола IPX для
Windows NT, также поддерживает NetBIOS. Windows 2000, сохраняя
совместимость с предыдущими версиями Windows NT, базируется на DNS-имена для
идентификации сетевых ресурсов.
^ Примечание ^д
Для получения более подробной информации о применении NetBIOS и NetBT в
Windows NT см. главу 19. Более подробную информацию о системе обмена
сообщениями между NetBIOS и NetBEUI см. в главе 13.
Кроме пространства имен NetBIOS и ее системы обмена сообщениями,
Windows NT оказывает услуги приложениям, ориентированным непосредст-
Глава 14. Windows NT и Windows 2000
485
венно на интерфейс NetBIOS. В настоящее время эти приложения
достаточно редки, но Windows NT предоставляет им эмулятор NetBIOS, который
работает выше TDI в режиме ядра. NetBIOS API реализован в виде модуля
Netapi32.dll.
Windows Sockets
Спецификация Windows Sockets определяет один из API, на который
опирается большая часть сетевого программного обеспечения, поскольку он
является общепринятым стандартом для доступа в сеть Интернет. Все Web-
браузеры, FTP-клиенты и другие клиентские и серверные приложения
используют Windows Sockets (Winsock) для обращения к сетевым ресурсам.
В отличие от NetBIOS, Winsock не поддерживает все протоколы
Windows NT. Хотя он и может совмещаться с NWLink (IPX), подавляющее
большинство приложений на основе Winsock взаимодействуют исключительно с
протоколом TCP/IP. Как и в случае NetBIOS, Winsock представлен в
Windows NT эмулятором, который функционирует непосредственно над TDI в
режиме ядра, и драйвером, работающим в режиме пользователя (Wsock.dll).
Дополнительные сервисы Windows NT
Помимо базовых сервисов, Windows NT, а в особенности ее версия для
сервера, включает большое количество дополнительных сервисов, установить
которые можно как одновременно с операционной системой, так и в любое
другое время после ее инсталляции. Некоторые из этих сервисов
обсуждаются в следующих разделах.
Сервис межсетевого интерфейса
для NetWare
В дополнение к стандартному сетевому клиенту Microsoft Windows, в
Windows NT входит клиент, позволяющий системе устанавливать связь с
серверами NetWare. Соединение с сетями NetWare было слабым местом
Windows NT в течение относительно долгого времени. Как Microsoft, так и
Novell обеспечили Windows NT вскоре после выхода ее релиза NetWare-
клиентами, но в течение нескольких лет оба клиента имели ограниченные
возможности и их эффективность оставляла желать лучшего. Клиент
производства Microsoft гарантировал надежное соединение, но его ранние версии
не поддерживали связь с привлечением службы каталогов Novell (NDS,
Novell Directory Services). NetWare-клиент для Windows NT 4.0 включает
поддержку NDS, но не позволяет в полной мере воспользоваться
административными функциями NetWare, которые без ограничений обеспечивает
только NetWare-клиент производства Novell.
486
Часть IV. Сетевые операционные системы
К^ Примечание ^Д
NetWare-клиент для Windows NT, выпущенный Novell, предоставлял поддержку
NDS задолго до выхода клиента производства Microsoft, и в настоящее время
для управления деревом NDS с помощью утилиты NetWare Administrator более
целесообразно задействовать клиент Novell. Для получения более подробной
информации б NetWare-клиенте для Windows NT фирмы Novell см. главу 17.
В Windows NT существуют следующие два варианта NetWare-клиента:,
версия для рабочей станции включает сервисы клиентской стороны для
NetWare (CSNW, Client Services for NetWare), а в версию для сервера входят
межсетевые сервисы для NetWare (GSNW, Gateway Services for NetWare).
Оба варианта сервисов позволяют устанавливать соединение с сетью NetWare
через специальный редиректор, который предоставляет возможность связи
со службой каталогов NetWare (NDS) и доступ к серверам, дискам и
принтерам NetWare, как к обычным сетевым ресурсам Windows. Единожды
соединившись, можно назначить дискам NetWare буквенные идентификаторы
или же обращаться к ним прямо, применяя как систему обозначений NetWare
(серверном), так и стандартную UNC-нотацию, используемую Windows NT
(\\сервер\том).
Gateway Service for NetWare
Username: Administrator
f* Preferred Server
Current Preferred S erver: < N one>
Select Preferred Server: |
(• default Tree and Context
Iree: JNWTREE
Context: (CorpNet
- Print Options
Г" Add Form Feed
W Notify When Printed
W Print Banner
Login Script Options—
V Run Login Script
OK
[jj ate way!., ji
Cancel
Help
Overview
Рис. 14.9. Панель
управления GSNW
Глава 14. Windows NT и Windows 2000
487
GSNW имеет более расширенный набор сервисов по сравнению с CSNW и
позволяет клиентам сети Windows обращаться к дискам NetWare без
необходимости запуска собственных клиентов NetWare. Раскрыв панель
управления GSNW (рис. 14.9), можно организовать соединение при помощи
NetWare-клиента с выбранными томами на серверах NetWare, описав их как
ресурсы совместного пользования сети Windows. Другие компьютеры сети
будут видеть эти диски как обычные ресурсы сервера Windows NT и могут
получать доступ к ним обычными способами. Клиентам сети Windows не
обязательно запускать клиентов NetWare, поскольку сервер Windows NT
функционирует как межсетевой шлюз к серверу NetWare.
Применение сервера Windows NT для межсетевого перехода к сети NetWare
удобно, но этот метод в большинстве случаев совершенно не подходит для
интенсивного сетевого взаимодействия, если только сам сервер Windows NT и
соединение между ним и сетью NetWare не способны обеспечить достаточную
скорость для поддержания комбинированного сетевого трафика, создаваемого
большим количеством пользователей. Сервер Windows NT не должен служить
критическим элементом, замедляющим взаимодействие сетей.
DHCP-сервер Microsoft
В отличие от NetBEUI и IPX, использование протокола TCP/IP
предполагает выделение каждому компьютеру сети уникального IP-адреса, а также
задание других важных параметров. Сервер DHCP (Dynamic Host Configuration
Protocol, протокол динамической конфигурации хоста) является
приложением, разработанным специально для автоматического назначения клиентским
системам требуемой TCP/IP-конфигурации, что позволяет сетевому
администратору избежать утомительной рутинной работы по ручной настройке
сети. Более подробная информация о DHCP содержится в главе 18.
Служба WINS
Служба WINS (Windows Internet Naming Service, служба имен сети Интернет
для Windows) представляет собой другой сервис, нацеленный на применение
протокола TCP/IP в сети Windows. Сети Windows идентифицируют
компьютеры при помощи имен NetBIOS, но для пересылки пакета конкретной
машине посредством протокола TCP/IP отправитель должен сначала узнать ее
IP-адрес, ассоциированный с эти именем. WINS является сервером базы
данных, хранящей информацию о NetBIOS-именах компьютеров сети и
соответствующих им IP-адресах. Когда одна система сети хочет передать
информацию другой, она посылает запрос серверу WINS, содержащий имя
NetBIOS системы-адресата, а в ответ получает ее IP-адрес. Более подробная
информация об именах NetBIOS и NetBEUI содержится в главе 19.
488
Часть IV. Сетевые операционные системы
DNS-сервер Microsoft
На сервер DNS (Domain Name System, система имен доменов) возлагается
задача, аналогичная серверу WINS, он предназначен для согласования
легких для восприятия имен, назначаемых компьютерам в сети с их IP-
адресами, применяемыми в соединениях по протоколу TCP/IP.
Разработанный для обеспечения взаимодействия компьютеров через сеть Интернет,
DNS-сервер преобразует имена доменов (доменов Интернета, а не доменов
Windows NT) в соответствующие IP-адреса. При этом он либо сверяется с
собственными данными, либо посылает запрос другому DNS-серверу.
Указанную функцию поддерживает DNS-сервер, включенный в Windows NT 4.0.
Роль DNS-сервера значительно более расширена в Windows 2000. Служба
каталогов Active Directory, реализованная в Windows 2000, использует DNS-сервер
вместо WINS для хранения информации обо всех объектах сети и обеспечения
доступа к ним. Более подробная информация о DNS-сервере Microsoft и его
статусе в сетях на базе Windows NT и Windows 2000 содержится в главе 20.
Сервер маршрутизации
и удаленного доступа
Возможность многопротокольной маршрутизации всегда включалась в
Windows NT в качестве компонента ОС. Если в компьютере установлены
два сетевых интерфейса, имеющие вид сетевых адаптеров или модемных
соединений, трафик, проводимый только одним из поддерживаемых
протоколов, может свободно проходить через систему и объединять два сегмента
сети, формируя сетевой комплекс. Более поздним усовершенствованием
фирмы Microsoft явился дополнительный сервис для Windows NT 4.0,
существенно усиливающий возможности маршрутизации в Windows NT. Он
получил название сервера маршрутизации и удаленного доступа (RRAS, Routing
and Remote Access Server).
В Windows NT сервис RRAS обеспечивает более сложную маршрутизацию,
например, с использованием глобальных сетей и коммутируемых
соединений. Данный сервис поддерживает также предоставление канала по
требованию, протокол OSPF, протокол двухточечного тунеллирования (РРТР,
Point-to-Point Tunneling Protocol) для многопротокольных виртуальных
частных сетей, графическую утилиту для управления таблицей маршрутизации
Windows NT и сетевыми соединениями. Более подробная информация о
сервисе RRAS содержится в главе 6.
Распределенная файловая система
Распределенная файловая система Microsoft (DFS, Distributed File System) —
это сервис для Windows NT 4.0 и Windows 2000, позволяющий создавать
виртуальное дерево каталогов, состоящее из файлов и каталогов совместного
Глава 14. Windows NT и Windows 2000
489
пользования, которые могут быть в действительности расположены в любом
месте сети. Пользователю не требуется просматривать множество серверов в
поисках нужного ресурса, вместо этого он может получить доступ к любому
общему ресурсу из единого дерева каталогов распределенной файловой
системы (DFS). У такого подхода есть целый ряд преимуществ.
□ Пользователи изолированы от фактического, физического расположения
файлов.
□ Администраторы сети могут переносить файлы на другие диски или
серверы без нарушения видимой пользователями структуры дерева DFS.
□ Нагрузка файлового трафика, приходящаяся на конкретный сервер,
может быть перераспределена между другими серверами, тем самым может
быть улучшена производительность сети в целом.
□ Дерево DFS может обеспечивать дополнительную отказоустойчивость в
случае сбоев оборудования за счет использования альтернативных путей
доступа к дубликатам файлов на других серверах.
й Dh Admmislrdlur |V\C£1\dfs]
Dfs View Help
JSlxj
g3|fc| Vl ES:
Name
Q\\CZ1\dfs
t3\\CZ1\dfs\archives
jSe
Comment
WCZndfs
\\Cz3\ARCHIVES
Dfs Root Volume
Add To Dfs
WC2
r Dfs Path Map —
When a user references this path:
\\CZ1\dfs\|docs
£end the user to this network path:
j\\Cz5\C\My Documents
Browse...
I
[ Bjowse...
1
Comment:
OK
Cancel
Рис. 14.10. Утилита Windows NT Dfs Administrator
При инсталляции DFS в системе под управлением серверных версий
Windows NT 4.0 или Windows 2000 создается корневой том (root volume).
В дальнейшем, запустив графическую утилиту Dfs Administrator (рис. 14.10)
или утилиту командной строки Dfcmd.exe, можно создавать тома-листья
(leaf volumes), которые будут "расти" от корневого тома. (В Windows 2000
утилита Dfs Administrator является встроенным элементом консоли управления
490 Часть IV. Сетевые операционные системы
Microsoft [MMC].) Тома-листья могут располагаться на дисках компьютеров,
управляемых любой ОС, к которой возможен доступ из Windows NT,
включая Windows Эх, Windows for Workgroups или Novell NetWare. Пользователи
видят корневой том как совместно разделяемый ресурс сервера Windows NT,
а тома-листья — как подкаталоги обычного вида, несмотря на то, что они
могут находиться на других дисках или даже в других системах.
[^ Примечание ^Ц
Распределенная файловая система Microsoft включена в три пакета
Windows 2000 для сервера, но для Windows NT 4.0 она является дополнением. Его
можно бесплатно загрузить с сайта Microsoft по адресу: www.microsoft.com/
ntserver/nts/downloads/winfeatures/NTSDistrFile.
DFS не обладает собственной системой безопасности. Пользователи,
которым разрешен доступ к файлу, каталогу или диску по месту их фактического
расположения, могут также получать его и при помощи дерева DFS,
Разрешение на доступ в корневой том не является необходимым условием для
пользователя, желающего войти в один из его подкаталогов.
Информационный сервер сети Интернет
IIS (Internet Information Server, информационный сервер сети Интернет)
является частью Интернет-пакета Windows NT, содержащего дополнительно
Web- и FTP-серверы, а также другие инструменты для создания Web-сайтов
и различных Web-приложений. В базовый комплект Windows NT 4.0
включен IIS версии 2.0. Последняя версия IIS под номером 4.0 входит в
Windows NT Option Pack 4.0, который в настоящее время поставляется со
всеми версиями Windows NT для сервера. Option Pack состоит из
компонентов, перечисленных ниже.
□ Microsoft Internet Information Server 4.0. Обеспечивает функции НТТР-
(World Wide Web) и FTP-серверов.
□ Microsoft Transaction Server 2.0. Отвечает за обработку транзакций на
основе компонентов для Web-приложений.
□ Microsoft Message Queue Server 1.0. Позволяет Web-приложениям
отправлять и получать сообщения через сеть.
□ Internet Connection Services for Microsoft RAS. Расширяет возможности
сервиса удаленного доступа (RAS, Remote Access Service) Windows NT,
предоставляя возможность соединения с удаленными сетями или
провайдерами Интернета, а также доступа в Интернет и в виртуальные частные
сети.
□ Microsoft Index Server 2.0. Позволяет Web-сайтам с установленным IIS
осуществлять индексацию и поиск ресурсов.
Глава 14. Windows NT и Windows 2000
491
□ Microsoft Certificate Server 1.0. Создает, отменяет и обновляет цифровые
сертификаты, используемые Web-приложениями для аутентификации
пользователей.
□ Microsoft Site Server Express 2.0. Отвечает за функции публикации и
анализа посещаемости Web-сайтов.
□ Personal Web Server for Microsoft Windows 95. Реализует возможности
Web-сервера для систем на базе Windows 95 и 98.
□ Microsoft Internet Explorer 4.01. Работает в качестве HTTP- и FTP-клиента.
1^ Примечание ^|
Option Pack доступен для бесплатной загрузки на Web-сайте Microsoft по адресу:
WNAA^.microsoftxom./ntseiver/nts/downloads/recommended/NT40ptPkl но его полная
версия имеет размер более 85 Мбайт, поэтому для пользователей с низким
качеством связи с Интернетом более надежным вариантом будет заказ Option
Pack в фирме Microsoft на диске CD-ROM. Более подробную информацию о I IS
можно получить в главе 24.
Сервис распределения нагрузки
Сервис распределения нагрузки (WLBS, Windows NT Load Balancing Service)
входит в Windows NT Server 4.0 Enterprise Edition и может быть бесплатно
загружен с Web-сайта Microsoft, как стандартное дополнение к версии
Windows NT Server 4.0, по адресу: www.microsoft.com./ntserver/nts/downloads/
winfeatures/WLBS. Этот сервис позволяет объединить до 32 серверов
Windows NT в кластер, который будет обеспечивать одинаковый уровень
услуг большому количеству ТСР/1Р-клиентов.
WLBS был первоначально разработан для Web-сайтов с высоким уровнем
сетевого трафика, где один сервер был заведомо недостаточен для
поддержки предполагаемого числа пользователей. Поскольку DNS-имя Web-сервера
может соответствовать только одному IP-адресу, весь трафик клиентов
должен использовать именно этот адрес в качестве адреса назначения. WLBS
создает виртуальный IP-адрес, представляющий с точки зрения клиентов
только один сервер. На самом же деле существует некоторое количество
Web-серверов с одинаковой информацией, которые общаются между собой
при помощи WLBS. Сервис распределяет входящий трафик равномерно
между серверами, входящими в кластер, что позволяет им функционировать
как единое целое.
Серверы в пределах кластера постоянно обмениваются сообщениями,
которые называются "ударами сердца" (heartbeats), уведомляя друг друга о своих
текущих операциях. Если трафик через Web-сайт увеличивается,
администраторы могут просто добавить еще один или несколько серверов в кластер.
492 Часть IV. Сетевые операционные системы
Когда один из серверов кластера не справляется с нагрузкой, перерыв в
передаче сообщений heartbeats сигнализирует об этом остальным серверам, и
они модифицируют свою конфигурацию, запуская процесс конвергенции
(convergence), и берут на себя рабочую нагрузку такого сервера.
Сервер кластеров Microsoft
Сервер кластеров Microsoft (Microsoft Cluster Server) — другой сервис (сервер
кластеров Microsoft), включенный в Windows NT Server 4.0 Enterprise Edition
и Windows 2000 Advanced Server. В данном контексте кластер представляет
собой пару серверов Windows NT, полностью дублирующих функции друг
друга, а не только исполнение конкретного приложения. Для клиентских
систем кластер представляется в виде единого объекта, и, когда один из
серверов выходит из строя, второй продолжает обслуживать клиентов. Тем не
менее, взаимоотношения между серверами не сводятся к модели, когда
второй сервер простаивает в ожидании, в случае, если первый даст сбой. Оба
сервера могут выполнять приложения независимо, и при отказе одного из
них второй сервер берет на себя его функции и стартует у себя то
приложение, которое выполнялось на первом сервере. Кроме этого, приложения,
учитывающие кластеризацию серверов (cluster-aware applications), могут
распределять свои функции между серверами кластера для выравнивания
нагрузки. Хотя в настоящее время Cluster Server поддерживает только два
сервера в кластере, скоро ожидается появление версий, позволяющих
объединять в кластер большее количество серверов.
Система безопасности Windows NT
Система обеспечения безопасности является неотъемлемой частью
операционной системы Windows NT, и многие из задач, решаемых в ходе
повседневной деятельности администратора сети, так или иначе связаны с
системой безопасности. Проще говоря, механизмы защиты Windows NT были
разработаны для предохранения аппаратного и программного обеспечения
сети, а также информации, от случайного повреждения и
несанкционированного доступа. Смысл процесса управления системой защиты заключается
в том, чтобы обеспечить пользователям доступ ко всем тем ресурсам,
которые им необходимы, и изолировать от тех ресурсов, в которых
необходимости нет. Этот принцип легко постулировать теоретически, но практическое
его воплощение представляет серьезные трудности для администратора сети.
Правильная эксплуатация всех инструментов построения системы защиты и
управления ею, предоставляемых Windows NT, есть основа безопасной и
продуктивной работы любой сети.
Глава 14. Windows NT и Windows 2000
493
Архитектура системы безопасности
Windows NT
Подсистема безопасности Windows NT интегрирована в саму ОС и
представлена большим количеством различных компонентов, как показано на
рис. 14.11. В отличие от подсистем окружения, таких как Win32, также
работающих в режиме пользователя, подсистема безопасности относится к не-
отъемлемым или интегральным подсистемам (integral subsystems), так как
используется всей ОС. Все компоненты подсистемы безопасности
взаимодействуют с Security Reference Monitor, арбитром безопасности,
работающим в режиме ядра, который сравнивает все запросы на конкретные
ресурсы со списком элементов контроля доступа (ACL) этих ресурсов.
Режим пользователя
Журнал
аудита
Процесс
регистрации
Локальные
средства
защиты
" -ъ^~ ■■-■ -
[Администратор)
учетных
данных
База данных
политики
безопасности
Монитор
контроля доступа
Исполняющая подсистема
Режим ядра
Рис. 14.11. Архитектура системы безопасности Windows NT
Компоненты подсистемы безопасности, работающие в режиме пользователя,
перечислены ниже.
□ Logon Process (процесс регистрации). Механизм, отвечающий за прием
данных от пользователя при его входе в систему и начало процесса
подтверждения подлинности пользователя.
□ Local Security Authority (LSA, локальные средства защиты). Работает как
"пульт управления" подсистемы безопасности: инициирует разрешение на
вход в систему, вызывает аутентификационные пакеты программ, создает
маркеры доступа, управляет локальными системными политиками,
регистрирует записи аудита.
□ Security Accounts Manager (SAM, администратор учетных данных в
системе защиты). База данных, содержащая информацию о разрешениях
(permissions) на доступ пользователей или их групп к ЛВС или домену.
□ Security Policy Database (база данных политики безопасности). Включает
информацию о правах (rights) пользователей, аудите и доверительных
отношениях.
494
Часть IV. Сетевые операционные системы
□ Audit Log (журнал аудита). Содержит все контрольные записи событий,
связанных с системой безопасности и изменениями в стратегии
безопасности.
В процессе обычного подключения пользователя к сети эти компоненты
взаимодействуют в порядке, представленном далее.
1. Процесс входа в Систему начинается с появления диалогового окна
Logon, появляющееся тогда, когда пользователь нажимает <Ctrl>+
+<Alt>+<Del> после загрузки системы, или его может инициировать
другой сетевой клиент (например, клиент NetWare для Windows NT).
После этого пользователь вводит имя и пароль.
2. Процесс Logon вызывает средства локальной защиты (LSA), которые
инициируют процедуру аутентификации пользователя.
3. Процедура аутентификации сопоставляет введенные пользователем
данные аутентификации с информацией в локальной базе данных SAM или,
если решается вопрос о доступе к домену, перенаправляет их процедуре
аутентификации контроллера домена.
4. После того, как имя пользователя и пароль подтверждены, SAM
формирует ответ, содержащий идентификаторы защиты (SID) данного
пользователя и всех групп, в которые он входит, и передает его процедуре
аутентификации.
5. Процедура аутентификации начинает сеанс регистрации и передает
полномочия LSA, вместе с SID.
6. LSA создает маркер доступа (security access token), содержащий SID
пользователя, информацию о его правах, связанных с этим SID, а также имя
пользователя и имена всех групп, в которые он входит. Маркер доступа
посылается процессу Logon, сигнализируя об успешной регистрации.
С этого момента ОС будет использовать SID пользователя из маркера
доступа для аутентификации пользователя каждый раз, когда
пользователь попытается получить доступ к любому объекту в системе.
7. Процедура регистрации передает маркер доступа подсистеме Win32,
которая отвечает за загрузку конфигурации рабочего стола для данного
пользователя.
Большая часть работы подсистемы безопасности прозрачна для пользователей
или администраторов. Наиболее бросающимся в глаза при повседневной
деятельности компонентом системы безопасности является база данных SAM,
содержащая учетные записи всех пользователей, их групп и компьютеров сети
Windows NT. Каждый компьютер под управлением Windows NT имеет свою
собственную базу данных SAM для локального доступа, а каждый домен
имеет дополнительную базу данных SAM, копия которой хранится на каждом из
контроллеров домена. Любой объект в системе, защищенный подсистемой
безопасности Windows NT, содержит дескриптор защиты, включающий спи-
Глава 14. Windows NT и Windows 2000
495
сок элементов контроля доступа (ACL). ACL состоит из элементов контроля
доступа (АСЕ), определяющих, каким пользователям или их группам
разрешен доступ к данному объекту и какого рода операции им разрешено с этим
объектом проделывать. Определение прав на доступ к объекту, например,
файлу, каталогу, диску или ключу системного реестра меняет именно эти
элементы (АСЕ) списка ACL данного объекта. Например, в диалоговом окне
Access Through Share Permissions можно просматривать (как показано на
рис. 14.12) список пользователей и их групп, включенных в базу данных SAM
и имеющих разрешение на обращение к конкретному ресурсу совместного
использования. Выбирая пользователей и разрешая им доступ к ресурсу,
можно добавить их к ACL для этого ресурса.
Access Through Share Permissions
Access Through Share:
Owner:
Name:
;в|г AdnwHstrators
@ Everyone
Full Control
lype of Access: | Full Control
"3
["""'0K"""'"]| Cancel I Add... I Remove j Help |
Рис. 14,12. Диалоговое окно Access Through Share Permissions
Домены и безопасность
При регистрации пользователя на домене Windows NT система обращается
для аутентификации к базе данных SAM, расположенной на одном из
контроллеров домена (DC). Эта база данных на DC хранит информацию об
учетных записях пользователей, групп пользователей и отдельных
компьютеров относительно доступа к домену, и ОС обращается к ней всякий раз,
когда кем-либо запускается утилита, пытающаяся изменить ACL системных
объектов. Во время работы с доменом диалоговое окно Access Through Share
Permissions содержит список пользователей и групп из базы данных SAM
домена, и выглядит аналогично одноименному диалоговому окну для
локальной SAM. Можно также выбирать пользователей и их группы из других
доменов сети, но только если эти домены находятся в доверительных
отношениях с доменом, к которому принадлежит данная система.
496
Часть IV. Сетевые операционные системы
^ Примечание j|
Для получения более подробной информации о доменах Windows NT
см. главу 22.
Когда компьютер с Windows NT является элементом домена, локальная база
данных SAM по-прежнему существует. Диалоговое окно Logon Infonnation
позволяет выбрать для текущей работы домен или локальную систему.
Необходимо помнить, что базы данных SAM для домена и локальной машины
могут включать учетные записи о доступе пользователей с одинаковыми
именами. Например, учетная запись "Администратор" присутствует и в базе
данных домена и локальной системы. Однако эти две учетные записи не
взаимозаменяемы. Они имеют разные пароли и предполагают различные
права и привилегии, например, для установки сетевого адаптера необходима
регистрация в качестве администратора в локальной системе (или лица,
обладающего аналогичными полномочиями). Вместе с тем, регистрация в
качестве администратора домена (по умолчанию) не дает прав на
модификацию аппаратного обеспечения локальной системы.
Учетные записи пользователей
Работа с учетными записями пользователей (user accounts), иначе
называемыми бюджетами или учетными формулярами, является одной из базовых
административных задач в Windows NT. Необходимо помнить, что возможны
разные учетные записи одного и того же пользователя для локальной
системы и для домена. Например, рабочая станция Windows NT имеет учетную
запись "Администратор" в локальной базе данных SAM, создаваемую по
умолчанию при инсталляции ОС. Если же рабочая станция включена в
домен, существует и другая учетная запись "Администратор" в базе данных
SAM домена, расположенной на DC.
Эти две учетные записи могут иметь разные пароли, представлять разные
группы, предполагать разные права и не должны смешиваться. Пользователь
может зарегистрироваться в качестве администратора домена или локальной
системы, выбрав имя локальной системы или имя домена в поле Domain
диалогового окна Logon Information. На DC существует только одна
регистрационная запись "Администратор", предназначенная одновременно для
администраторов локальной машины и домена.
Рабочие станции и серверы Windows NT, не являющиеся контроллерами
домена, имеют утилиту User Manager для создания и удаления
индивидуальных и групповых учетных записей, а также управления их свойствами.
Контроллеры доменов оснащены утилитой User Manager for Domains (рис. 14.13),
функционирующей подобным образом, но она работает с базами данных
SAM домена, локализованными на первичных контроллерах домена (PDC),
вместо локальной базы данных.
Глава 14. Windows NT и Windows 2000
497
Программа User Manager позволяет создавать, блокировать и удалять
учетные записи пользователей, а также настраивать их свойства. Список свойств
представлен ниже.
□ Passwords (пароли). Определяет пароли пользователей, позволяет
принудить пользователя изменить пароль, а также разрешить или запретить ему
самому изменять свой пароль.
□ Groups (группы). Идентифицирует локальные и/или глобальные группы,
членом которых является данный пользователь.
□ Profile (профиль). Указывает расположение профиля пользователя и
домашнего каталога пользователя.
□ Hours (часы работы). Задает границы временного промежутка, в течение
которого пользователю разрешен доступ в систему.
□ Logon To (регистрировать в). Содержит адреса рабочих станций, с
которых пользователь может войти в систему.
□ Account (учетная запись). Объявляет срок истечения бюджета вне
зависимости от того, глобальный или локальный характер он имеет.
I : User Manaqer - NTDOMAIN ИНЕЗ|
User View Policies
Username
[E Administrator
& craigz
S ethel
fi fred
S Guest
S install
fi IUSR CZ1
fi IWAIvLCZI
& jdoe
Options
Help 1
1 Full Name j Description 1
Built-in account for administering the col
Craig Z acker I]
Built-in account for guest access to the 1
installer -Jl
Internet Guest Account Internet Server Anonymous Access
Web Application Manager Internet Server Web Application Manac J
John Doe Domain User ▼j|
Groups
|Ц!1 Account Operators
2* Administrators
MAppStation
SlAppusers
IIP Backup Operators
{Description j
Members can administer domain user and qroup accounts ±l\
Members can fully administer the computer/domain li
Members can bypass file security to back up files ▼(
Рис, 14.13. Утилита User Manager for Domains для Windows NT
Использование утилиты User Manager не позволяет определить права
пользователей для таких ресурсов, как сетевые диски или принтеры, поскольку
информация о возможности доступа к ним не хранится в базе данных SAM.
Списки элементов контроля доступа (ACL) для файлов и каталогов
представляют собой часть файловой системы, ссылки на учетные формуляры
пользователей в базе данных SAM содержатся в них.
498
Часть IV. Сетевые операционные системы
^ Примечание ^Д
Утилита User Manager for Domains имеет ряд других важных функций, кроме
обслуживания бюджетов пользователей. О них будет рассказано в следующих
разделах.
Для администрирования учетных записей пользователей не обязательно
сидеть за- клавиатурой DC и пользоваться утилитой User Manager for Domains.
Каталог \Clients\Srvtools с установочного CD-ROM-комплекта Windows NT 4.0
Server содержит многочисленные инструменты управления сервером (Server
Tools) для Windows NT и Windows 9x, которые могут быть добавлены к
любой системе сети. В табл. 14.1 перечислены все компоненты наборов утилит
управления сервером.
Созданы и другие утилиты для управления регистрацией пользователей в
системе Windows NT. User Manager достаточно удобная и интуитивная
программа, но, как и в случае большинства утилит с графическим интерфейсом,
работа с ней вызывает определенные сложности, если речь идет о
выполнении задач, связанных с многочисленными повторяющимися операциями.
Таблица 14.1. Наборы утилит администрирования
для Windows 9x и Windows NT
Windows 9x Windows NT
User Manager for Domains User Manager for Domains
Server Manager Server Manager
Event Viewer Event Viewer
DHCP Administrator
WINS Administrator
System Policy Editor
RAS Administrator
Remoteboot Manager
Команда NET USER позволяет создавать и удалять учетные записи
пользователей прямо из командной строки Windows NT, ее применение можно
проиллюстрировать следующим примером:
NET USER jdoe /add/fullname:''John Doe"
Другие параметры, позволяющие задавать значения определенных
элементов бюджетов, перечислены ниже.
□ /active: [Yes|No]. Активизирует или блокирует бюджет пользователя.
□ /comment:44текст ". Описание учетной записи пользователя.
Глава 14. Windows NT и Windows 2000
499
□ /expires:[mm/dd/ytfuever]. Дата истечения срока действия учетной записи
пользователя.
□ /homedinnjwib. Путь к домашнему каталогу пользователя,
ассоциированному с данной учетной записью.
□ /homedirreq:[Yes|No]. Определяет, должен ли владелец данного бюджета
иметь домашний каталог.
□ /passwordchg:[Yes|No]. Разрешает или запрещает пользователю изменять
свой пароль.
□ /passwordreq:[Yes|No]. Признак наличия пароля для учетной записи
пользователя.
□ /profilepath://j7Hb. Расположение пользовательского профиля, связанного
с данной учетной записью.
□ /scriptpath.*jzjwi6. Указывает местонахождение файла-сценария
регистрации, ассоциированного с данной учетной записью.
□ /times:[dama,epejm\dXl]. Дата и время, когда владельцу данной учетной
записи разрешено регистрироваться.
□ /workstations:[имена компьютеров]*]. До 8 имен NetBIOS рабочих
станций (разделенных запятыми), на которых владелец учетной записи может
войти в систему.
Для добавления большого количества учетных записей Windows NT Server
4.0 Resource Kit имеет утилиту под названием Addusers.exe, создающую
учетные записи массированно из текстового файла с
разделителями-запятыми, который легко можно получить с помощью любой программы для
электронных таблиц, например, Microsoft Excel. В фафах таблицы может
быть перечислено содержимое многочисленных параметров учетных
записей, затем надлежит экспортировать информацию из таблицы в текстовый
файл с разделителями-запятыми. После этого следует запустить Addusers.exe
из командной строки, задав данный файл в качестве параметра, наряду с
другими опциями, определяющими характер бюджетов, которые
планируется создать.
^ Примечание j|
В набор Windows NT Server 4.0 Resource Kit Supplement 3 входит
усовершенствованная версия Addusers.exe, содержащая дополнительные опции командной
строки, которых нет в более ранних версиях. К ним относятся параметры,
задающие такие свойства учетных записей, как "Пользователь обязан сменить
пароль при следующем входе в систему" (User Must Change Password At Next
Logon), "Пользователь не может изменить пароль" (User Cannot Change
Password), "Пароль бессрочен" (Password Never Expires) и "Учетная запись
заблокирована" (Account Disabled).
500
Часть IV. Сетевые операционные системы
Глобальные и локальные группы
Как локальная база SAM, так и база данных SAM домена содержат сведения
о группах пользователей, но эти группы имеют различные свойства и
функции. Группы SAM домена называются глобальными группами (global groups)
или иногда группами домена (domain groups), так как относятся ко всем
компьютерам домена. Локальными группами (local groups) называются группы,
относящиеся только к компьютеру, на котором они существуют. В табл. 14.2
перечислены типы учетных записей, которые могут входить в локальные и
глобальные группы. Члены глобальной группы должны быть пользователями
домена, то есть пользователями в базе данных SAM домена. Пользователи
локальной системы не могут быть членами глобальной группы так же, как и
пользователи домена не могут принадлежать к другому домену. Помимо
этого, глобальные группы не могут включать другие группы (локальные или
глобальные) в качестве своих членов. Если предоставить разрешение
глобальной группе, то все пользователи домена, входящие в эту группу, получат
права, связанные с этим разрешением, независимо от того, на каком
компьютере домена они регистрируются.
Напротив, локальные группы в качестве своих членов могут включать
локальные регистрационные записи пользователей и регистрационные записи
пользователей домена, а также глобальные группы из своего домена и
доменов, находящихся с ним в доверительных отношениях. Определяя
глобальные группы в качестве членов локальных групп, можно значительно
упростить процесс разрешения доступа к ресурсам системы. Предположим, что
сервер Windows NT имеет в наличии 5 дисков, предоставленных в
совместное использование, и заведено 5 глобальных групп, каждой из которых
предполагается разрешить доступ к каждому из дисков. Вместо того, чтобы
добавлять каждую из глобальных групп к числу пользователей, которым
разрешен доступ к диску, можно просто создать на сервере локальную
группу с доступом ко всем этим ресурсам, и сделать все глобальные группы ее
членами. В этом случае будут добавлены только 10 АСЕ, а не 25.
Таблица 14.2. Ограничения на принадлежность к глобальным
и локальным группам
Глобальные группы Локальные группы
Локальные пользователи
Пользователи домена
Локальные группы
Глобальные группы
Пользователи других
доверяемых доменов
Нет
Да
Нет
Нет
Нет
Глава 14. Windows NT и Windows 2000
501
Таблица 14.2 (окончание)
Глобальные группы других
доверяемых доменов
Глобальные группы
Нет
Локальные группы
Да
Как и в случае индивидуальных пользователей, учетные записи для групп
создаются с применением утилит User Manager или User Manager for
Domains. User Manager позволяет оперировать только локальными
группами, a User Manager for Domains — как локальными, так и глобальными.
Посредством команды NET GROUP можно завести новые глобальные
группы и исключить уже существующие, добавить других пользователей в
группу. Команда NET LOCALGROUP обеспечивает те же функции для локальных
групп. Windows NT Server 4.0 Resource Kit включает дополнительные утилиты,
помогающие в административной работе с группами.
□ Global.exe. Выводит список членов глобальной группы конкретного
домена или сервера.
□ Local.exe. Отображает список членов локальной группы домена или сервера.
□ Grcopy.exe. Копирует список членов из одной существующей группы в
другую.
□ Ifmember.exe. Представляет собой командный файл, определяющий,
является ли пользователь членом конкретной группы (или групп), и
выдающий результат с учетом уровня серьезности ошибки (errorlevel) при ее
наличии.
□ Showgrps.exe. Перечисляет все группы, членом которых является
конкретный пользователь.
□ Showmbrs.exe. Выводит список членов локальной или глобальной группы.
□ Usrtogrp.exe. Позволяет автоматизировать процедуру добавления
множества пользователей в группу, используя для ввода текстовый файл.
Привилегии
В Windows NT под привилегиями (rights) понимаются правила, определяющие
конкретные действия, разрешенные пользователю в локальной системе.
Многие пользуются термином "привилегии" некорректно, подразумевая под этим
разрешения (permissions), например, говоря "пользователь получил привилегию
на доступ к ресурсу". Добавление пользователя или группы к ACL ресурса
совместного использования, файла или каталога способно модифицировать его
разрешения, а не привилегии. Привилегии регламентируют доступ к
конкретным функциям системы, а не доступ к конкретным системным ресурсам.
Например, конфигурация Windows NT по умолчанию предоставляет привилегию
502
Часть IV. Сетевые операционные системы
загружать и выгружать драйверы устройств (Load and Unload Device Drivers
right) только локальной группе администраторов (Administrators). Только
представитель этой группы может установить, например, драйвер для нового
устройства или удалить существующий драйвер. Поэтому в системе Windows NT
с конфигурацией по умолчанию пользователь, зарегистрированный как
администратор домена, не может загружать и выгружать драйверы устройств (об
этом уже упоминалось выше в этой главе).
щ^ Примечание ^j
Привилегии относятся только к тому компьютеру, где они предоставлены,
кроме случая контроллера домена (DC). Если конкретная привилегия выдана
пользователю или группе пользователей в системе одного DC, то она
распространяется на все DC данного домена.
В большинстве случаев привилегии назначаются по группам, а не
индивидуально. Например, чтобы предоставить учетной записи администратора
домена привилегию загружать и выгружать драйверы устройств, можно
определить ее непосредственно для пользователя с такой учетной записью.
Другой вариант заключается в выдаче этой привилегии глобальной группе
Domain Admins, в которую обязательно входит администратор домена, или
включении глобальной группы Domain Admins в локальную группу
администраторов, которая уже обладает указанным правом.
Пользователи с административными полномочиями могут изменять
привилегии в системе на базе Windows NT, используя утилиты User Manager и
User Manager for Domains. При выполнении команды User Rights
(Привилегии пользователя) в меню Policies (Политики) появляется
диалоговое окно User Rights Policy (Политика привилегий пользователя), как
показано на рис. 14.14. При выборе каждой из привилегий в выпадающем
списке Right (Привилегия) окна Grant To (Предоставить) отображаются те
пользователи/группы, которым данная привилегия в настоящее время
предоставлена. При необходимости состав пользователей или групп можно
изменить с помощью кнопок Add (Добавить) и Remove (Удалить).
По умолчанию раздел Right (Привилегия) содержит только основные
привилегии для системы Windows NT. Если перевести переключатель Show
Advanced User Rights (Показать расширенные привилегии) диалогового окна
User Rights Policy (Политика привилегий пользователя) в состояние
"включено", можно добавить расширенные привилегии в выпадающий
список Right (Привилегия). Чаще всего нет необходимости изменять установки
для этих расширенных привилегий. В табл. 14.3 перечислены системные
имена для всех привилегий Windows NT, как базовых, так и расширенных, и
соответствующие им дружественные имена в диалоговом окне User Rights
Policy (Политика привилегий пользователя) утилиты User Manager.
Глава 14. Windows NT и Windows 2000
503
Usei Right* Policy
Domain:
NTDOMAiN
OK
grant To:
Backup Operators
Domain Admins
Everyone
IWAMJCZ1 (Web Application Manager account)
Г" Show Advanced User Rights
В
Cancel
Help
Add... |
Remove
Рис. 14.14. Диалоговое окно User
Rights Policy утилиты User Manager
Привилегии можно также назначать из командной строки Windows NT,
используя утилиту Ntrights.exe из Windows NT Server 4.0 Resource Kit. Базовый
синтаксис для Ntrights.exe имеет следующий вид:
ntrights +r| -г привилегия -и имя группы [-т имя компьютера]
где привилегия — это системное имя привилегии (см. табл. 14.3), которая
предоставляется или отменяется, а имя группы — название группы,
получающей данную привилегию или лишающейся ее. Значение параметра
привилегия зависит от конкретных условий, и, добавляя опцию -т и значение
для переменной имя компьютера, можно изменять привилегии на другом
компьютере сети.
Таблица 14.3. Системные привилегии Windows NT
Системное имя
Имя User Manager
Основная/
Расширенная
SeNetworkLogonRight
SeMachineAccountPrivilege
SeBackupPrivilege
SeSystemTimePrivilege
SeRemoteShutdownPrivilege
SeLadDriverPrivilege
SelnteractiveLogonRight
Access this computer from the network Основная
(доступ к компьютеру по сети)
Add workstations to domain Основная
(добавление рабочих станций в домен)
Backup files and directories Основная
(архивирование файлов и каталогов)
Change the system time (изменение Основная
системного времени)
Force shutdown from a remote system Основная
(удаленное завершение работы
системы)
Load and unload device drivers
(загрузка и выгрузка драйверов устройств)
Основная
Log on locally (локальная регистрация) Основная
504
Часть IV. Сетевые операционные системы
Таблица 14.3 (продолжение)
Системное имя
Имя User Manager
Основная/
Расширенная
SeSecurityPrivilege
SeRestorePrivilege
SeShutdownPrivilege
SeTakeOwnershipPrivilege
SeTcbPrivilege
SeChangeNotify Privilege
SeCreatePagefilePrivilege
SeCreateTokenPrivilege
SeCreatePermanentPrivilege
SeDebugPrivilege
SeAuditPrivilege
SelncreaseQuotaPriviJege
SelncreaseBasePriorityPrivilege
SeLockMemoryPrivilege
SeServiceLogonPrivilege
SeBatchLogonRight
SeSystemEnvironmentPrivilege
Manage auditing and security log Основная
(управление аудитом и журналом
безопасности)
Restore files and directories Основная
(восстановление файлов и каталогов)
Shutdown the system (завершение pa- Основная
боты системы)
Take ownership of files and objects Основная
(смена владельца файлов и других
объектов)
Act as the part of operating system Расширенная
(действительна как часть
операционной системы)
Bypass traverse checking (обход отеле- Расширенная
живания доступа)
Create a pagefile (создание файл под- Расширенная
качки)
Create a token object (создание марке- Расширенная
ра доступа)
Create permanent shared objects Расширенная
(создание специальных постоянных
объектов)
Debug programs (отладка программ) Расширенная
Generate security audits (создание за- Расширенная
писей в журнале аудита)
Increase quotas (увеличение квот) Расширенная
Increase scheduled priority (увеличение Расширенная
уровня приоритета)
Lock pages in memory (блокировка Расширенная
страниц памяти)
Log on as a service (регистрация в ка- Расширенная
честве сервиса)
Log on as a batch job (регистрация в Расширенная
качестве пакетного задания)
Modify firmware environment values Расширенная
(изменение значений переменных
программно-аппаратного окружения)
Глава 14. Windows NT и Windows 2000
505
Таблица 14.3 (окончание)
Системное имя Имя User Manager Основная/
Расширенная
SeProfileSingleProcessPrivilege Profile single process (задание пара- Расширенная
метров отдельного процесса)
SeSystemProfilePrivilege Profile system performance (задание Расширенная
параметров производительности
системы)
SeUnsolicitedlnputPrivilege Read unsolicited input from a terminal Расширенная
device (осуществление
непредусмотренного ввода с терминального
устройства)
SeAssignPrimaryTokenPrivilege Replace a process-level token (замена Расширенная
маркера уровня процесса)
Разрешения
Разрешения являются наиболее часто задействуемыми элементами системы
безопасности Windows NT. Они призваны защищать файловую систему
NTFS и системный реестр от несанкционированного доступа и случайного
повреждения информации пользователями или приложениями. Выделение
пользователю или группе права доступа к ресурсу означает добавление их в
качестве нового АСЕ в ACL данного ресурса. Степень доступа
регламентируется теми разрешениями, которые предоставлены пользователю или
группе. NTFS определяет шесть следующих разрешений:
□ R — Read (чтение);
□ W — Write (запись);
□ X — Execute (выполнение);
□ D — Delete (удаление);
□ Р — Change Permissions (изменение разрешений);
□ О — Take Ownership (смена владельца).
Эти индивидуальные разрешения являются элементарными блоками, из
которых строится система контроля доступа в NTFS. Они могут назначаться
индивидуально, но администраторы сетей чаще применяют стандартные
разрешения, представляющие собой комбинации индивидуальных разрешений,
которые отражают наиболее часто встречающиеся схемы использования
ресурсов. В табл. 14.4 и 14.5 показаны стандартные разрешения для файлов и
каталогов NTFS соответственно.
506
Часть IV. Сетевые операционные системы
Таблица 14.4. Стандартные разрешения для файлов NTFS
Стандартные
разрешения
Индивидуальные
разрешения
Описание
Read (чтение)
Change
(изменение)
Full Control
(полный
контроль)
No Access
(отсутствие
доступа)
RX
RWXD
RWXDPO
Нет
Пользователь может читать и исполнять
файлы, но не может их удалять и изменять
Пользователь может читать, исполнять,
изменять и удалять файлы
Кроме чтения, исполнения, изменения и
удаления файлов пользователь может
задавать разрешения для них и назначать
себя их владельцем
Пользователь не имеет доступа любого
вида
Таблица 14.5. Стандартные разрешения для каталогов NTFS
Стандартные
разрешения
Индивидуальные
разрешения
Описание
Read (чтение)
Add
(добавление)
Add & Read
(добавление и
чтение)
Change
(изменение)
Full Control
(полный
контроль)
No Access
(отсутствие
доступа)
RX (каталог)
RX (содержимое
каталога)
WX
RWX (каталог)
RW (содержимое
каталога)
RWXD
RWXDPO
Нет
Пользователь может читать и выполнять
файлы из каталога
Пользователь может добавлять файлы в
каталог, но не может их читать и изменять
Пользователь может добавлять файлы в
каталог, читать их, но не может изменять *
Пользователь может добавлять файлы в
каталог, читать, изменять и удалять их
Кроме добавления, чтения, исполнения,
изменения и удаления файлов
пользователь может задавать разрешения для
каталога и назначать себя их владельцем
Пользователь не имеет доступа любого вида
Разрешения хранятся как часть файловой системы NTFS, а не в базе данных
SAM. Чтобы изменить разрешения для файла или каталога, необходимо
выбрать пункт Permissions (Разрешения) на панели Security (Безопасность)
диалогового окна Properties (Свойства). В высветившемся диалоговом окне
Directory Permissions (Каталог разрешений) можно добавить в список пользо-
Глава 14. Windows NT и Windows 2000
507
вателей и группы из базы данных локального SAM, текущего домена или
других доверяемых доменов (рис. 14.15). Выпадающий список Type of Access
(Тип доступа) позволяет определить одно из стандартных полномочий для
файла или каталога, при этом пункт Special Access (Специальный доступ) дает
возможность работать напрямую с индивидуальными разрешениями.
Рис. 14.15. Диалоговое окно Directory Permissions в Windows NT
Разрешения для файла или каталога касаются любого пользователя, который
попытается получить к ним доступ как через локальную систему, так и по
сети. Для контроля доступа по сети необходимо дополнительно назначить
разрешения для ресурсов совместного использования, выбрав пункт
Permissions (Разрешения) закладки Sharing (Общие ресурсы) диалогового окна
Properties (Свойства) соответствующего ресурса. При обращении к файлам
сетевого диска пользователь должен иметь разрешения на доступ как к
самому диску, так и к каталогам и файлам этого диска.
Утилита Calcs.exe
Windows NT включает утилиту под названием Calcs.exe, позволяющую изменять
стандартные разрешения NTFS из командной строки. Возможно и ее
использование в командных файлах. Синтаксис для Calcs.exe имеет следующий вид:
calcs имя файла [/t] [/e] [/с] [/д имя пользователя:тип разрешения]
[/г пользователь] [/р имя пользователя:тип разрешения]
[/d пользователь]
Назначение отдельных ключей и их параметров описано ниже.
□ имя файла — определяет имя файла или каталога, для которого
устанавливаются разрешения (допустимы символы маски).
508
Часть IV. Сетевые операционные системы
□ /t -— включает подкаталоги каталога, заданного параметром имя файла.
П /е — редактирует ACL, вместо его полного замещения, при этом все
существующие разрешения сохраняются, кроме тех, что изменены
командой.
П /с — продолжает выполнение команды, несмотря на ошибки типа "access
denied" (отказ в доступе).
□ /д имя пользователя:тип разрешения— создает ПОЛНОСТЬЮ НОВЫЙ ACL
для файла или каталога, определенного параметром имя файла. ACL
содержит разрешения только для пользователей, указанных в параметре имя
пользователя. При этом все предыдущие разрешения удаляются. Для
значений параметра тип разрешения используются следующие сокращения:
• R — Read (чтение);
• С — Change (изменение);
• F — Full Control (полный контроль).
□ /г имя пользователя — отменяет все разрешения, имевшиеся у
конкретного пользователя для файлов и каталогов, указанных в параметре имя
файла (требует наличия ключа /е).
П /р имя пользователя:тип разрешения — модифицирует ACL файлов И
каталогов, описанных параметром имя файла вместо полного его
замещения, подобно ключу /е. Для значений параметра тип разрешения
допустимы следующие сокращения:
• N — None (нет);
• R — Read (чтение);
• С — Change (изменение);
• F — Full Control (полный контроль).
□ /d имя пользователя — отказывает пользователю во всех разрешениях
для всех файлов или каталогов, описанных переменной имя файла.
J^ Примечание ]Д
Применяя ключ /д, надо быть точно уверенным, что в список включены
административные привилегии соответствующих пользователей и групп, так как
команда удалит все существующие разрешения из ACL.
Параметр имя пользователя может определять конкретного пользователя
или группу. Если имя группы содержит пробелы, его необходимо заключать
в кавычки. Одна команда Calcs.exe может включать множественные
комбинации имя пользователя: тип разрешения, например:
calcs C:\Windows /t /g Administrator:F Users:С
Глава 14. Windows NT и Windows 2000
509
Программу Calcs.exe возможно задействовать в командном файле с целью
автоматизации процедуры переопределения полномочий, однако, при этом
придется ответить на запрос подтверждения перед тем, как программа фактически
изменит ACL. Потребуется ответ у (да) для продолжения процесса
назначения разрешений. Чтобы обойти этот момент, можно использовать
стандартный конвейерный редиректор DOS, подставив ответ следующим образом:
echo ylcalcs C:\Windows /t /g Administrator:F Users:С
Утилита Xcalcs.exe
Calcs.exe позволяет задавать стандартные разрешения NTFS, но не дает
возможности работать с индивидуальными разрешениями. Windows NT Server
4.0 Resource Kit включает утилиту под названием Xcalcs.exe с тем же
синтаксисом, что и у Calcs.exe, но, в отличие от нее, позволяющую назначать
индивидуальные разрешения таким же образом, как и стандартные.
Сокращения, используемые Xcalcs.exe для обозначения стандартных разрешений, не
отличаются от применяемых для Calcs.exe (с целью сохранения
совместимости с существующими командными файлами и сценариями).
Дополнительные сокращения для индивидуальных разрешений таковы:
□ Р — Change Permission (изменение разрешения);
□ О — Take Ownership (смена владельца);
□ X — Execute (выполнение);
□ Е —- Read (чтение);
□ W — Write (запись);
□ D — Delete (удаление).
Единственное отличие Xcalcs.exe заключается в дополнительном
(необязательном) параметре spec для ключей /д и /р, который дает возможность
назначать разрешения на доступ к файлам каталога, отличные от тех, какие
будут определены для самого каталога, как это показано в следующем примере:
xcalcs C:\Documents /t /p jdoe:EW;ED
В данном случае пользователь jdoe получает полномочия Read и Write для
файлов каталога C:\Documents, но он не может удалить сам каталог. Параметр
spec может принимать еще одно значение (Т — Not specified (не определен))
помимо перечисленных выше.
Windows 2000
Windows 2000 является новейшим представителем семейства ОС Windows, и
разрабатывалась как дальнейшее улучшение не только Windows NT, но и
Windows Эх. Windows 2000 сохраняет базовую архитектуру Windows NT, yco-
510
Часть IV. Сетевые операционные системы
вершенствования касаются в основном дополнительных сервисов. В
следующих разделах рассматриваются некоторые из новых решений,
характерных только для Windows 2000.
Active Directory
Active Directory, принципиально новая служба каталогов, включенная в
Windows 2000 Server, — наиболее значимый шаг вперед из всех
нововведений Windows 2000. Active Directory представляет собой иерархическую,
дублируемую систему служб каталогов, разработанную для поддержки сети
практически неограниченного размера. Для получения более подробной
информации об Active Directory см. главу 23.
Microsoft Management Console
Microsoft Management Console (MMC, консоль управления Microsoft) — это
новое приложение, обеспечивающее централизованный административный
интерфейс для многих служб, входящих в Windows 2000. Windows NT
опирается в своей работе на большое количество приложений, управляющих
работой отдельных служб, таких как WINS Manager, DHCP Manager или Disk
Administrator. Windows 2000 объединяет все эти приложения, а также
множество других, в ММС. Большинство системных административных функций в
Windows 2000 осуществляется через ММС. Во многих случаях функции, в
точности соответствующие таковым у отдельных утилит Windows NT,
реализованы с помощью качественно отличного интерфейса ММС. Первое
знакомство с ММС вызовет у системных администраторов глубокое чувство
разочарования и неудовлетворенности при попытках обнаружить знакомые
элементы управления системными функциями, расположенные теперь в
совершенно иных местах.
ММС не имеет собственных функций администрирования, а является лишь
оболочкой для модулей приложений, называемых интегрируемыми
(встраиваемыми) модулями (snap-in), которые и обеспечивают управление множеством
приложений и служб Windows 2000. Эти модули имеют форму файлов с
расширением msc и могут быть загружены из командной строки или при
помощи интерактивных меню ММС. Windows 2000 обеспечивает взаимодействие
интегрируемых модулей ММС со всеми своими служебными программами,
причем интерфейс разработан таким образом, что независимые разработчики
программного обеспечения могут использовать архитектуру ММС для
размещения инструментов администрирования своих собственных приложений.
ММС позволяет загружать множество модулей одновременно посредством
интерфейса для работы с несколькими документами (MDI, Multiple
Document Interface) операционных систем Windows. Это становится актуальным в
случае создания индивидуального интерфейса управления, который содер-
Глава 14. Windows NT и Windows 2000
511
жит все интегрируемые модули, регулярно применяемые конкретным
пользователем. При запуске ММС (то есть старте исполняемого файла Mmc.exe)
из диалогового окна Run (Выполнение) в ответ на команду Console
(Консоль) > New (Новая) высвечивается пустое окно Console Root (Корневая
консоль). Выполнив команду Console (Консоль) > Add/Remove Snap-in
(Добавить/Удалить модуль), можно составить список из установленных модулей
и загрузить его в консоль. Различные модули показываются на левой панели
главного экрана ММС в виде древовидной структуры, напоминающей
отображение файлов и каталогов в Проводнике (рис. 14.16). Выбор
Console (Консоль) > Save As (Сохранить как) позволяет сохранить текущую
конфигурацию консоли в MSC-файле и загрузить ее снова, когда в этом
возникнет необходимость.
1 |й Console2 - [Console Root]
I j ] Ijj] Console Window Help
|, Action View Favorites | { 4- *Ф | Ш\щ \ Щ, j $
Tree | Favorites |
i: ^ЙИЙОВ
1 £! *^| Active Directory Domains and Trusts
I Ш f|p zacker.com
B"S9 Active Directory Sites and Services [C22.zacker.com]
59-ЁЗ Sites
E-jSJ Computer Management (Local)
1J Й1 iJEis System Tools
I Ш"^jiijj Storage
11 Ш-Цл Services and Applications
1 ЁьЧЦ Internet Information Services
E-'J§*cz2
Ш £§) Default FTP Site (Stopped)
Ш *# Default Web Site
j Ш $ Administration Web Site
Й % Default SMTP Virtual Server
i
J D (£ Q 1 Ш
ИНЕ31
!^1еш]|
i
Name I
^% Active Directory Domains and Trusts
'ЙActive Directory Sites and Services [C22.zacker.com]
Щ Computer Management (Local)
^Internet Information Services
Li
1 r—
j Л
Рис. 14.16. Интерфейс Microsoft Management Console
Многие из сервисных программ Windows 2000 представляют собой
предварительно сконфигурированные консоли ММС. Просмотреть консоль,
содержащую перечень базовых административных функций системы Windows 2000
(рис. 14.17), можно, если выбрать конфигурацию Computer Management из
группы Programs/Administrative Tools меню Start (Старт).
По умолчанию консоль Computer Management используется для управления
локальной системой, но все ее административные инструменты могут быть
применены и для работы с любым удаленным компьютером по сети. Для
этого нужно выполнить команду Action (Действие) > Connect to Another
Computer (Соединение с другим компьютером).
512
Часть IV. Сетевые операционные системы
Щ Computer Management
Action View
Е|»|Щ>! S
Tree
Computer Management (Local)
В Йй System Tools
Event Viewer
System Information
Performance Logs and Alerts
Shared Folders
Device Manager
_ Local Users and Groups
Й"|lj| Storage
1 ЁЗ Disk Management
-.- 6j£ Disk Defragmenter
1--Щ Logical Drives
Ш-fjf Removable Storage
В-Щ& Services and Applications
Ш Ц Telephony
Ш 3{| WMI Control
S Services
Indexing Service
ЁЗ ADNS
Й Щ Internet Information Services
Name
l.№
ill Event Viewer Extension Snap-in
2} System Information Extension Snapin
Ш Performance Logs and Alerts Extension Snap-in
j|p Shared Folders
Щ Device Manager
fjJJ Local Users and Groups Extension Snap-in
| Description
Displays event logs.
Displays System Information for...
Configures performance data lo...
Displays shared folders, current...
Device Manager
Manages Local Users and Groups.
Рис. 14.17. Консоль Computer Management в Windows 2000
Система безопасности Windows 2000
Инфраструктура системы безопасности Windows 2000 имеет множество
усовершенствований. Хотя большая часть архитектуры системы защиты
осталась неизменной, и технологии остаются в основном прежними для
сохранения совместимости с Windows NT, некоторые из механизмов системы
безопасности Windows 2000 являются принципиально новыми.
Протокол Kerberos
Сетевая аутентификация в Windows 2000 осуществляется с помощью
протокола безопасности Kerberos, который описан в документе RFC 1510,
разработанным IETF. Сервис Kerberos Key Distribution Center (KDC, центр
распространения ключей Kerberos) устанавливается вместе с Active Directory на
контроллеры доменов (DC), а каждый компьютер с Windows 2000 (как с
версией Server, так и Professional) имеет программу-клиента,
обеспечивающую аутентификацию по протоколу Kerberos. Для Windows 9x также
существует клиент службы каталогов, поддерживающий Kerberos.
Аутентификация по протоколу Kerberos основана на обмене специальными
сообщениями — билетами (tickets), содержащими зашифрованный пароль,
который удостоверяет идентичность пользователя. Когда пользователь сие-
Глава 14. Windows NT и Windows 2000
513
темы-клиента на базе Windows 2000 соединяется с доменом, KDC
контроллера домена формирует билет на получение билета (TGT, ticket-granting ticket),
включающий SID пользователя, сетевой адрес системы-клиента, временную
метку, помогающую предотвратить несанкционированный доступ, и ключ
сеанса, задействуемый при шифровании данных.
Система-клиент сохраняет TGT и предъявляет его в качестве лицензии для
идентификации пользователя при последующих сеансах связи. Однажды
полученный системой-клиентом TGT может быть использован для
подтверждения подлинности при дальнейших обращениях, избавляя тем самым
пользователя от необходимости каждый раз вводить пароль при доступе к
очередному сетевому ресурсу.
Когда пользователь пытается получить доступ к ресурсу сервера сети,
система-клиент посылает запрос, идентифицирующий пользователя и сервер, на
котором находится требуемый ресурс, сервису выдачи билетов (TGS, ticket-
granting service) контроллера домена. В ответ TGS пересылает билет на
обслуживание {service ticket), обеспечивающий пользователю доступ только к
данному ресурсу. Затем клиентская система запрашивает у сервера,
содержащего данный ресурс, разрешение на доступ, отправляя ему
идентификатор (ID) пользователя и билет на обслуживание. Сервер расшифровывает
билет на оказание услуги, и с этого момента, пока идентификатор
пользователя соответствует ID в билете на обслуживание, этому пользователю будет
разрешен доступ к данному ресурсу. Система-клиент может хранить
множество билетов на обслуживание в расчете на будущий доступ к различным
сетевым ресурсам. Такая система защищает как сервер, так и пользователя,
поскольку обеспечивает взаимную аутентификацию: сервер удостоверяет
подлинность системы-клиента, а система-клиент идентифицирует сервер.
Использование открытых ключей
Windows 2000 поддерживает метод передачи информации, называемый
инфраструктурой открытых ключей (PKI, public key infrastructure),
укрепляющий защиту против взлома и иных форм несанкционированного доступа.
В традиционной криптографии, также называемой криптографией секретных
ключей (secret key cryptography), используется один ключ для шифрования и
расшифровки информации. Общение предполагает знание этого ключа
обеими сторонами, что предусматривает некую форму предварительного
взаимодействия между ними, в ходе которой происходит передача ключа.
Фундаментальным принципом PKI является то, что ключи для шифрования
и расшифровки сообщений отличаются друг от друга. Каждая система имеет
открытый ключ (public key) и закрытый ключ (private key). Передача
открытого ключа другим системам позволяет им кодировать сообщения, которые
впоследствии декодируются данной системой с помощью закрытого ключа.
При этом открытый ключ не может применяться для расшифровки инфор-
514
Часть IV. Сетевые операционные системы
мации, если она уже была с помощью него зашифрована. Таким образом,
хотя злоумышленники и могут перехватить открытый ключ при его передаче
по сети, он будет им совершенно бесполезен, если только они не имеют
соответствующего закрытого ключа, а он никогда по сети не передается.
Использование PKI позволяет передавать аутентификационные данные через
сеть на основе Windows 2000 с более высоким уровнем безопасности, чем в
сети Windows NT. PKI также дает возможность задействовать цифровые
подписи для точной идентификации отправителя сообщения. Цифровая подпись
(digital signature) — это метод кодирования информации на основе закрытого
ключа конкретного пользователя. Другие пользователи, получившие его
послание, могут проверить подлинность подписи, опираясь на открытый ключ
отправителя. Изменение даже одного бита информации в сообщении делает
подпись недействительной. Если же информация прибывает невредимой,
совпадение цифровой подписи с образцом не только подтверждает, что
сообщение не подвергалось никаким изменениям, но и неоспоримо доказывает,
что его отправителем является конкретный пользователь. Поэтому,
потенциально, любое послание, скрепленное цифровой подписью, может нести такую
же юридическую и этическую нагрузку, как и бумажный документ.
Сертификаты
Сертификатом (certificate) называется заверенное цифровой подписью
свидетельство, создаваемое центром авторизации (СА, certificate authority).
Сертификат содержит привязку пользователя, компьютера или сервиса с
собственными закрытыми ключами к соответствующим открытым ключам.
Windows 2000 Server включает соответствующие сервисы (Certificate Services),
которые могут работать в качестве СА для сети. Возможно также
использование иных СА, например, VeriSign. Обычно сертификат состоит из
следующих частей:
□ Subject identifier information (информация идентификации объекта). Имя,
адрес электронной почты, другая информация, идентифицирующая
компьютер или пользователя, которому выдается сертификат.
□ Subject public key value (значение открытого ключа объекта). Открытый
ключ, ассоциированный с компьютером или пользователем, которому
выдается сертификат.
□ Validity period (период достоверности). Продолжительность срока, в
течение которого сертификат остается действительным.
□ Issuer identifier information (информация идентификации сертифицирующей
системы). Сведения о системе, выдавшей сертификационное свидетельство.
□ Issuer digital signature (цифровая подпись сертифицирующей системы).
Подтверждение подлинности сертификата цифровой подписью системы,
принявшей решение о его выдаче.
Глава 14. Windows NT и Windows 2000
515
Windows 2000 может использовать сертификаты для аутентификации
пользователей Web-серверов, рассылки секретных посланий по электронной
почте, а также (что не обязательно) для аутентификации пользователей
доменов. В основном применение сертификатов прозрачно для пользователей,
но администраторы могут настраивать их вручную с помощью
интегрируемого модуля под названием Certificate for Microsoft Management Console.
Смарт-карты
Система безопасности РК1 в Windows 2000 опирается на то, что закрытые
ключи всегда остаются только частными. Обычно же закрытый ключ
хранится на рабочей станции, где может подвергнуться несанкционированному
доступу на основе как цифровых, так и физических методов вторжения.
В целях решения этой проблемы Windows 2000 поддерживает специальные
внешние устройства для хранения личного шифровального ключа вне
компьютера, называемые смарт-картами (smart card). Система, использующая
смарт-карты, оснащена устройством для их чтения. Когда пользователь
входит в систему, он вставляет карту в считывающее устройство и вводит
индивидуальный идентификационный номер (PIN, Personal Identification Number),
ассоциированный с данной картой, вместо пароля. С этого момента система
не хранит частный ключ внутри себя, а считывает его с карты при
необходимости.
Смарт-карты являются относительно новой технологией, и, очевидно,
предназначены для сетей, где проблемы безопасности поставлены на первое
место. Так как смарт-карты не хранят информацию на магнитной полосе, как
кредитные карточки, они более устойчивы к взлому. Но их ни в коем случае
нельзя назвать полностью устойчивыми к нему. Пока на рынке присутствует
очень небольшое количество устройств для чтения смарт-карт, и
потребуется время, чтобы сделать вывод о том, будет ли новая технология широко
востребована, или она останется узкоспециализированным продуктом.
IP Security Protocol
IP Security Protocol (IPSec) представляет собой стандарт, разработанный
IETF, и определяет серию алгоритмов кодирования и аутентификации,
которые Windows 2000 может вовлекать в обеспечение безопасности внутрисе-
тевых и Интернет-коммуникаций, например соединений в VPN (Virtual
Private Network, виртуальная частная сеть). IPSec является протоколом сквозной
передачи (end-to-end protocol), поскольку функционирует на Сетевом уровне.
Это означает, что только отправитель и конечный получатель сообщения
могут читать передаваемую информацию. Все промежуточные устройства,
такие как маршрутизаторы, через которые она проходит, просто пересылают
зашифрованные данные дальше.
516
Часть IV. Сетевые операционные системы
Утилита Security Configuration and Analysis
Утилита Windows 2000 под названием Security Configuration and Analysis,
используемая в качестве интегрируемого модуля для ММС, позволяет
создавать различные варианты политики безопасности. Они содержат
конфигурационные установки различных составляющих ОС, отвечающих за
безопасность Пользовательский интерфейс программы (рис. 14.18) предоставляет
возможность применения существующих политик безопасности к другим
компьютерам. Варианты политики безопасности хранятся в виде шаблонов,
имеющих вид текстовых файлов с расширением inf, и содержат настройки
для системного реестра, списков элементов контроля доступа, другие
параметры конфигурации системы защиты.
1 до Console 1 - [Console Root\Security Configuration and Analysis]
l]1®! Console Window Help
I [ Action View Favorites | J <r= ""► | S
Tree | Favorites |
](Ш] Console Root
Й-fjj^ Security Configuration and Analysis
i 3 ^ Account Policies
1 ■ ®"H? Password Ро''сУ
1 S-@ Account Lockout Policy
] Ш Ip Kerberos Policy
J Э J! Local Policies
1 ' ®'" Л Аис^ Po'icy
= ffl Э User Rights Assignment
(+1 Э Security Options
3 J| Event Log
1 ©-.Л Settings for Event Logs
S3 Ш Restricted Groups
Ш £§ System Services
ii Registry
Si! File System
1
№ЭЕЗ
h n Gscfjira Lisuijl
_.__. - - - i|
Name
fff Account Policies
j§| Local Policies
J§ Event Log
C§ Restricted Groups
L$ System Services
О Registry
QiFile System
T Description |
Password and account lockout policies
Auditing, user rights and security options policies
Event Log settings and Event Viewer
Restricted Groups
System service settings
Registry security settings
File security settings
ilz.:[zziziiiei:zzj
Рис. 14.18. Утилита Windows 2000 Security Configuration and Analysis
IntelliMirror
Инициатива нулевого администрирования (Zero Administration Initiative for
Windows) была разработана фирмой Microsoft специально для упрощения
управления сетями и снижения стоимости их эксплуатации. Указанные цели
достигаются ограничением до минимума доступа пользователей к самой ОС
и увеличением до максимума возможностей удаленного администрирования.
Средства нулевого администрирования (Zero Administration Kit) определяют
методику автоматизации инсталляции ОС и прикладных программ на
рабочую станцию, а также технику использования разрешений NTFS и систем-
Глава 14. Windows NT и Windows 2000
517
ной политики безопасности для блокировки рабочего стола компьютера под
управлением Windows NT.
Одним из побочных результатов такой техники является возможность хранения
пользовательских профилей на сетевом диске. Это дает возможность
пользователям подключаться к сети с любой рабочей станции и сохранять при
этом базовые настройки конфигурации, такие как расположение пиктограмм
на рабочем столе или программных групп в стартовом меню. IntelliMirror
развивает данную концепцию дальше, допуская "перемещение по сети" вместе с
пользователем еще большего количества компонентов его персональной
вычислительной среды, включая приложения и файлы с данными, не говоря уже
о конфигурационных установках системы и прикладных программ.
IntelliMirror состоит из трех основных компонентов.
□ User Data Management (управление данными пользователя). Обеспечивает
пользователям доступ к рабочим файлам с любого компьютера сети, или
даже после отключения от нее, с помощью Windows 2000 Synchronization
Manager, который позволяет дублировать каталоги на локальном диске.
П Software Installation and Maintenance (установка и поддержка программного
обеспечения). Устанавливает приложения и программы на любую
рабочую станцию, на которых имеется соответствующая потребность.
П User Settings Management (управление пользовательскими установками).
Предоставляет пользователям их собственные настройки конфигурации
рабочего стола, прикладных программ и другие персональные
предпочтения при работе с любого компьютера сети.
Кроме обеспечения пользователей доступом к их рабочим ресурсам с любой
рабочей станции, IntelliMirror также упрощает процесс создания новой
рабочей станции. В случае отказа оборудования, не позволяющего далее
использовать компьютер конкретного пользователя, администратор может
применить возможности IntelliMirror для быстрого придания другой рабочей
станции в точности такой же конфигурации, которую имела система, вышедшая
из строя.
^ Примечание ^Д
Для получения более подробной информации о IntelliMirror и Zero Administration
Initiative for Windows см. главу 27.
Сетевые службы
Как и в случае Windows NT, формирование сети является неотъемлемой
частью Windows 2000. Поэтому данная ОС содержит более совершенные
версии многих сетевых служб. О некоторых из них рассказывается в следующих
разделах.
518
Часть IV. Сетевые операционные системы
DHCPnDNS
DNS играет в Windows 2000 существенно более важную роль, чем это было в
Windows NT. Active Directory хранит информацию о контроллерах доменов в
записях ресурсов служб (SRV, Service Resource Records) на DNS-серверах, а
клиентские программы формулируют DNS-запросы для поиска DC.
Windows NT, напротив, для определения местонахождения сетевых ресурсов
использует WINS.
Чтобы соответствовать нуждам Active Directory, DNS-сервер, включенный в
Windows 2000, поддерживает новый стандарт Dynamic DNS (DDNS),
который позволяет DC автоматически обновлять сведения о ресурсах. Кроме
того, DHCP-сервер, входящий в Windows 2000, теперь работает вместе с
DNS-сервером в целях динамического обновления информации о ресурсах
сетевых систем при получении ими новых IP-адресов. Более подробные
сведения о DHCP содержатся в главе 18. Система имен доменов (DNS) и ее
роль в Active Directory более подробно обсуждаются в главах 20 и 23.
Качество обслуживания
Сущность качества обслуживания (QoS, Quality of Service) выражается в
назначении приоритетов различным типам сетевого трафика и адаптирования
систем для передачи пакетов в зависимости от их уровня приоритета, что
гарантирует своевременную доставку необходимой информации. Некоторые
прикладные программы значительно выигрывают от возможности
передавать свои данные немедленно, без задержек в связи с объемом сетевого
трафика. Мультимедийные приложения являются типичным примером,
учтенным при разработке протоколов QoS, так как доставка аудио- и
видеоинформации по сети в реальном времени требует постоянного
(непрерывного) потока данных. Другие приложения, например, почтовые, также
могут использовать преимущества системы приоритетов QoS. Сверх того,
QoS позволяет выделять некоторую часть от пропускной способности сети
для конкретного приложения, независимо от того, выполняется оно в
данный момент или нет.
Существует несколько стандартов и технологий QoS. Ниже перечислены те
из них, которые поддерживаются Windows 2000.
□ Differentiated Quality of Service (дифференцированное качество
обслуживания). Стандарты IETF (опубликованные в RFC 2474 и 2475) определяют
поля дифференцированного обслуживания (differentiated services field, dtff-serve
или DS field) для заголовков IPv4 и IPv6, что позволяет присваивать
различным типам приложений определенные классы обслуживания (classes of
service).
П Admission Control Service (ACS, служба управления доступом). Позволяет
администраторам резервировать пропускную способность под нужды
Глава 14. Windows NT и Windows 2000
519
конкретных пользователей, приложений или сайтов, используя утилиту
из набора ММС под названием QoS Admission Control (рис. 14.19) для
создания политик QoS, которые хранятся в Active Directory. Клиентские
программы, поддерживающие IETF-стандарт управления пропускной
способностью подсетей (SBM, Subnet Bandwidth Management), могут
требовать от службы выделения приоритетной пропускной способности.
□ IEEE 802.1р. Определяет расширение основного формата кадров Ethernet,
Token Ring, FDDI и других протоколов Канального уровня.
Дополнительные биты несут информацию о приоритете пакета. Возможны восемь
классов сервисов с точки зрения уровня приоритета, от 0 — с самым
низким до 7 — с самым высоким.
□ Resource Reservation Protocol (RSVP, протокол резервирования ресурсов).
Стандарт IETF (опубликованный в RFC 2205), обеспечивающий
своевременную доставку данных по IP-сети в содружестве со стандартом
дифференцированного качества услуг посредством выделения пропускной
способности в соответствии с запросами клиентов.
1 iti Console 1 * [Console Root\QoS Admission Control - zacker\Enterprise Settings]
! J 1j] Console Window Help j
11 Action View Favorites |)<>"^;Ц]||1|3 1 [5|0§>!|^
| Tree J Favorites |
|C!3 Console Root
вЩ QoS Admission Control - zacker
!--Cj Subnetwork Settings
User / OU j Direction | Service Level
JfjUn-Authenticated User Send & Receive All
,Ц) Any Authenticated User Send & Receive All
ДИЕЗ!
"'р"'г^"^Тш'"'|^^х|1|
i]
| Data Rate | Peak Rate ||
-
p... „ „ .,„. ,„ — _._„ , f
Рис. 14.19. Консоль QoS Admission Control
Трансляция сетевых адресов
Windows 2000 имеет в своем составе сервер трансляции сетевых адресов
(NAT, Network Address Translation), позволяющий присваивать рабочим
станциям в локальной сети частные, незарегистрированные IP-адреса. Когда
компьютер сети пытается соединиться с Интернетом, его частный IP-адрес
в заголовках пакетов преобразуется в зарегистрированный IP-адрес с
помощью сервера NAT. Это дает возможность серверу NAT задействовать только
небольшое количество зарегистрированных IP-адресов для обслуживания
множества клиентов, а также защищает компьютеры сети от
несанкционированного доступа через Интернет.
520
Часть IV. Сетевые операционные системы
Поддержка терминалов Windows
Windows 2000 Server содержит в качестве базовой части ОС сервисы для
терминалов, похожие на те, которые входят в набор Windows NT Server 4.0 и
Terminal Server Edition. Упоминаемая здесь технология позволяет
использовать сервер для выполнения 32-разрядного интерфейса Windows на
унаследованных или иных платформах (например, 16-разрядных версиях Windows,
Macintosh или UNIX) и терминалах на базе Windows.
Особенности файловой системы
В Windows 2000 входит версия 5.0 файловой системы NTFS, улучшенная по
сравнению с версией, включенной в Windows NT. Она предоставляет такие
новые возможности, как шифрование файлов или увеличение размера
дисков без перезагрузки. Windows 2000 требует присутствия на дисках NTFS 5.0
базы данных Active Directory. При инсталляции Windows 2000 в создаваемых
по ходу разделах, устанавливается NTFS 5.0, а диски NTFS, уже
существовавшие до обновления ОС, конвертируются в новую систему.
Local Disk (F:) Properties
General
Security
Tools 1 Hardware | Sharing
Quota I Web Sharing
Status: Disk quotas are disabled
P" Enable quota management
W Deny disk space to users exceeding quota limit
Select the default quota limit for new users on this volume:
<*" Do not limit disk usage
<*" Limit disk space to | 500 [мв 3
Set warning level to | 450 [Si 3
Select the quota logging options for this volume:
P" Log event when a user exceeds their quota limit
W Log event when a user exceeds their warning level
Quota Entries...
OK
Cancel
Apply
Рис. 14.20. Закладка Quota
диалогового окна Properties
Одной из наиболее частых жалоб системных администраторов по поводу
Windows NT является то, что файловая система этой ОС полностью лишена
средств ограничения объема дискового пространства, используемого кон-
Глава 14. Windows NT и Windows 2000
521
кретным пользователем. В NetWare подобная функция присутствовала с
незапамятных времен, и фирма Microsoft наконец-то интегрировала ее в
Windows 2000. Закладка Quota (Квота) диалогового окна Properties (Свойства)
любого диска NTFS (рис. 14.20.) позволяет резервировать для нового
пользователя определенный максимум места на диске и предписывать реакцию
системы в ситуации, когда пользователь приближается к лимиту или
превышает его. По мере заполнения выделенных областей в ходе доступа к
диску система отображает статистику по ним в окне Quota Entries (Список
записей квот) (рис. 14.21.) Из этого окна можно менять индивидуальные
квоты пользователей и наблюдать за объемом фактически задействованного
каждым пользователем дискового пространства.
| И» Quota Entries for Local Disk (F:) ~~
ШШЩ
Quota Edit View Help
DXff^Q
1 Status | Name | Logon Name
|C+)oK BUILTIN\Administrators
Ф OK NT AUTHORITY\SYSTEM
|3 total item(s), 1 selected.
Amount Used |
817 MB
163.36 KB
Quota Limit 1
No Limit
500 MB
Warning Level!
No Limit
450 MB
Percent Used | 1
N/A ]
0
~"2\
Рис. 14.21. Окно Windows 2000 Quota Entries
Наконец, Windows 2000 также включает утилиту для дефрагментации диска.
Как и в случае дисковых квот, ее отсутствие было серьезнейшим
недостатком Windows NT с самого первого дня выхода ОС. Windows 2000 Server и
Professional способны улучшать эффективность работы дисков, дефрагмен-
тируя разделы, использующие файловые системы NTFS, FAT16 и FAT32.
Глава 15
Novell NetWare
Novell NetWare стала одной из первых коммерческих сетевых операционных
систем, предназначенных для использования в ЛВС на основе PC, и к
настоящему времени она остается практически самой старой из широко
распространенных сетевых ОС. В начале 1980-х годов первичным назначением
компьютерных сетей было обеспечение только базовых функций, таких как
совместное использование файлов и принтеров, и эти функции были
максимально эффективно реализованы в операционной системе Novell NetWare.
В течение многих лет Novell NetWare была лидирующим продуктом на
коммерческом рынке ОС, практически не имела достойных конкурентов, и сам
рынок сетевых ОС фактически был лишен конкурентной борьбы.
Однако в качестве платформы для разработки независимых приложений,
особенно Интернет-приложений, Novell NetWare не смогла выдержать
конкуренции, и в 1990-х потеряла большую часть доли рынка, где до того
занимала лидирующие позиции. NetWare по-прежнему эксплуатируется во
многих существующих сетях, обычно в комбинации с другими сетевыми
ОС, такими как Windows NT или UNIX, но количество ее внедрений в
новые сети существенно сократилось, несмотря на очевидные сильные
стороны этой ОС в таких областях, как, например, службы каталогов.
В отличие от Windows NT или UNIX, NetWare представляет собой пример
операционной системы типа клиент/сервер. Это означает, что серверы
NetWare полностью лишены клиентских возможностей, а клиенты NetWare
могут общаться только с серверами NetWare, но не между собой (если
только на них не установлены клиентские программы других сетевых ОС).
Сервер NetWare использует собственную версию ОС, запускаемую из
командной строки DOS, которая в дальнейшем работает независимо от DOS.
Клиенты NetWare — это компьютеры на базе Windows или DOS,
оснащенные клиентским пакетом программ, который обеспечивает соединение с
сервером. Microsoft поставляет базовый клиент NetWare в составе
Windows 9х, Windows NT и Windows 2000, но собственный клиент NetWare
фирмы Novell обеспечивает более полный набор функций. Дополнительные
пакеты приложений предоставляют возможности клиента NetWare для других
операционных систем, например, Macintosh или UNIX.
Вариант NetWare для сервера отвечает за выполнение прикладных программ
фирмы Novell и независимых разработчиков. При этом задействуются раз-
Глава 15. Novell NetWare
523
личные загружаемые модули системы NetWare (NLM, NetWare Loadable
Module). Консоль сервера опирается на текстовый интерфейс, многие
утилиты управляются с помощью меню на основе только ASCII-символов, как
показано на рис. 15.1. Графический интерфейс для консоли (на основе Java)
появился только в последней версии — NetWare 5.
8RC0NS0LF
.Jails!
Auto
~3 Ф
Netware £ervgr ,ДRetaliation ^^Л^^'^^^^^^^Ш
ШШШШШШШШШШШ;
Installation Options
Disk options
Uolume options
License option
Copy files option
Directory options
NCF Files options
Multi CPU options
Product options
Exit
i Ш к aim nЬ tуогк ш* xu сгич* >
Cconfigure/nirror/test disk partitions>
<configure/mount/disroount volumes>
<install the server license!)
(install NetWare system files>
<install NetWare Directory Services)
<create/edit server startup files)
<install/uninstall SMP)
<other optional installation items)
^^_^^
Рис. 15.1. Интерфейс утилиты Install.nlm
Роль NetWare на рынке ОС
NetWare прежде всего известна как ОС, обеспечивающая пользователей
базовыми файловыми и принтерными сервисами, которые являются основой
функциональных возможностей любой сети. До настоящего времени эти
сервисы NetWare остаются лучше тех, что могут предложить другие ОС,
занявшие место NetWare на рынке сетевых операционных систем, например,
Windows NT, которая лидирует в данной области. Традиционная файловая
система NetWare все такая же гибкая и надежная, подсистема печати легко
управляема и проста в применении. Последние версии NetWare включают
улучшенные варианты этих элементов, такие как система устройств
хранения информации Novell (NSS, Novell Storage Services) и распределенная
система печати Novell (NDPS, Novell Distributed Print System). Вместе с тем,
сохраняется поддержка более старых версий, так как большое количество
сайтов продолжают их использовать, исходя из философского принципа "не
чини то, что не сломано".
В качестве платформы для разработки прикладных программ NetWare
создает значительно больше сложностей, нежели Windows NT, которая сделала
524
Часть IV. Сетевые операционные системы
себе имя как платформа для серверных приложений. Разработка сетевого
программного обеспечения для ОС семейства Windows предполагает один и
тот же тип исполняемых файлов для серверов и клиентов, в то время как
NetWare-серверы требуют оригинальных загружаемых модулей (NLM).
Фактически, именно указанная тенденция к опоре на специализированные
элементы была первопричиной того, что NetWare утратила свои позиции на
рынке сетевых ОС. Серверные NLM и протоколы IPX были собственными
разработками Novell, и она держалась за них в течение длительного времени
даже после того, как остальные производители ОС продвинулись далеко
вперед к использованию более широко и публично документированных
альтернатив.
Единственным фактором, искупающим все недостатки системы NetWare,
является Novell Directory Services (NDS) — иерархическая, основанная на
Х.500 служба каталогов, которая была впервые представлена в далеком
1993 г., и к настоящему времени намного более совершенна, чем что-либо
из того, что могут предложить в этой области Windows или UNIX. NDS
обладает исключительной гибкостью в плане хранения информации любого
типа обо всех элементах сети, включая программное и аппаратное
обеспечение, а также пользователей, их группы и другие нематериальные сущности.
За годы, прошедшие с момента выпуска, NDS устанавливалась и
тестировалась в большем количестве сетей, чем любая другая служба каталогов в
наши дни, и многие продукты независимых разработчиков активно
используют ее возможности. Как бы ни была хороша Active Directory от фирмы
Microsoft, все равно потребуются годы тестирования и доработки, чтобы
сказать, что она настолько же надежна, как и NDS, поскольку Novell все-
таки стартовала на семь лет раньше.
В качестве Интернет-платформы NetWare одной из последних среди
главенствующих сетевых ОС адаптировала протоколы TCP/IP. Только с выходом
версии NetWare 5 стало возможным применение в этой ОС протоколов
TCP/IP для базовых файловых служб и служб печати. Предыдущие версии
поддерживали данные протоколы и включали такие Интернет-приложения,
как Web- или FTP-серверы, но взаимодействия типа клиент/сервер в
пределах ЛВС осуществлялись до совсем недавнего времени исключительно на
основе собственных протоколов IPX.
В настоящие дни система NetWare, как коммерческий продукт,
обеспечивает все функции, ожидаемые от сетевой ОС, а также содержит ряд новых
прогрессивных идей, однако сохранение жизнеспособности NetWare на
рынке ОС находится под большим вопросом. Организация, уже оценившая
преимущества NetWare и использующая ее, может получить большую
выгоду от замены версии на более совершенную, но крупномасштабная
установка NetWare на новую сеть или переход на NetWare с Windows или UNIX,
представляется, в большинстве случаев, неблагоразумным решением.
Глава 15. Novell NetWare
525
Версии NetWare
Фирма Novell начала производство сетевых продуктов в начале 1980-х, и
была вовлечена в создание сетей на основе персональных компьютеров
практически с момента появления первой модели IBM PC. Операционная
система создавалась постепенно в течение многих лет, и кульминацией
этого процесса стал выход версии NetWare 5. Тем не менее, многие
магазины NetWare продолжают по-прежнему полагаться на более старые версии
системы. В табл. 15.1. приводится сравнительная характеристика
возможностей и особенностей версий, доступных в настоящее время. В следующих
разделах рассказывается более подробно об отличиях каждой из
коммерческих версий системы Novell NetWare.
^~ Примечание ]Д
В 2000 г. Novell прекращает поддержку всех версий NetWare 3.x младше 3.2 и
NetWare 4.x младше 4.2.
Таблица 15.1. Сравнительные характеристики особенностей версий NetWare.
NetWare 3.x
NetWare 4.x
NetWare 5
Минимальные
системные
требования
Служба каталогов
Файловая система
Максимальное
число соединений,
поддерживаемое
сервером
Максимальное
число логических
дисков у сервера
Максимальная
емкость диска
Максимальный
размер файла
Максимальный
размер логического
диска
Процессор Intel
80386; 6 Мбайт RAM;
30 Мбайт свободного
пространства на
жестком диске
Bindery
NetWare file system
250
64
32 Тбайт
4 Гбайт
32 Гбайт
Процессор Intel
80386; 16 Мбайт
RAM; 105 Мбайт
свободного
пространства на жестком диске
NDS
NetWare file system
Тысячи
64
32 Тбайт
4 Гбайт
32 Гбайт
Процессор Intel
Pentium; 64 Мбайт
RAM; 550 Мбайт
свободного
пространства на жестком диске
NDS
NetWare file system;
Novell Storage
Services (NSS)
Тысячи
He ограничено
He ограничена
8 Тбайт
8 Тбайт в
32-разрядных системах;
8 Эбайт в
64-разрядных системах
526
Часть IV. Сетевые операционные системы
Таблица 15.1 (окончание)
NetWare 3.x
NetWare 4.x
NetWare 5
Максимальное
количество
одновременно открытых
файлов на сервере.
Максимальное
число каталогов на
логическом диске
100 000
2 097 152
1
Максимальное
число процессоров
сервера
Поддержка базовых IPX; IP (только с ин-
протоколов капсуляцией
NetWare/IP)
Интернет-сервисы
Netscape
Communicator
Цена (лицензия на
100 пользователей)
6995$
Server + 5
пользователей:
100 000
16 000 000
Только IPX; IP
(только с
инкапсуляцией NetWare/IP)
Netscape FastTrack
Server; Netscape
Communicator;
DHCP Server (v2.10);
DNS Server (v2);
IPX/IP Gateway
(бесплатная
загрузка); FTP Services;
CGI Scripting;
NetBasic support;
Multiprotocol WAN
Router
1095 $; добавочная
лицензия на 100
пользователей:
6695$
Server + 5
пользователей:
100 000 000
32
IPX и/или IP
Netscape FastTrack
Server; Netscape
Communicator;
DHCP Server (v3);
DNS Server (v3);
LDAP 3 Service; FTP
Services; Network
Address Translation (+
Support Pack 1); CGI
Scripting; NetBasic
support; Multiprotocol
WAN Router
1195$; добавочная
лицензия на 100
пользователей:
6995$
NetWare 2.x
Развитие ветви операционных систем NetWare 2.x завершилось с выходом
версии NetWare 2.2, которая более не поддерживается и не продается
фирмой Novell. Владелец любой сети с установленной NetWare 2.x должен
покупать полную версию NetWare 3.12, 4.2 или 5 для модернизации системы,
поскольку других путей усовершенствования этого раннего продукта более
не существует.
NetWare 2.x была предназначена для персональных компьютеров на основе
процессоров Intel младшего поколения (до 80286) и имеет ограничения, вы-
Глава 15. Novell NetWare
527
глядящие смешными в свете сегодняшних требований, хотя эти процессоры в
свое время были последним словом техники. Сервер NetWare 2.x может иметь
12 Мбайт оперативной памяти и жесткий диск объемом до 2 Гбайт, который
должен быть разбит на части размером не более 256 Мбайт.
Разработанная в первую очередь для поддержки службы печати, NetWare 2.x
включала лишь ограниченную поддержку серверных приложений в форме
Value-Added Process (VAP, процесс с дополнительными услугами). Средства VAP
позволяли серверу выполнять относительно простые приложения, такие как
резервирование серверов (server backups). NetWare 2.x также явилась
последней версией NetWare, еще позволявшей использовать сервер в
неспециализированном режиме. Это означало, что компьютер-сервер мог функционировать
в качестве рабочей станции DOS, выполняя серверные задачи в фоновом
режиме. Такая схема приводила к неудовлетворительной работе и сервера, и
рабочей станции, и все последующие версии NetWare уже требовали
присутствия специализированного компьютера для организации сервера.
NetWare 3.x
В 1989 г. фирма Novell выпустила NetWare 386, версию 3, являвшуюся
большим шагом вперед в развитии ОС, и рассчитанную на преимущества
новейшего (в то время) процессора Intel 80386. В дальнейшем последовал еще ряд
технических редакций, который завершился выходом NetWare 3.12 в сентябре
1993 г. Изначально планировалось, что версия 3.12 будет заключительной в
поколении NetWare 3.x, но позже фирма Novell решила, что должна быть
выпущена и версия NetWare 3.2, главным образом для того, чтобы ОС
соответствовала требованиям современности. Хотя разработка коммерческих продуктов
NetWare 3.x и прекращена, они по-прежнему поддерживаются Novell и
используется во многих сетях малого и среднего размера, где владельцы никогда
не испытывали потребности в замене версии на NetWare 4.x. NetWare 3.x
требует наличия у сервера процессора не ниже 386, 6 Мбайт оперативной памяти
и 30 Мбайт свободного дискового пространства.
В отличие от поколения 2.x, NetWare 3.x являлась 32-разрядной ОС,
впервые представившей многие элементы, которые в дальнейшем стали прочно
ассоциироваться с ОС Novell NetWare. Эти элементы включали, прежде
всего, многозадачность, а также поддержку больших объемов оперативной
памяти (до 4 Гбайт) и дискового пространства (до 32 Тбайт) и, наконец,
NetWare Loadable Modules (NLMs, загружаемые модули системы
NetWare), — платформу для создания приложений, которая нашла свое
продолжение и в следующих версиях NetWare. В процессе своего развития
NetWare 3.x не раз адаптировалась к новым технологиям (например,
запоминающим устройствам CD-ROM или протоколам TCP/IP), становившимся
стандартами в компьютерной индустрии по мере их появления на рынке.
Версия NetWare 3.2 была дополнена интерфейсом на основе Windows для
528
Часть IV. Сетевые операционные системы
администрирования сервера, но фундаментальная структура операционной
системы оставалась без изменений на протяжении ее более чем
десятилетней истории.
Предназначенная прежде всего для использования в ЛВС, NetWare 3.x не
была нацелена на широкое коммерческое распространение (в отличие от
NetWare 4.x и NetWare.5). Операционная система была завязана на
неиерархическую базу данных под названием bindery, состоящую из объектов (objects),
представляющих пользователей и их группы, а также программное и
аппаратное обеспечение сети. Как и в большинстве служб каталогов, под объектами
подразумеваются записи в базе данных, содержащие атрибуты — свойства
(properties), которые могут иметь одно или несколько значений (values).
Например, объект, представляющий пользователя, обладает свойством, включающим
список групп, членом которых данный пользователь является.
Каждый сервер в сети NetWare имеет свою собственную базу данных
bindery, и нет никакого взаимодействия между bindery разных серверов. Это
одна из причин, в силу которых NetWare 3.x не подходит для больших
сетей, опирающихся на централизованные методы управления. Новый
пользователь, желающий получить доступ к пяти серверам NetWare, должен
зарегистрироваться в базе данных каждого из этих серверов.
Тем не менее, для преследования целей, определенных изначально,
NetWare 3.x была прекрасным решением, благодаря чему имела устойчивую
популярность в течение многих лет. Многие из ее приверженцев даже
игнорировали более новые версии, например, NetWare 4.x и NetWare 5,
продолжая использовать то, что, как они уже убедились, является великолепным
инструментом для работы.
NetWare 4.x
Следующее поколение NetWare было представлено в апреле 1993 г. версией
NetWare 4. В течение следующих трех лет последовали несколько
технических версий, и в октябре 1996 была выпущена версия NetWare 4.11. Она
просуществовала до начала 1990, то есть до того, когда вышла следующая,
NetWare 4.2, призванная внести коррективы в соответствии с современными
требованиями и предоставить улучшенные варианты утилит intraNetWare.
Как и версия 3.x, NetWare 4.x будет работать в компьютере с процессором
не ниже386, но требует 16 Мбайт оперативной памяти и 105 Мбайт
свободного пространства на жестком диске.
Основным усовершенствованием, внесенным NetWare 4.x, является служба
каталогов NetWare Directory Services (NDS), впоследствии переименованная
в Novell Directory Services с той целью, чтобы отразить новаторство
встроенной межплатформенной совместимости. NDS представляет собой
иерархическую, разделенную, дублируемую систему, которая ориентирована на под-
Глава 15. Novell NetWare
529
держку коммерческих сетей практически любого размера. Как и bindery,
NDS состоит из объектов, свойств и значений, но объекты здесь
организованы в виде древовидной структуры, которая может отображать сложно
организованную информацию большого объема. Типичная коммерческая сеть,
как правило, имеет одну базу данных NDS, разделенную между
несколькими серверами и дублируемую для повышения отказоустойчивости и
выравнивания нагрузки.
NDS потребовалось несколько лет до достижения той степени зрелости, на
которой этот сервис был признан достаточно надежным для использования
в сетях целевого назначения, и еще несколько лет было необходимо
независимым разработчикам для того, чтобы оценить преимущества новой службы
каталогов и написать приложения, которые сохраняют свою информацию в
базе данных NDS.
В установочный комплект NetWare 4.x также впервые вошли инструменты
администрирования серверов для платформ Windows. Утилита NetWare
Administrator (NWADMIN) обеспечивает графический интерфейс
пользователя для доступа к дереву NDS и файловой системе (NetWare file system).
Она аналогична утилите NETADMIN для DOS, также включенной в
инсталляционный набор.
[^ Примечание ^2
Для получения более подробной информации о NetWare Administrator и NDS
см. главу 21.
intraNetWare
Версия intraNetWare (ранее известная как IntranetWare, почувствуйте
разницу!), представляет собой программный комплекс, состоящий из NetWare 4.11
и коллекции Интернет- и интранет-утилит, по цене одной NetWare 4.11.
Кроме самой NetWare 4.11 набор содержал следующие средства:
□ Novell Web Server;
□ Novell FTP Server;
□ Novell DHCP Server;
□ Netscape Navigator;
□ NetWare Internet Access Server;
□ Novell Multiprotocol Route 3.1;
□ NetWare/IP;
□ Novell IPX/IP Gateway.
530
Часть IV. Сетевые операционные системы
NetWare 4.2
Вместо того, чтобы продолжать выпуск линии intraNetWare, фирма Novell
решила назвать свой следующий продукт просто NetWare 4.2. По сути,
NetWare 4.2 содержала усовершенствованные версии всех компонентов,
входивших в набор intraNetWare, то есть явилась функциональным
эквивалентом intraNetWare Под маркой NetWare. Версия 4.2, вероятно, представляет
собой последний продукт поколения NetWare 4.x, и ее использование
рекомендуется организациям, которые еще не пришли к необходимости
задействования NetWare 5, но желают иметь последние версии утилит набора
intraNetWare и хотят быть уверены, что ОС их сетей соответствует
требованиям начала XXI века.
NetWare 4.2 состоит из перечисленных ниже компонентов.
□ Netscape FastTrack Server. Начиная с NetWare 4.2, фирма Novell
приступила к интегрированию Web-сервера начального уровня фирмы Netscape
в систему NetWare, вместо Web-сервера собственного производства.
Лицензия на Netscape Enterprise Web Server, который доступен для
бесплатной загрузки, также включена в данный продукт.
□ Novell DHCP Server v2.10. Динамически распределяет конфигурационные
установки TCP/IP сетевым клиентам.
□ DNS Server v2. Позволяет системам-клиентам разрешать DNS-имена в
IP-адреса, необходимые для ТСР/1Р-коммуникаций.
□ Novell Multiprotocol WAN Router. Дает возможность NetWare-серверу
работать в качестве маршрутизатора глобальной сети, используя
многочисленные транспортные протоколы и протоколы маршрутизации в рамках
различных стандартных технологий глобальных сетей.
□ Novell FTP Server. Позволяет серверу NetWare функционировать в
качестве FTP-сервера, обеспечивая сервисы TCP/IP по передаче файлов
локальным и удаленным клиентам.
□ Netscape Communicator. Включает лицензию (эквивалентную лицензии
пользователя NetWare) для Web-браузера Netscape и клиентского пакета
электронной почты.
□ Symmetrical multiprocessing (SMP) support (поддержка симметричной
мультипроцессорной обработки). Поддерживает функционирование отдельных
мультипроцессорных NLM на 8 процессорах сервера.
□ Огас1е8. Содержит версию сервера базы данных Oracle для 5 пользователей.
NetWare 5
Новейший представитель операционных систем NetWare, NetWare 5,
представляет собой огромный шаг вперед во многих направлениях. Прежде все-
Глава 15. Novell NetWare
531
го — это первая версия NetWare, которая может использовать протоколы
TCP/IP в качестве базовых протоколов. Предыдущие версии поддерживали
TCP/IP, но основные службы печати и файловые службы по-прежнему
эксплуатировали протоколы IPX собственного производства Novell. NetWare 5
может полностью удалить протоколы IPX из сети, о чем мечтали многие
пользователи в течение долгих лет.
NetWare 5 также увеличивает значимость NDS в плане взаимодействия
операционных систем, включая серверы DNS и DHCP, которые хранят свою
информацию в базе данных NDS. Сервер DNS также поддерживает
динамический стандарт DNS (RFC 2136), что позволяет автоматически отражать
IP-адреса, присвоенные DHCP, в записи DNS-ресурсов. Новая версия
NetWare свидетельствует также о приверженности фирмы Novell языку Java.
Это можно видеть на примере наличия (впервые в истории ОС)
графического пользовательского интерфейса на основе Java в программе установки
ОС, или же на примере утилиты сетевого администрирования под
названием ConsoleOne.
Инсталляция NetWare
Установка версий NetWare 3.x и старше начинается с запуска единственного
исполняемого файла DOS под названием Server.exe. Инсталляция ОС требует
наличия DOS-раздела на диске, достаточного для размещения этого файла, а
также набора драйверов и других вспомогательных файлов, используемых в
процессе начальной загрузки операционной системы. В целях локализации
возможных ошибок хорошим решением будет резервирование на сервере
свободного дискового пространства под DOS-раздел, достаточного для
размещения дампа памяти. Это означает, что неплохо иметь столько свободного места
на диске, сколько оперативной памяти имеет сервер. Дамп оперативной
памяти (core dump) представляет собой точную копию оперативной памяти в
момент, когда произошла ошибка (называемая также abend, от ABnormal END-
ing— аварийное завершение). В этом случае, при наличии серьезных проблем,
персонал службы технической поддержки Novell сможет абсолютно точно
установить, что же происходило в момент возникновения ошибки.
(^Совет )
Многие люди склонны возлагать вину за неспособность установить причину
возникших проблем и устранить их на персонал службы технический поддержки
фирмы-изготовителя. Фактически же реальная причина состоит в. том, что
пользователи не могут предоставить техническим специалистам информацию,
необходимую для определения точной причины неполадок в работе
программы. Информация, содержащаяся в дампе памяти NetWare, не представляет
ценности ни для кого, кроме небольшого процента сетевых администраторов,
однако она является бесценным инструментом диагностики для специалистов
службы технической поддержки фирмы Novell.
532
Часть IV. Сетевые операционные системы
Файл Server.exe загружает собственно ОС Novell NetWare, и последняя
стадия инсталляционного процесса заключается в выборе и конфигурировании
драйверов, поддерживающих подсистему запоминающих устройств сервера,
сетевые адаптеры, а также протоколы. Серверная консоль имеет интерфейс
типа командной строки, с помощью которого можно выполнять эти задачи
в интерактивном режиме, задействуя собственные команды консоли
NetWare. Например", все драйверы NetWare и исполняемые файлы должны
загружаться в память при помощи команды LOAD. Кроме командной
строки серверной консоли различные утилиты, управляемые меню, позволяют
настроить параметры сервера, его драйверов и приложений. Эти утилиты,
например, MONITOR или INETCFG, не имеют графического интерфейса, а
используют только ASCII-символы для создания системы меню,
управляемых с помощью курсора, известной также под названием C-worthy interface
(рис. 15.2).
-RCONSOLE
| Auto jj [Z
Nal Bl sfftg a|
"JMetw*a**o 4»x Console Monitor 4-3S NetWare ho*
,: Server лаяе: VNWSERUERi' ir> Directory tree 'NHTREEi* .
ь&ъКхё
General Information
Seruer up time: 0:00:13:13
Active processors: 1
Utilization: 1/.
Original cache buffers: 15,742
Total cache buffers: 12,326
Dirty cache buffers: 0
A
1
▼
■
ИГ-IO
Module . K
Available Options
Disk information
LAN/WAN information
System module information
Lock file server console
Pile open/lock activity
Cache utilization
| ТаЬ-Hext window Enter-Select option Hlt*Fi@«Exit
Fi-Keip
Рис. 15.2. Основной экран Monitor.nlm
Драйверы дисков
До выхода версии NetWare 4.11 подцержка дисковых накопителей и других
устройств хранения информации осуществлялась в операционной системе
NetWare на основе отдельных монолитных драйверов с расширением dsk.
Разработка DSK-драйверов была прекращена в январе 1997 г. В NetWare 4.11
была представлена NetWare Peripheral Architecture (NPA, периферийная
архитектура NetWare), состоявшая из драйверов модульного типа, называемых
модулями хост-контроллера (НАМ, host adapter modules) и модулей
специализированного устройства (CDM, custom device modules). В процессе
начальной загрузки ОС сначала инсталируется НАМ^драйвер хост-контроллера,
Глава 15. Novell NetWare
533
установленного на сервере. Затем подгружаются индивидуальные CDM-
драйверы для каждого из устройств, связанных с этим контроллером.
Например, если установочная программа обнаруживает SCSI-контроллер в
конфигурируемой системе, она подключает НАМ-драйвер, такой как
Scsil54x.ham. Загрузка этого драйвера порождает (spawns) автозагрузку
главной NPA-программы: Nwpa.nlm. Как только установлен НАМ-драйвер,
операционная система связывает с каждым из закрепленных за
SCSI-контроллером устройств хранения информации свой CDM-драйвер, например,
Scsihd.cdm для жесткого диска или Scsicd.cdm для дисковода CD-ROM. Тем,
кто использует версии NetWare 4.11 и старше с DSK-драйверами старого
образца, настоятельно рекомендуется перейти на NPA, если они планируют
улучшение аппаратного обеспечения сервера в будущем.
( Совет )
Программа установки NetWare всегда сталкивается с конфликтом при попытке
обеспечить программную поддержку дискового накопителя CD-ROM. Это
связано с тем, что необходимо иметь в системе DOS-драйверы для того, чтобы
начать инсталляцию NetWare с диска CD-ROM, на котором она
распространяется. В большинстве случаев ошибка возникает при попытке инсталляционной
программы загрузить NetWare-драйверы для CD-ROM не взирая на то, что
DOS-драйверы уже используют адреса этого устройства. Необходимо быть
уверенным, что команды, подключающие DOS-драйверы, удалены из
загрузочных файлов после того, как завершен процесс инсталляции NetWare, и тогда
NetWare-драйверы для CD-ROM будут успешно добавлены в операционную
систему NetWare при следующей ее перезагрузке.
Драйверы сетевых адаптеров и протоколов
Для того чтобы сервер мог успешно взаимодействовать с клиентами сети,
необходимо установить драйверы для всех плат сетевых адаптеров, которыми он
оснащен, а также драйверы протоколов, которые сервер может запросить для
коммуникации с остальными компьютерами сети. Драйверы сетевых
адаптеров имеют расширение Ian и отождествляют параметры консольной команды
LOAD с теми ресурсами аппаратного обеспечения сети, которые требуются
данному адаптеру. В случае присутствия нескольких сетевых адаптеров у
одного сервера операционная система маршрутизирует трафик между
отдельными сетями в соответствии с установками по умолчанию.
Кроме драйверов, адресующих аппаратное обеспечение сети, дополнительно
нужно провести инсталляцию драйверов протоколов, которые будут
использоваться при работе сети. За исключением NetWare 5, все версии NetWare
требуют стека собственных протоколов Novell (IPX) для взаимодействия с
сетевыми клиентами. IPX представляет собой протокол передачи
дейтаграмм без установления соединения, который применяется для передачи
сообщений, генерируемых некоторыми протоколами более высокого уровня,
534
Часть IV. Сетевые операционные системы
например, SPX или NetWare Core Protocol. Именно эти протоколы
необходимы NetWare-клиентам для получения доступа к файлам и принтерам
сервера, а также выполнения других стандартных функций NetWare.
щ^ Примечание j|
Для получения более подробной информации о наборе протоколов IPX
См. главу 12.
NetWare 3.x и NetWare 4.x поддерживают другие протоколы, например,
TCP/IP, но не используют их для взаимодействия типа клиент/сервер. Для
того чтобы запустить какой-либо Web-сервер или другой Интернет-сервер
на сервере NetWare, приходится обязательно устанавливать драйвер TCP/IP
в целях обеспечения возможности взаимодействия Web-браузеров и других
Интернет-клиентов с сервером NetWare.
Драйверы протоколов инсталлируются в обычном порядке, как и остальные
драйверы, с помощью команды LOAD с соответствующими параметрами.
Чтобы задействовать установленный протокол, его необходимо закрепить за
одним или сразу всеми драйверами сетевых адаптеров, которыми оснащена
система сервера. Для привязки протокола к драйверу сетевого адаптера
существует консольная команда BIND, ассоциирующая определенный
протокол с конкретным драйвером сетевого адаптера. В случае TCP/IP команда
BIND содержит IP-адрес и маску подсети (subnet mask) сетевого адаптера,
так как они различны для каждого интерфейса, привязанного к драйверу
протокола TCP/IP.
Создание NCF-файлов
Как и в случае операционной системы DOS, сервер NetWare исполняет
командные файлы в начале работы для того, чтобы сконфигурировать ОС и
загрузить необходимые драйверы и приложения. Но вместо Config.sys и
Autoexec.bat, серверы NetWare используют два файла под названиями
Startup.ncf и Autoexec.ncf. NCF (NetWare Command File, командный файл
NetWare) представляет собой простой текстовый файл, содержащий набор
консольных команд с параметрами, абсолютно такими же, как те, что
используются в командной строке сервера NetWare. Startup.ncf хранится в
DOS-разделе сервера, поскольку содержит команды для загрузки драйверов
дисков, которые должны находиться в памяти еще до того момента, как
операционная система начнет монтировать SYS сервера, на котором
находится второй командный файл — Autoexec.ncf.
Одной из функций программы инсталляции является обнаружение
аппаратного обеспечения компьютера и снабжение упомянутых файлов командами,
соответствующими найденному оборудованию и отвечающими требованиям,
которые задаются пользователем при установке ОС. По мере совершенство-
Глава 15. Novell NetWare
535
вания операционной системы NetWare и создания различных версий эта
программа становилась все более сложной. Ранние З.х-версии практически
не выполняли никакого детектирования устройств и оставляли большую
часть работы по конфигурированию системы тому, кто ее устанавливал.
С момента появления версии NetWare 4.11 процесс инсталляции
значительно упростился, так как программа уже обладала способностью распознавать
большинство основных устройств в современных компьютерах и содержала
значения по умолчанию для многих конфигурационных параметров,
которые были приемлемы для основной массы систем.
Инсталляционная программа также позволяет создавать разделы и тома на
жестких дисках сервера, а затем формирует службу каталогов (bindery или
NDS), по умолчанию размещая ее файлы в разделе SYS. Как только
программа установки завершила все эти задачи, сервер перезагружается и исполняет
всю последовательность команд из NCF-файлов. С этого момента сервер
является полностью функциональным и готов к соединению с клиентами.
5RCQNS0LE
Auto
Й?Ш А)
ШШ
Г^Т.ГГГ,^Г -,,,;fo,r_
NetWare Loadable Module
Internetworking Configuration
Boar
Netw
UAN
Prot
Bind
Han a
Uieuj
Network Interfaces
{jHXER*Select. ТйВ«1од^1й Status F^Jtenawe №1
"Delete ES^C«Previous Menu *
Ft «Help
Рис. 15.3. Утилита Inetcfg.nlm
После инсталляции ОС на сервер NetWare возможно изменение стартовой
конфигурации путем прямого редактирования файлов Startup.ncf и
Autoexec.ncf при помощи, например, текстового редактора (Edit.nlm из
стандартного набора NetWare), утилиты NetWare Install.nlm или консоли сервера.
Кроме этого, версии NetWare 4.x и старше включают утилиту Inetcfg.nlm
(Internetworking Configuration), которая дает возможность создавать сложные
многосетевые структуры, задействуя соединения глобальных сетей, и
протоколы маршрутизации. Во время своего первого запуска Inetcfg.nlm
полностью удаляет из файла Autoexec.ncf все команды, загружающие драйверы и
536
Часть IV. Сетевые операционные системы
привязывающие протоколы к драйверам сетевых адаптеров, и импортирует
их в собственную базу данных. С этого момента для изменения сетевой
конфигурации сервера допускается использовать только Inetcfg.nlm.
Программа имеет интерфейс на основе меню, облегчающий работу по
конфигурированию системы сервера, а также позволяющий поближе познакомиться
с возможностями NetWare в плане маршрутизации и создания глобальных
сетей (рис. 15.3).
Обновления NetWare
Как и в случае многих других ОС, между большими релизами фирма Novell
выпускает патчи для решения некоторых проблем и, время от времени, для
придания новых свойств. Модель, положенная фирмой Novell в основу
этого процесса, изначально заключалась в том, чтобы производить
подобную коррекцию ОС посредством отдельных патчей. Иногда это приводило к
существованию дюжин и дюжин патчей, которые администраторам
требовалось получить, оценить и установить. Подобный метод был не только
непрактичен, но также способствовал возникновению дополнительных
трудностей из-за несовместимости модулей.
Чем больше количество самих патчей, тем в большем количестве
комбинаций они могут встречаться в конкретном компьютере. Если операционная
система конкретного сервера имеет определенный набор наложенных
"заплат", то она может вести себя иначе, чем ОС другого сервера, где
установлены все выпущенные патчи, и не так, как ОС третьего сервера с другим
набором патчей.
В некоторой степени данная модель использовалась вплоть до NetWare 3.12,
хотя многие из дополнений были уже связаны в пакеты для упрощения
процесса обновления системы. Ко времени написания этой книги насчитывается
уже 12 наборов патчей, необходимых для приведения NetWare 3.12 к
современному уровню требований. Однако это только те поправки, которые Novell
советует устанавливать в каждой системе. Есть еще и многочисленные
специализированные патчи, предназначенные для решения конкретных проблем,
которые адресованы только тем системам, которые испытывают именно эти
проблемы. В настоящее время существует всего один патч, рекомендованный
для NetWare 3.2, так как эта версия — сравнительно новый продукт.
Начиная с NetWare 4.x и NetWare 5, фирма Novell взяла на вооружение
метод, применяемый Microsoft для обновления версий своих программных
продуктов, в частности Windows NT, выпуская так называемые пакеты
поддержки (Support Pack). Как и Service Pack фирмы Microsoft, пакеты
поддержки Novell представляют собой пронумерованные конечные продукты,
содержащие все патчи, рекомендуемые для обновления ОС к текущему
моменту. Весь набор дополнения устанавливается одновременно, тем самым
сильно упрощается работа администратора, и все патчи проходят через со-
Глава 15. Novell NetWare
537
вместное тестирование, которое, в свою очередь, значительно облегчает
процесс разработки для фирмы Novell. Релизы Support Pack являются
совокупными, то есть каждый следующий пакет включает весь материал,
входивший в предыдущие выпуски.
Однако удобство такой практики вызывает некоторые сомнения.
Администратора, безусловно, удовлетворяет возможность загрузить один файл,
содержащий все поправки к операционной системе, но когда выпущено
несколько Support Pack для одной версии ОС, размер следующего пакета, который
требуется установить, может быть поистине гигантским. Например, Support
Pack 6 для версии NetWare 4.11 имеет объем 36 707 321 байт. Издание
релиза, который бы содержал только патчи, добавленные со времени выхода
последнего Support Pack, сможет оказать огромную помощь большому числу
сетевых администраторов.
Support Pack предназначены всем серверам, использующим
соответствующую версию NetWare, но наряду с этим продолжается и выпуск небольших
патчей, призванных корректировать только конкретные неполадки в работе
операционной системы. В большинстве случаев не следует устанавливать
каждый из них, хотя бы просто потому, что вовсе не обязательно, что после
установки система будет работать лучше. Если система испытывает какие-
либо трудности, есть смысл устанавливать конкретную "заплату",
призванную их исправить, в ином же случае намного лучше оставить все как есть.
Подсистема хранения
информации NetWare
В отличие от одноранговых операционных систем, таких как Windows 9x, NT
или 2000, NetWare предоставляет в совместное использование только файлы и
каталоги специализированных серверов, но никак не клиентских систем. Так
как сервер системы NetWare в основном занимается решением подобных
задач вместо исполнения пользовательских приложений и обеспечения
графического интерфейса, система совместного использования файлов сервера
NetWare обычно работает эффективнее, чем у аналогично оснащенного
компьютера под управлением операционной системы Windows NT.
В NetWare реализована собственная файловая система, которая может
сосуществовать на жестком диске с другими форматами файловых систем,
например, такими как FAT для DOS или Windows NT NTFS, но сама не
задействует ни части от этих других систем для своих Потребностей.
Невозможно применение никаких стандартных инструментов (например, FDISK
или FORMAT) для создания NetWare-разделов, а также последующее
использование диагностических и ремонтных программ, таких как Microsoft
ScanDisk или Norton Disk Doctor.
538
Часть IV. Сетевые операционные системы
Файловая система NetWare состоит из разделов (partitions), которых может
быть не более чем один на каждом жестком диске и томов (volumes), из
которых разделы состоят. Ссылка на NetWare-раздел размещается в обычной
строке в таблице разделов главной загрузочной записи (master boot record)
жесткого диска, аналогично разделам систем FAT и NTFS. Создавать
NetWare-разделы на дисках можно с помощью утилиты серверной консоли
InstaU.nlm. При установке NetWare на сервер сначала необходимо убедиться
в присутствии FAT-раздела на первичном (primary) жестком диске этого
компьютера, чтобы загрузить систему. Область диска, в которой
предполагается выделить NetWare-раздел, должна быть зарезервирована в качестве
свободного пространства.
В процессе инсталляции NetWare программа установки создает на диске
обязательный раздел файловой системы NetWare. В рамках этого раздела
необходимо будет завести, по крайней мере, один том под названием SYS,
где будут храниться файлы операционной системы. Нужно избегать
размещения пользовательских файлов в этом разделе, так как именно здесь
находится база данных NDS NetWare (хотя она и не включается в состав
отображаемых файлов), и выделенное пространство требуется для ее
потенциального роста.
Оставшееся место раздела можно использовать для создания
дополнительных сегментов (segments), количество которых (включая первичный)
ограничено восемью в пределах одного раздела. Каждый сегмент может быть как
самостоятельным томом, так и частью тома, состоящего из нескольких
сегментов, причем последние могут быть расположены в одном или разных
разделах. При наличии у сервера нескольких жестких дисков процедура
оформления NetWare-разделов на них аналогична. Хотя и возможно
создание томов из сегментов, расположенных на разных дисках, необходимо
помнить о том, что даже если откажет только один из дисков, будет утрачен
весь том. NetWare также позволяет создавать зеркальные тома в разных
разделах, что повышает надежность системы, хотя и за счет потери дискового
пространства.
( Совет )
Когда создается том, состоящий из сегментов, находящихся на разных дисках,
или же зеркальные тома, необходимо удостовериться, что физические
характеристики разных дисков сопоставимы между собой. В противном случае, если
сегмент или зеркальный том размещен на диске, работающем существенно
медленнее, чем остальные, общая эффективность работы всего тома будет
зависеть о производительности самого медленного устройства.
После создания тома его необходимо смонтировать, прежде чем процессы
сервера или сетевые клиенты смогут иметь к нему доступ. Файл Autoexec.ncf
сервера NetWare обычно содержит команду MOUNT ALL, которая
выполняет эту задачу автоматически при каждой загрузке сервера. Однако то же
Глава 15. Novell NetWare
539
самое можно сделать и вручную, монтируя и демонтируя тома с помощью
команд MOUNT и DISMOUNT, которые набираются в командной строке
консоли сервера.
Блоки распределения диска
При создании тома требуется осуществить выбор размера кластеров, которые
он будет использовать: 4, 8, 16, 32 или 64 Кбайт. Том стандартно разделяется
на блоки распределения диска (disk allocation blocks), что напоминает файловую
систему FAT. Блоки распределения диска изначально представляли
наименьший объем дискового пространства, который сервер может выделить для
хранения файла. Например, если размер распределенного блока будет равен
4 Кбайт, то для хранения файла размером 9 Кбайт потребуется 3 блока или
12 Кбайт, оставшиеся 3 Кбайт будут пустовать. В NetWare 4.x впервые
появилась возможность под названием подраспределение блоков (block suballocation),
позволяющая несколько уменьшить потери из-за полупустых блоков.
В отличие от дисков FAT, где размер кластера определяется операционной
системой автоматически, исходя из объема самого диска, NetWare позволяет
задавать размер блока для каждого вновь создаваемого тома. Выбор
правильного значения может быть важным элементом в построении
высокоэффективной системы хранения информации. Для правильного определения
размера блока нужно четко представлять, какой тип информации
предполагается хранить на сервере, и в соответствии с этим задать количество и
структуру томов на его жестких дисках.
Например, если планируется присутствие на сервере больших файлов баз
данных, можно создать для этих файлов отдельный том и назначить ему
большой размер блока. Это должно привести к увеличению эффективности
доступа к файлам по нескольким направлениям, перечисленным ниже.
□ Меньшее количество блоков для чтения. При использовании маленьких
блоков растет количество операций по чтению диска, необходимых для
доступа к файлу. Задействуя блоки большего размера, можно
минимизировать механические издержки при доступе к файлам жесткого диска.
□ Меньшие требования к памяти сервера. Каждый блок требует присутствия
собственной записи в FAT данного диска. Применение больших блоков
означает сокращение количества записей в FAT, описывающих
конкретный файл, поэтому требуется меньшее количество памяти для их
размещения при считывании.
□ Ускорение опережающего считывания. Файловая система NetWare
пытается упреждать нужды пользователя, запрашивающего файл, загружая в
память последующие файлы диска еще до того, как они будут фактически
запрошены. Увеличенный размер блоков позволяет серверу считать в
память больше таких данных, нежели чем при использовании блоков
меньшего размера.
540
Часть IV. Сетевые операционные системы
Недостаток большого размера блоков заключается в том, что при хранении
файлов малого размера потери дискового пространства будут расти.
Возвращаясь к предыдущему примеру, можно уточнить, что хранение файла
размером в 9 Кбайт на томе с блоками по 64 Кбайт приведет к потере 55 Кбайт.
Если умножить эту цифру на огромное количество небольших файлов, можно
содрогнуться от масштабов неиспользуемого пространства на диске.
По умолчанию NetWare 3.x устанавливает величину блоков равной 4 Кбайт
для всех вновь создаваемых томов. Версии NetWare, начиная с 4.x и старше,
определяют размер блоков, исходя из объема тома, по аналогии с системами
FAT. Для всех томов, емкость которых превышает 500 Мбайт, по умолчанию
назначаются блоки размером в 64 Кбайт, по той причине, что выделение
подблоков — новая особенность NetWare 4.x — позволяет серверу распределять
пространство диска в единицах, меньших размера самого блока. Возможен
выбор любого действительного значения для каждого создаваемого тома, при
этом допускается разный размер блоков для томов в пределах одного жесткого
диска. Однако после создания тома размер его блоков не может быть изменен
без предварительного разрушения тома (уничтожающего все данные).
DET и FAT
Том NetWare хранит всю информацию о своих файлах, кроме собственно их
содержимого, в таблице элементов каталогов (DET, directory entry table).
Структура каталогов тома NetWare, которую можно видеть в окне
Проводника Windows или другой программы, на самом деле совершенно не
отражает реального расположения файлов и каталогов на жестком диске. Иерархия
дерева каталогов представляет собой виртуальную конструкцию, физически
существующую только в виде информации в DET.
Любой NetWare-том имеет две копии DET, каждая из которых состоит из
блоков по 4 Кбайт (независимо от того, какой размер блоков выбран для
диска). Все файлы и каталоги данного тома имеют собственные записи в
DET, которая содержит следующую информацию:
П является ли данный элемент файлом или каталогом;
О имя файла или каталога;
О имя владельца, атрибуты и даты (создания, последнего доступа и
последней модификации) файла или каталога;
О имя файла или родительского каталога для каталога;
О если это файл, то ссылку на запись DET, описывающую его первый
сегмент данных;
П ссылку на место хранения информации о пространстве имен,
ассоциированном с данным файлом или каталогом;
О список "опекунов" (trustee list) — пользователей, обладающих
возможностью доступа к файлу или каталогу.
Глава 15. Novell NetWare
541
Серверы NetWare используют DET при любых операциях с файлами, не
затрагивающими собственно содержимое файлов. Например, если требуется
просмотреть содержимое каталога, сервер фактически сканирует DET в
поисках всех записей, ссылающихся на данный каталог как на родительский.
Тома NetWare применяют таблицы размещения файлов (FAT), как и диски
DOS, для фиксирования блоков, использованных для записи конкретного
файла. Так как блоки, содержащие данные одного файла, обычно не
располагаются на диске последовательно, в FAT включаются сведения о том,
какие именно блоки были задействованы при сохранении данного файла. FAT
состоит из пронумерованных записей о каждом блоке в пределах тома, а
DET определяет номер блока, содержимым которого является первый
сегмент данных для каждого файла. Запись FAT, ему соответствующая,
ссылается на запись FAT, связанную со вторым сегментом данных файла,
вторая запись содержит ссылку на третью, и так далее, пока цепочка FAT не
приведет к записи, которая укажет на последний сегмент данного файла.
Пространства имен
NetWare по умолчанию использует стандартную 8.3-систему DOS для
именования файлов и каталогов, но также поддерживает другие файловые
системы, задействуя пространства имен (пате spaces), которые принимают
форму добавочных записей в DET, содержащих дополнительную
информацию о файлах или каталогах. Например, для обеспечения совместимости с
длинными именами файлов и каталогов систем Windows потребуется
установить модуль поддержки пространства длинных имен —- Long.nam,
загружаемый с консоли сервера. Поскольку стандартная запись DET не может
содержать имя файла или каталога длиной в 255 символов, сервер
формирует дополнительную запись для хранения длинного имени, и головная запись
DET для данного файла включает ссылку на этот добавочный элемент DET.
При первой загрузке модуля нового пространства имен требуется выполнить
команду ADD NAME SPACE из командной строки консоли сервера с
указанием вида пространства имен и тома, которому оно должно быть
добавлено, как в следующем примере:
ADD NAME SPACE LONG TO SYS
NetWare включает модули пространств имен (все они имеют расширение
nam), поддерживающие следующие файловые системы:
О Windows VFAT;
О Macintosh;
□ OS/2 HPFS;
□ NFS;
О FTAM.
542
Часть IV. Сетевые операционные системы
Длинные имена файлов и каталогов — это только одна из возможностей,
предоставляемых модулями пространств имен. Свойства и способности томов
NetWare, придаваемые новыми модулями пространств имен, зависят от того,
какую файловую систему поддерживает конкретное пространство имен.
Может показаться заманчивым добавить все доступные пространства имен
для всех томов, хотя бы из соображений обеспечения максимальной
гибкости при хранении информации, но этого следует избегать. Установка
каждого нового пространства имен добавляет одну строку в DET данного тома
для каждого файла или каталога. Таким образом, одно пространство имен
удваивает размер DET. Добавление множества пространств имен резко
увеличивает размер таблицы и уменьшает число записей DET, кэшируемых в
памяти сервера.
Серверы NetWare хранят последние использованные записи DET в
кэшпамяти, чтобы иметь к ним быстрый доступ в случае возникновения такой
потребности. Лишнее пространство имен сокращает количество
кэшируемых записей вдвое, поскольку необходимы уже две записи для каждого
файла или каталога. Меньшее количество кэшируемых записей означает,
что серверу с большей вероятностью потребуется получить доступ к
информации DET на диске, чем найти ее в кэш-памяти. Установка слишком
большого числа дополнительных пространств имен для конкретного тома
способна ощутимо снизить производительность данного тома.
Следовательно, оптимальным решением будет привлечение только тех
пространств имен, которые действительно необходимы какому-либо тому
NetWare. Кроме того, нужно стремиться избегать использования множества
пространств имен для одного тома, создавая вместо этого
специализированные тома, призванные хранить конкретные типы информации. Например,
выделение одного тома для хранения Macintosh-файлов будет более
целесообразно, чем добавление пространства имен MAC для всех томов, в
предположении, что кто-либо захочет хранить на них файлы Macintosh.
Также есть возможность настройки объема памяти, который сервер будет
выдерживать для кэширования записей DET. Команда SET MINIMUM
DIRECTORY CACHE BUFFERS определяет число буферов, автоматически
выделяемых для кэш-памяти DET при старте сервера. Величина этого
параметра по умолчанию составляет 20, и ее можно изменить на любое значение
от 10 до 8000. Когда сервер запускается, он заказывает дополнительные
буферы для DET-кэша по требованию в соответствии со значением значения,
указанным командой SET MAXIMUM DIRECTORY CACHE BUFFERS.
Значение последнего параметра по умолчанию устанавливается равным 500,
возможны его изменения в пределах от 20 до 20 000.
При наличии достаточного количества памяти у сервера можно увеличить
максимальный объем кэширования в случае необходимости поддержки
дополнительных пространств имен. Это позволит сохранить на прежнем уров-
Глава 15. Novell NetWare
543
не (а возможно, и улучшить) производительность системы. Каждый буфер
размером 4 Кбайт, добавляемый к кэш-памяти, позволяет удерживать
восемь дополнительных записей DET. Таким образом, чтобы удвоить как
минимальное, так и максимальное число кэш-буферов, потребуется выполнить
следующие команды в командной строке консоли сервера (или включить их
в файл Autoexec.ncf):
SET MINIMUM DIRECTORY CACHE BUFFERS =40
SET MAXIMUM DIRECTORY CACHE BUFFERS = 1000
Усовершенствования файловой
системы NetWare 4.x
Базовая файловая система NetWare, описанная в предыдущих разделах,
существует до настоящего времени, но версия NetWare 4 привнесла в нее
некоторые новые черты. Например, тома NetWare 4.x способны опционально
использовать сжатие "на лету" для увеличения емкости диска. В установленное
время каждый день или ночь сервер подвергает сжатию всю информацию,
содержащуюся на томе. Когда пользователь или приложение запрашивают
какой-либо файл, сервер автоматически производит декомпрессию данных,
прежде чем доставить файл потребителю. После этого файл остается в
распакованном виде, готовый для дальнейших обращений, вплоть до следующего
цикла сжатия. Такой тип сжатия данных в определенной степени влияет на
производительность тома, а также отражается на загрузке процессора сервера,
однако, в некоторых случаях дополнительное дисковое пространство для
хранения информации оправдывает потери в других областях.
Другая особенность системы хранения информации NetWare 4.x
заключается в способности решить проблему потерь дискового пространства
вследствие неполного заполнения блоков диска. Дополнительное место можно
высвободить с помощью специального механизма подраспределения блоков
(block suballocation). Использование блоков по 4 Кбайт позволяет свести
потери к минимуму, но всевозрастающая емкость сегодняшних жестких
дисков делает применение блоков малого размера все более и более
непрактичным. Деление блоков на еще меньшие 512-байтовые порции дает
возможность оптимизировать файловые операции до большей эффективности и
минимума потерь.
Когда у тома активирована возможность деления блоков, сервер создает
определенное число зарезервированных блоков подраспределения (SRB,
suballocation reserved blocks). Это — блоки, разделенные на сегменты по
512 байтов и предназначенные для хранения фрагментов файлов различного
размера. Записывая файл на том, сервер заполняет максимально возможное
число целых блоков, а затем, исходя из величины оставшегося фрагмента
файла, определяет, в какой из SRB можно записать остаток файла. В резуль-
544
Часть IV. Сетевые операционные системы
тате, объем потерь дискового пространства в самом худшем случае не будет
превышать 512 байтов на каждый файл, что является существенным
улучшением по сравнению с томом, не поддерживающим дробление блоков,
даже в случае минимального размера блока в 4 Кбайт.
Резервирование блоков является опциональной возможностью, доступной
по умолчанию, размер блоков настраивается индивидуально для каждого
тома с помощью утилиты Install.nlm. С другой стороны, для ее запрещения
редко можно найти достаточно веские причины, так как данная функция
работает совершенно незаметно и не приводит к явному ухудшению
производительности системы. В том случае, когда принимается решение
отказаться от возможности резервирования блоков для конкретного тома,
необходимо, по крайней мере, поменять размер блоков по умолчанию в 64 Кбайт для
дисков больше 500 Мбайт. Иначе следует ожидать значительных потерь
дискового пространства.
Novell Storage Services
Версия NetWare 5 впервые продемонстрировала еще одно улучшение
файловой системы под названием Novell Storage Services (NSS). NSS представляет
собой 64-разрядную службу индексированного хранения информации,
использующую свободное пространство множества устройств хранения данных
для создания одного виртуального раздела, который может быть разделен на
любое количество томов. Тома могут иметь размер до 8 Тбайт на нынешних
32-разрядных и до 8 Эбайт (то есть 8 х 1064 байт) на 64-разрядных серверах.
NSS-том способен хранить миллиарды файлов, каждый из которых может
быть объемом в 8 Тбайт. NSS также значительно увеличивает скорость, с
которой NetWare монтирует тома. Такой медлительностью часто страдает
стандартная файловая система NetWare (которая теперь называется NWFS,
поскольку появилась возможность сравнения).
Другая информация о NetWare
Novell Directory Services (NDS, службы каталогов Novell), одно из наиболее
важных новшеств в версиях NetWare 4.x и NetWare 5, детально обсуждается
в главе 21. Протоколы IPX, используемые NetWare для взаимодействия типа
сервер/клиент, описаны в главе 12. Подсистема печати NetWare
рассматривается в главе 25.
Глава 16
UNIX
UNIX представляет собой многопользовательскую многозадачную ОС,
уходящую своими корнями в далекие 1960-е года. Она разрабатывалась на
протяжении 1970-х годов специалистами AT&T's Bell Labs и впервые была
представлена в 1983 г. под названием UNIX System V Release 1. С этого
времени и до наших дней многие организации выпустили свои собственные
версии ОС на базе UNIX, и сейчас существует множество различных
операционных систем, функционирующих на основе одних и тех же базовых
компонентов UNIX. Это стало возможным потому, что с самого начала ОС
UNIX была больше совместным исследовательским проектом, нежели
коммерческим продуктом. В отличие от фирм типа Novell или Microsoft,
ревностно охраняющих исходные коды своих операционных систем,
разработчики UNIX изначально стремились сделать код своей ОС свободно
доступным. Это позволило каждому, кто обладал надлежащими навыками,
модифицировать ОС в соответствии с собственными нуждами.
UNIX не является ОС, удобной для пользователя, соответственно, ее
нечасто можно найти на компьютере обычного пользователя. Противники
характеризуют UNIX как устаревшую ОС, которая в основном использует
архаичный текстовый интерфейс. Для приверженцев же UNIX является
наиболее мощной, гибкой и одновременно стабильной ОС из всех ныне
существующих. Как обычно, обе точки зрения правильны до определенной
степени, а истина находится где-то посередине.
Несмотря на громадный рост популярности UNIX в последнее время,
прилавки компьютерных магазинов отнюдь не ломятся от обилия игр или
другого развлекательного программного обеспечения под UNIX, и вряд ли
этого стоит в ближайшее время ожидать. Настолько же маловероятно
увидеть в ближайшем будущем офисы, полные сотрудников, продуктивно
работающих в среде UNIX с офисными приложениями, такими как
текстовые процессоры или электронные таблицы. Однако когда браузер
инициирует соединение с Web-сайтом, весьма высока вероятность того, **то сервер,
на котором находится данный сайт, управляется какой-либо из версий
UNIX. В дополнение, многие вертикальные приложения, разработанные для
специфических областей бизнеса, например, в функции которых входит
заказ номеров в отеле или аренда автомобилей, также, скорее всего,
функционируют на базе UNIX.
546
Часть IV. Сетевые операционные системы
Несмотря на все разговоры о сложности и мощности UNIX, обеспечение
пользователя UNIX-системой с графическим пользовательским
интерфейсом, ориентированным на широко применяемые ныне текстовые
процессоры или Web-браузеры и по удобству сравнимым с возможностями извечного
конкурента, Windows, не является такой уж невыполнимой задачей. В UNIX
графические пользовательские интерфейсы не интегрированы в
операционную систему настолько полностью, как это произошло с различными
версиями Windows. Для осуществления многих из важнейших функций UNIX
вполне хватает только командной строки, и, в большинстве случаев
графический пользовательский интерфейс UNIX представляет собой всего лишь
вспомогательную программу, запущенную на компьютере, но никак не
интегральную часть ОС.
В качестве серверной операционной системы UNIX приобрела прочную
репутацию ОС, без сомнения стабильной для поддержки приложений
целевого назначения, легко распространяемой на множество различных
аппаратных платформ и достаточно масштабируемой для обеспечения
пользовательской базы практически любого размера. Все операционные системы
на базе UNIX задействуют протоколы TCP/IP в качестве базовых, поэтому
изначально пригодны для использования в Интернете и коммуникаций с
другими ОС. Фактически, UNIX-системы были инструментарием,
позволившим Интернету эволюционировать из эксперимента в тот всемирный
феномен децентрализованной, глобальной сети с коммутацией пакетов,
каким эта сеть является в настоящее время.
Принципы UNIX
В большей степени, чем другие операционные системы, UNIX базируется
на принципе максимального упрощения, что резко повышает способность к
адаптации самой ОС к различным нуждам. При этом совершенно
неправильно утверждение о том, что система UNIX проста в эксплуатации, так
как в большинстве случаев это совсем не так. Принцип упрощения
заключается в том, что ОС построена на правилах, в соответствии с которыми она
общается с самыми различными элементами компьютера наиболее простым
и понятным образом. Например, ОС на базе UNIX воспринимает
физические устройства компьютера, такие как принтеры, дисплей, клавиатуру,
абсолютно так же, как файлы и каталоги жесткого диска. Можно легко
скопировать файл на дисплей или принтер, не отличая их от обычного каталога, а
также использовать для устройств любые подходящие программы для
работы с файлами.
Другой фундаментальный принцип UNIX заключается в локальности —
задействовании маленьких специализированных инструментов для
выполнения простых системных вызовов, которые могут легко комбинироваться
между собой в целях обеспечения более сложных действий. В противовес
Глава 16. UNIX
547
встраиванию множества возможностей в одно сложное приложение,
операционная система на базе UNIX с намного большей вероятностью будет
использовать небольшую программу, которая обеспечит базовый сервис для
всех остальных программ. Хорошим примером является команда sort,
которая позволяет извлекать содержимое текстового файла, сортировать его в
соответствии с параметрами, заданными пользователем, и отправлять
результаты на устройство вывода, например, на дисплей или принтер. Помимо
указанного применения команды sort возможно ее привлечение для
сортировки результатов деятельности других команд перед отображением этих
результатов на дисплее или принтере.
Элемент, объединяющий небольшие программы для выполнения более
сложных задач, получил название конвейера (pipe). Он дает возможность
оперирования одним программным средством для обработки результатов
работы другого или обеспечения входных данных для третьего средства.
Хотя DOS также позволяет использовать конвейеры в целях
перераспределения различным образом стандартных входных или выходных данных, UNIX
включает намного более широкий диапазон программных средств и команд,
которые могут быть собраны вместе при создании сложных и мощных
прикладных программ.
Таким образом, хотя операционная система UNIX и основана на очень
простых компонентах, но ее способность к разнообразному сочетанию мелких
элементов делает данную ОС очень сложной. В то время как большое
комплексное приложение пытается удовлетворить потребности пользователя,
комбинируя множество изначально детерминированных своих функций,
операционная система UNIX предоставляет потребителям набор программ,
выполняющих базовые функции, и позволяет как угодно агрегировать их в
рабочие инструменты по собственному вкусу создателя. Результатом этого
сочетания является ОС с огромной гибкостью и расширяемостью, но, для
задействования всех ее преимуществ оператору требуются знания,
превышающие средний уровень типичного пользователя компьютера.
В связи со своими основополагающими принципами, UNIX — в большей
степени "ОС для программистов", так как если даже в исходном наборе
отсутствует программа, выполняющая конкретную функцию, то, как правило,
операционная система предоставляет все необходимое для создания данной
программы своими руками. Конечно, нельзя прямо говорить, что нужно
быть программистом для того, чтобы пользоваться UNIX, но использование
многих технологий, применяемых программистами при написании
программного кода, является обычным делом при работе с многочисленными
инструментами в командной строке UNIX.
Различные варианты операционных систем на базе UNIX построены на
основе одних и тех же базовых компонентов, но включают разные наборы
программ и инструментов. В зависимости от того, на какой из вариантов ОС
ориентироваться, на коммерческий или бесплатный, можно обнаружить либо
548
Часть IV. Сетевые операционные системы
полную версию ОС в комплекте с такими модулями, как Web- и DNS-
серверы, и другими программами, либо только набор базовых модулей ОС, и
все указанные прикладные приложения придется приобретать
самостоятельно. С другой стороны, одним из других важных принципов разработки UNIX,
сохраняющимся уже на протяжении многих лет, была традиция свободного
доступа для каждого к исходному коду программного обеспечения UNIX.
Следствием такой проводимой разработчиками политики стало огромное
изобилие сервисных программ, приложений и другого программного
обеспечения UNIX, которое доступно для бесплатной загрузки через Интернет.
В некоторых случаях программисты изменяют существующие модули UNIX
для того, чтобы подогнать их под собственные нужды, а затем публикуют
эти модификации, которые в дальнейшем могут бесплатно использоваться
всеми желающими, кто найдет их полезными для себя. Часть программистов
работают над проектами программного обеспечения для UNIX в качестве
хобби и выставляют результаты своей деятельности для публичного
использования. Одним из самых показательных примеров подобных проектов
является операционная система Linux, с самого начала разрабатывавшаяся как
бесплатный продукт, которая в настоящее время стала одним из самых
популярных вариантов UNIX.
Архитектура UNIX
Так как ОС UNIX доступна в очень большом количестве версий, она может
работать на множестве аппаратных платформ, от простейшего
персонального компьютера с процессором Intel 80386, до специализированных
рабочих станций стоимостью в сотни и тысячи долларов. Многие из вариантов
UNIX создавались производителями аппаратного обеспечения специально
под их оборудование. Solaris от Sun Microsystems, HP-UX от Hewlett-Packard,
AIX от IBM, IRIX от Silicon Graphics представляют собой примеры
операционных систем, предназначенных для использования на рабочих станциях
соответствующего производителя. Большинство версий UNIX работают с
персональными компьютерами на базе процессоров Intel, но можно
встретить и варианты для нескольких аппаратных платформ. Например,
существует версия ОС Solaris для оригинальной аппаратной платформы SPARC
фирмы-производителя Sun Microsystems, а также для процессора Intel.
Аппаратные требования у различных операционных систем на базе UNIX
очень широко варьируются, в зависимости от того, на выполнение каких
функций нацелен конкретный компьютер. Например, Linux сможет легко
работать на старом добром 386-ом до тех пор, пока не требуется
обеспечение графического пользовательского интерфейса или создание сервера с
большим количеством пользователей. На противоположном полюсе
находятся платформы для специализированных рабочих станций, например, от
Silicon Graphics, являющиеся наиболее мощными (и самыми дорогими), с
Глава 16. UNIX
549
помощью которых современная киноиндустрия создает реалистические
спецэффекты в кинофильмах.
Независимо от того, какую аппаратную платформу использует
операционная система на базе UNIX, базовые программные компоненты ОС остаются
без изменений (рис. 16.1). Ядро (kernel) представляет собой основной
модуль, отделяющий программы, выполняемые компьютером, от
оборудования. Ядро содержит драйверы устройств, взаимодействующие с
соответствующими компонентами аппаратных средств
компьютера для обеспечения базовых функций, таких
как управление памятью, ввод/вывод, обработка
прерываний и управление доступом.
Программы
Оболочка
Ядро
Аппаратное обеспечение
Рис. 16.1. Базовые компоненты
операционной системы UNIX
Ядро снабжает программы приблизительно 100 системными вызовами,
которые приложения привлекают для решения конкретных задач, например,
открытия файла, выполнения программы, прерывания процесса. Эти
функции являются строительными блоками, которые интегрируются
программистами в более сложные задачи, связанные с аппаратным обеспечением и
реализуемые в конкретных прикладных программах, создаваемых под
конкретные потребности. Системные вызовы могут несколько отличаться в
различных версиях UNIX, по преимуществу расхождения относятся к тому,
каким именно образом внутренние компоненты операционной системы
выполняют определенные функции.
Непосредственно выше ядра располагается командный процессор (shell),
обеспечивающий интерфейс, применяемый пользователем для ввода команд и
исполнения программ. Командный процессор (или командный интерпретатор,
оболочка) представляет собой интерпретатор команд, аналогично Command.com в
DOS или Cmd.exe в Windows NT/2000, который поддерживает символьную
командную строку, используемую для взаимодействия пользователя с
операционной средой. Оболочка также функционирует в качестве языка
программирования, который может быть затребован при создании сценариев.
Они очень похожи на командные файлы DOS, но намного более мощны и
универсальны.
В отличие от DOS и Windows NT, обеспечивающих пользователя только
одним из интерпретаторов команд, система UNIX традиционно предлагает на
выбор несколько оболочек с различными возможностями. Набор командных
интерфейсов, включенных в конкретную коммерческую версию
операционной системы UNIX, может значительно варьироваться, многие оболочки
доступны совершенно бесплатно. Обычно выбор командного интерфейса
зависит от личных предпочтений пользователя, основанных на предьщущем
550
Часть IV. Сетевые операционные системы
опыте. Основные команды по управлению файлами и выполнению других
стандартных задач операционной системы одинаковы для всех оболочек.
Различия становятся более ощутимыми в случае более сложных команд или
при создании сценариев.
Оригинальный командный процессор UNIX — это программа под названием
sh, иначе называемая Bourne shell (no имени создателя — Стива Буэна (Steve
Bourne)). Существует еще несколько широко распространенных оболочек.
□ csh. Известна как С shell (оболочка для Си), создана изначально для BSD
UNIX, использует синтаксис, сходный с языком программирования Си,
имеет такие наиболее характерные черты, как история команд (command
history list), управление заданиями (job control) и псевдонимы (aliases).
Сценарии, написанные для Bourne shell, обычно требуют некоторой
модификации для работы с этой оболочкой.
□ ksh. Сокращение от Korn shell, построена на основе Bourne shell с
добавлениями элементов С shell, а также других усовершенствований.
Сценарии для Bourne shell, как правило, работают в Korn shell без какой-либо
модификации.
□ bash. Оболочка по умолчанию, применяемая операционной системой
Linux, близкий аналог Korn shell, содержит некоторые элементы С shell.
Кроме текстовых командных процессоров также возможно использование
графического пользовательского интерфейса (GUI, Graphical User Interface)
для взаимодействия с операционной системой UNIX. Существует несколько
вариантов графического интерфейса для различных версий UNIX, например
Motif или Open Look. Некоторые разновидности UNIX, такие как Solaris,
обеспечивают свой собственный GUI, другие же, такие как Linux,
применяют сервер X Windows, позволяющий запускать один из многочисленных
существующих менеджеров окон, например, К Desktop Environment (KDE,
графический пользовательский интерфейс фирмы Corel). В ответ на
растущую популярность Windows графические оболочки UNIX в последние годы
улучшились по качеству и набору возможностей настолько, что уже могут
соперничать с GUI Windows с точки зрения функциональности (рис. 16.2).
Над оболочкой располагаются команды, применяемые пользователем для
выполнения задач в системе. UNIX включает сотни маленьких программ,
обычно называемых инструментарием команд (tools of commands),
комбинируя которые в командной строке, можно решать более сложные задачи.
Сотни других подобных программ можно получить бесплатно в Интернете,
они все совместимы как между собой, так и со средствами дистрибутива
ОС. Инструменты командной строки UNIX формально являются
программами, но не стоит путать их со сложными комплексными приложениями,
которые используют другие ОС, например, Windows.
Полнофункциональными прикладными программами UNIX не удивишь, но сила этой ОС как
Глава 16. UNIX
551
раз и заключается в таких небольших модулях. Добавление новой утилиты в
систему UNIX не требует процедуры установки, достаточно просто уточнить
дислокацию инструмента в файловой системе для того, чтобы обеспечить
командному процессору возможность его запуска.
Рис. 16.2. К Desktop Environment при соответствующей настройке может выглядеть
аналогично Windows
Версии UNIX
Ужасающее количество клонов UNIX может поставить в тупик практически
любого, кто захочет подобрать подходящую версию ОС для конкретного
приложения. С другой стороны, в отличие от ОС, разработанных для
специальных нужд, почти любая из версий UNIX сможет выступить во множестве
ролей, и выбор конкретного варианта может базироваться на экономических
соображениях, аппаратной платформе и персональных предпочтениях в
большей степени, чем на каких-либо других факторах. Например, при
покупке специализированной рабочей станции на базе UNIX вероятнее всего
присутствие у нее версии UNIX, созданной фирмой-поставщиком и
предназначенной для данного компьютера. Если же планируется использование
552
Часть IV. Сетевые операционные системы
операционной системы UNIX в компьютере на базе Intel, следует выбрать
версию ОС, графический интерфейс которой наиболее удобен конкретному
пользователю. При стесненном материальном положении или поиске
наиболее дешевого варианта стоит ограничиться версиями, доступными для
бесплатной загрузки из Интернета. В следующих разделах описываются
некоторые наиболее важные версии UNIX.
UNIX System V
UNIX System V явилась конечным результатом оригинальной разработки
UNIX, начатой AT&T's Bell Labs в 1970-х годах. Вплоть до релиза 3.2 проект
полностью разрабатывался AT&T, в то время как другие работы по UNIX
велись также в Калифорнийском университете в городе Беркли и других
местах. Редакция UNIX System V Release 4 (SVR4), вышедшая в конце 1980-х
годов, объединила преимущества операционных систем SVR, BSD из Беркли,
SunOS от Sun Microsystems и Xenix от Microsoft. Этот релиз впервые свел
воедино основные наиболее важные элементы, которые ныне прочно
связаны с именем UNIX. Это, прежде всего, компоненты для построения сетей,
например, TCP/IP Internet Package от BSD, включивший в себя
возможности передачи файлов, дистанционного входа в систему и исполнения
программ на удаленной машине, а также Network File System (NFS, сетевая
файловая система) из SunOS.
Фирма AT&T в дальнейшем передала всю разработку UNIX своему
специальному подразделению, названному UNIX System Laboratories (USL),
которое и выпустило UNIX System V Release 4.2. В 1993 USL перешла в
собственность от AT&T к фирме Novell, издавшей свою собственную версию
UNIX под названием UnixWare. Под легким давлением со стороны других
компаний, вовлеченных в процесс разработки UNIX, фирма Novell передала
права на торговую марку UNIX консорциуму под названием Х/Open, что
позволило любому разработчику называть свои продукты операционными
системами UNIX. В 1995 фирма Novell продала Santa Cruz Operation (SCO)
все свои интересы в UNIX SVR4. Последняя и продолжает владеть ими до
настоящего времени. В 1997 г. SCO выпустила UNIX System V Release 5
(SVR5) под названием OpenServer, а также версию 7 продукта UnixWare. Эти
версии являются прямыми потомками оригинальных разработок AT&T и
по-прежнему доступны на рынке операционных систем.
BSD UNIX
В 1975 г. один из изначальных разработчиков UNIX, Кен Томпсон,
проводил годичный отпуск для научной работы в Калифорнийском университете
в городе Беркли и за это время успел портировать свою тогдашнюю версию
UNIX на систему PDP-11/70. Семена, которые он посеял, дали обильные
всходы, и вскоре сам Калифорнийский университет стал одним из основных
Глава 16. UNIX
553
разработчиков UNIX. BSD UNIX представила некоторые из важнейших
особенностей UNIX, ассоциируемых с большинством версий этой ОС,
включая С shell и текстовый редактор vi. На протяжении 1970-х годов вышла
серия BSD UNIX-систем, завершившаяся 3BSD. В 1979 г. подразделение
Министерства Обороны США (US Department of Defense) под названием
Управление перспективных исследовательских программ (DARPA, Defense
Advanced Research Projects Agency) оплатило работы над 4BSD, которые шли
совместно с развитием и "усыновлением" сетевых протоколов TCP/IP.
В конечном счете, BSD UNIX оказалась той ОС, которую многие фирмы-
разработчики систем UNIX берут за основу при создании своих
оригинальных продуктов, как, например, Sun Microsystems для SunOS. Результатом
этого является полная совместимость на уровне машинных кодов
большинства программ, написанных для одной версии BSD UNIX, с другими ее
версиями. С момента объединения в SVR4 важнейших положительных качеств
BSD UNIX, а также других вариантов UNIX в одном продукте, система BSD
стала несколько менее влиятельной, ее собственное развитие завершилось с
выходом 4.4BSD в 1992 г.
Хотя многие из популярных в настоящее время версий UNIX в большом
долгу перед проектом, разрабатывавшимся BSD, версии BSD UNIX, которые
продолжают активно использоваться, представляют собой свободно
распространяемые операционные системы, например, FreeBSD, NetBSD, и OpenBSD.
Все они базируются на 4.4BSD, выпущенной в Беркли и могут быть получены
из Интернета совершенно безвозмездно, а также применены при создании
частных и коммерческих приложений без дополнительной оплаты.
FreeBSD
Операционная система FreeBSD, версии которой для платформ Intel и Alpha
можно бесплатно загрузить по адресу http://www.freebsd.org, основана на
4.4BSD-Lite2 и имеет совместимость на уровне машинных кодов с
приложениями для Linux, SCO, SVR4 и NetBSD. Проект развития FreeBSD разделен
на две основные ветви: одна из которых называется STABLE и включает
только хорошо протестированные патчи для исправления ошибок и
радикальных усовершенствований, и ветвь под названием CURRENT,
содержащую все последние изменения кода и предназначенную в основном
разработчикам, тестерам и энтузиастам. Последняя STABLE-версия, а именно
3.4, вышла в декабре 1999 г.
NetBSD
Операционная система NetBSD также не требует оплаты, ее можно
скопировать на свой компьютер с сайта поддержки http://www.netbsd.org. NetBSD
развивалась из того же источника, что и FreeBSD, но здесь одним из
приоритетов была высокая способность к переносимости. Существует 15 версий
554
Часть IV. Сетевые операционные системы
NetBSD для различных аппаратных платформ, от Intel и Alpha до Macintosh,
SPARC или MIPS, включая варианты для карманных устройств Windows СЕ.
Многие другие варианты портирования находятся на стадии эксперимента.
Совместимость NetBSD на уровне кода позволяет ей поддерживать
приложения, созданные для множества иных версий UNIX, в том числе BSD,
FreeBSD, HP/UX, Linux, SVR4, Solaris, SunOS и других. Возможности
организации- сети поддерживаются самим ядром ОС и включают NFS, IPv6,
NAT и фильтрацию пакетов. Последняя версия NetBSD под номером 1.4.1.
вышла в августе 1999 г.
OpenBSD
Операционную систему OpenBSD можно бесплатно получить по адресу
http://www.openbsd.org. Текущая версия, 2.6, была выпущена в декабре
1999 г. Как и другие ОС на основе BSD, OpenBSD совместима на уровне
машинных кодов с большинством ОС UNIX, включая FreeBSD, SVR4,
Solaris, SunOS и HP/UX, а также работает к настоящему времени на 11
аппаратных платформах, в том числе Intel, Alpha, SPARC, PowerPC и других.
При этом в качестве основного приоритета для разработчиков OpenBSD
выступает безопасность и криптография. Поскольку OpenBSD — заведомо
некоммерческий продукт, его создатели могут занимать менее
бескомпромиссную позицию в отношении вопросов безопасности и раскрывать
больше информации о системе защиты, чем разработчики коммерческого
программного обеспечения. С другой стороны, так как OpenBSD
разрабатывается и распространяется из Канады, она не подпадает под юрисдикцию
законов США, которые запрещают вывоз программного обеспечения из
области криптографии в другие страны. Таким образом, разработчики
OpenBSD, в отличие от американских компаний, имеют больше
возможностей применять криптографические методы при решении вопросов,
связанных с безопасностью.
Linux
Созданная в Швеции в качестве школьного проекта Линуса Торвальдсона
(Linus Torvaldson), операционная система Linux стала одной из самых
популярных разновидностей UNIX за последние годы. Как и FreeBSD, NetBSD
и OpenBSD, система Linux может быть бесплатно загружена из Интернета.
Существуют ее версии для большинства стандартных аппаратных платформ.
Продолжается постоянное улучшение и доработка операционной системы,
осуществляемые специально созданной для этой цели группой
программистов, которые общаются через Интернет, используя электронную почту и
сетевые конференции. Все большее количество людей работает над
созданием всевозможных модулей и прикладных программ для Linux. Множество
новых возможностей и особенностей ОС появилось после адаптации неко-
Глава 16. UNIX
555
торыми программистами уже имевшегося кода операционной системы под
собственные нужды и последующей публикации результатов для общего
пользования. Чем выше поднимается популярность проекта, тем большее
число людей работают над ним подобным образом, что сильно активизирует
процесс разработки.
Эта вспышка активности также привела к появлению дополнительных
разновидностей Linux. К настоящему времени существует достаточно много
версий Linux, сходных с точки зрения базовых функций ядра, но
отличающихся набором дополнительных возможностей. Как и в случае различных
версий ОС BSD, большинство из вариантов Linux доступны бесплатно в
Интернете, тем не менее, значительный рост массовости ОС привел к
выпуску ряда полукоммерческих релизов.
Наиболее известная на сегодняшний день версия Linux называется Red Hat
Linux и распространяется одноименной компанией, финансовый успех
которой зиждется на упаковке и продаже бесплатного продукта более широкой
аудитории. Популярность Linux достигла уровня, когда ОС вышла за
пределы привычного рынка операционных систем UNIX, включавшего в
основном компьютерных профессионалов и узкий круг любителей. Частично это
можно объяснить негативной реакцией на деятельность фирмы Microsoft,
которая, как многим кажется, близка к захвату монополии на рынке ОС.
Заплатив за "коммерческий" релиз Linux, такой как Red Hat, потребитель
получает не только исходный код операционной системы на CD-ROM, но и
набор приложений, документацию и техническую поддержку, которых так
не хватает некоммерческим версиям ОС. Другие "раздатчики" данной ОС,
такие как Slackware, Debian или Caldera предоставляют аналогичные
продукты и обеспечивают сходный сервис, но это отнюдь не обязательно означает
совместимость на уровне машинных кодов их версий Linux. В некоторых
случаях программы, написанные для ОС одного распространителя, не
работают с версией ОС, издаваемой другим.
Бесплатные версии Linux обеспечивают тот же уровень функциональности,
что и коммерческие, но в менее удобной упаковке. Файлы ОС могут иметь
очень большой размер, что делает процесс загрузки весьма длительным. Не
исключена также ситуация, когда придется прервать установку ОС для того,
чтобы отследить положение важного фрагмента информации или из-за
потребности загрузить еще один модуль, который, как выяснится только в
процессе инсталляции, будет не только иметь большое значение для
выполнения конкретной задачи, но и просто необходим. Другими словами,
коммерческие версии Linux предлагают удобную упаковку, легкий процесс
инсталляции и осознание того, что на CD-ROM есть полный набор программ,
нужных для установки и запуска системы. Также прилагается подробная
документация и возможность обратиться за помощью, если таковая
потребуется, причем все это за смешную цену от 50 $ до 100 $.
556
Часть IV. Сетевые операционные системы
Sun Solaris
Компания Sun Microsystems (http://www.sun.com) была вовлечена в процесс
разработки ОС на базе UNIX с начала 1980-х годов, результатом чего явилась
операционная система SunOS. В 1991 г. Sun сформировала подразделение
SunSoft, начавшее работу над новой версией UNIX, основанной на SVR4,
которая была названа Solaris. Вышедшая после выпуска нескольких
промежуточных версий Solaris 8 стала одной из популярнейших (если не самой
популярной) коммерческих версий UNIX на рынке операционных систем.
Кроме ядра SunOS, операционная система Solaris включает графический
пользовательский интерфейс на основе X Windows, а именно, Open
Windows 3.x Компания Sun также производит свое собственное аппаратное
обеспечение для компьютеров, выступающее в качестве окружения
процессора под названием SPARC, и система Solaris первоначально
разрабатывалась для использования всех преимуществ данной платформы, хотя
существует также версия ОС для процессов Intel. Несмотря на то, что ОС Solaris
является коммерческим продуктом, компания Sun Microsystems предлагает
ее всем желающим в виде бесплатной версии для загрузки из Интернета или
на диске CD-ROM по цене лишь носителя и доставки.
Организация сети UNIX
Сетевая операционная система UNIX является одноранговой, то есть
каждый компьютер сети имеет возможность как получать доступ к ресурсам
других компьютеров, так и предоставлять в коллективное пользование свои
собственные ресурсы. Подобные возможности сетевого взаимодействия
могут принимать три базовые формы.
□ Открытие сессии с другой системой и исполнение команд в ее оболочке.
□ Получение доступа к файловой системе другой машины, использующей
сервис NFS.
□ Запуск специального сервиса, называемого демоном (daemon), в одном
компьютере и организация доступа к нему программой-клиентом другого
компьютера.
Протоколы TCP/IP представляют собой неотъемлемую часть всех ОС UNIX,
поэтому многие из программ и сервисов TCP/IP, хорошо знакомые всем по
Интернету, также включены во взаимодействие между системами сети
UNIX. Например, сети UNIX используют DNS-серверы для разрешения
имени узла в его IP-адрес, а также применяют ВООТР- и DHCP-серверы
для динамического конфигурирования TCP/IP-клиентов. Стандартные
службы Интернета, такие как FTP или Telnet, с давних пор являются
важнейшими элементами организации сети UNIX. To же самое можно сказать и об
утилитах ping и traceroute.
Глава 16. UNIX
557
Следующие разделы рассказывают о типах сетевого доступа, задействуемых
в системах на базе UNIX, а также сервисных программах, с помощью
которых они реализованы.
^ Примечание ^Д
Для получения более подробной информации о протоколах TCP/IP см.
главу 11, о DHCP и DNS — см. главы 18 и 20.
Команды удаленного управления
Одной из форм сетевого доступа, применяемой в UNIX значительно чаще,
чем в других сетевых ОС, является сессия удаленной консоли (remote console
session), в ходе которой пользователь подключается к удаленной машине
сети и выполняет на ней команды. Как только соединение установлено,
команды, вводимые пользователем клиентской системы, исполняются
сервером, а результаты их действия пересылаются по сети обратно
системе-клиенту, где выводятся на экран.
В связи с тем, что UNIX широко использует командную строку, текстовые
дистанционные сессии представляют собой намного более типичное
явление, чем в случае графически ориентированных ОС, например, Windows NT.
Хотя в Windows NT и существует приложение для осуществления доступа к
удаленной консоли (как часть Windows NT 4.0 Server Resource Kit), однако
возможности его командной строки достаточно ограничены по сравнению с
теми, что обеспечивает UNIX.
Команды Berkeley
Команды удаленного управления Berkeley (Berkeley Remote Commands)
изначально были частью BSD UNIX, и с тех пор были адаптированы
практически ко всем остальным операционным системам UNIX. Известные также
под названием г* commands, эти сервисные программы предназначались в
большей степени для использования в пределах ЛВС, нежели чем для
организации соединений глобальных сетей или Интернета. Данные команды
позволяют не только открыть сеанс связи с удаленной машиной, но и
выполнять на ней конкретные задачи, не входя в систему, посредством
интерактивного взаимодействия с командной строкой ее оболочки.
rlogin
Команда rlogin обеспечивает подключение к другому компьютеру сети и
доступ к командному процессору его операционной системы. Как только
соединение установлено, вводимые команды обрабатываются удаленной
системой с использованием ее процессора, файловой системы и других ком-
558
Часть IV. Сетевые операционные системы
понентов. Для обращения к другому компьютеру сети применяется
следующий формат команды:
rlogin [-1 имя пользователя] имя узла
где аргумент имя узла определяет имя системы, с которой предполагается
войти в контакт.
Для установления соединения необходима аутентификация пользователя в
системе назначения. Она может задействовать средства системы защиты как
на уровне пользователя, так и на уровне узла. Для осуществления
аутентификации уровня узла клиентский компьютер должен находиться в
доверительных отношениях с сервером, то есть его имя должно присутствовать в
файле /etc/host.equiv на сервере. Если дело обстоит именно так, программа-
клиент подключается к серверу без запроса имени пользователя и пароля,
так как данный компьютер автоматически входит в список "опекунов"
(обладающих особыми полномочиями на доступ к объекту) сервера
независимо от того, кто именно им пользуется.
Аутентификация на уровне пользователя предполагает задание помимо
имени хост-системы, еще и имени пользователя и, иногда, пароля. По
умолчанию команда rlogin пересылает удаленной машине имя текущего
пользователя клиентского компьютера, так же, как и информацию о типе терминала,
используемого для соединения, которая берется из значения переменной
TERM. Пользователь с указанным именем должен иметь регистрационную
запись в базе данных паролей удаленного компьютера. В том случае, если
клиентская система не находится в доверительных отношениях с удаленной
системой, последняя далее может потребовать у первой пароль,
ассоциированный с данным пользователем. Также возможно установление соединения
с применением отличного от занесенного в базу имени, это требует задания
ключа —1 в строке команды rlogin.
Для того чтобы имя пользователя идентифицировалось системой назначения
автоматически без пересылки пароля, оно должно быть указано в качестве
имени равноправного пользователя (equivalent user), то есть перечислено в
файле .rhosts в домашнем каталоге пользователя в удаленной системе. Файл
.rhosts содержит список имен узлов и имен пользователей, определяющий,
может ли пользователь за конкретным компьютером получить прямой
доступ к командной строке. В зависимости от требований, предъявляемых ау-
тентифицирующей стороной, .rhosts-файлы могут принадлежать как самим
удаленным пользователям, так и корневой учетной записи (root account)
удаленной системы. Добавление имен других пользователей в собственный
.rhosts-файл позволяет его владельцу простым и эффективным способом
обеспечить доступ к конкретному компьютеру другим пользователям при
помощи своей учетной записи, не сообщая им пароля.
С момента установления успешного соединения с удаленной системой
возможно исполнение любых команд в ее оболочке, ничем не отличающееся от
Глава 16. UNIX
559
такового на локальном компьютере, за исключением команд, запускающих
графические приложения. Можно даже направить команду riogin третьему
компьютеру для подключения к нему и получить одновременный доступ ко
всем трем. Для завершения соединения с удаленной системой достаточно
выполнить инструкцию exit, нажав для этого комбинацию клавиш <CTRL>+<D>,
или введя с клавиатуры последовательность, состоящую из тильды и точки (~.).
rsh
В некоторых случаях требуется исполнить единственную команду на
удаленном компьютере и вывести результат ее действия без непосредственного
входа в удаленную систему. Это позволяет сделать команда rsh, в
соответствии со следующим синтаксисом:
rsh имя узла команда
где параметр имя узла определяет имя компьютера, к оболочке которого
предполагается обратиться, а аргумент команда предписывает действие,
которое должны быть выполнено в удаленной системе, то есть представляет
собой не что иное, как другую команду. В отличие от riogin, команда rsh
не позволяет проводить аутентификацию в интерактивном режиме. Таким
образом, чтобы действие было успешным, пользователь должен иметь
соответственно отконфигурированный .rhosts-файл в удаленной системе, или его
имя должно упоминаться в файле /etc/host.equiv. Инструкция rsh
обеспечивает в точности те же возможности командной строки, что и riogin, за
исключением того, что она работает только для одиночной команды и не
поддерживает открытие сессии.
[^ Примечание ^д
Команда rsh носит название remsh в операционных системах HP-UX. Во
многих случаях инструкции, выполняющие в точности те же функции, имеют
различные названия в разных версиях ОС UNIX.
гер
Команда rep используется для копирования файлов с удаленного
компьютера или на него через сеть без интерактивного подключения. Команда гер
работает так же, как и команда ср, применяемая для копирования файлов в
локальной системе и имеет следующий формат:
гер [-г] узел-источник:имя файла узел-получатель:имя файла
где параметр узел-источник: имя файла определяет имена системы-
источника И файла, КОТОРЫЙ надлежит копировать, а аргумент узел-
получатель: имя файла идентифицирует систему назначения и задает имя,
которое будет присвоено файлу в этой системе. Создание копии целого
каталога осуществляется добавлением к команде ключа -г и указанием
названия каталога в позиции для имени файла. Как и в случае rsh, диалоговая
560
Часть IV. Сетевые операционные системы
процедура подключения к системе отсутствует, поэтому для успешного
выполнения функции гср или сама клиентская система должна находиться в
доверительных отношениях с удаленным компьютером, или имя
пользователя должно присутствовать в .rhosts-файле удаленной системы.
Команды Secure Shell
Оборотной стороной команд удаленного управления Berkeley является то, что
они совершенно не защищены. Пароли пересылаются по сети открытым
текстом, что делает возможным их перехват злоумышленниками. Поэтому, из-за
высокого потенциального риска многие администраторы пренебрегают
использованием этих команд. Для решения данной проблемы создана
программа Secure Shell, обеспечивающая функции riogin, rsh и гср, но с большей
степенью безопасности. Эквивалентные программы в составе Secure Shell
носят названия siogin, ssh и scp соответственно. Основное различие
применения этих команд заключается в том, что соединение требует аутентификации
с обеих сторон и все пароли передаются по сети в закодированном виде.
|^ Примечание ^|
Более подробную информацию о Secure Shell можно получить по адресу
http://www.ssh.fi.
Команды DARPA
Команды дистанционного управления Berkeley были разработаны целевым
образом для операционных систем UNIX, в то время как команды DARPA
изначально представляли собой часть набора протоколов TCP/IP и поэтому
могут применяться при взаимодействии любых двух систем,
поддерживающих TCP/IP. Практически любой клон UNIX включает как клиентскую, так
и серверную программы для telnet, ftp и tftp, которые инсталлируются по
умолчанию, хотя некоторые администраторы впоследствии могут запретить
их использование.
telnet
Программа telnet похожа по своим функциям на riogin, за исключением
того, что она не посылает серверу никакой информации о пользователе
клиентской системы. Всегда требуется вводить логин и пароль для
аутентификации. Как и все команды DARPA, клиент telnet может устанавливать связь
с любым компьютером, на котором запущен сервер telnet, даже если этот
компьютер управляется другой версией ОС UNIX или ОС, отличной от
UNIX. Тем не менее, команды, которые можно выполнять после
установления соединения, полностью зависят от версии ОС сервера telnet. Например,
если сервер telnet от какого-либо независимого разработчика загружен в
Глава 16. UNIX
561
системе Windows NT (поскольку Windows NT поставляется с клиентом
telnet, но не с сервером), то можно установить с ним соединение, используя
клиента telnet UNIX, но допустимо передавать только те команды, которые
может распознавать Windows NT. Так как Windows NT не относится к ОС с
базовым интерфейсом на текстовой основе, возможности ее командной
строки относительно ограничены, пока не задействовано дополнительное
программное обеспечение.
ftp
Команда ftp обеспечивает более комплексные возможности процесса
передачи файлов, чем гср и позволяет программе-клиенту получать доступ к
файловой системе любого компьютера, на котором запущен ftp-сервер. С другой
стороны, ftp предоставляет только средство пересылки файлов в удаленную
систему или из нее вместо непосредственного доступа к ним по месту
расположения в удаленной системе. Например, пользователь локального
компьютера не в состоянии отредактировать файл в удаленной системе, однако, вполне
допустимо передать этот файл на локальный компьютер, изменить, а затем
возвратить новую версию обратно по месту оригинальной дислокации. Как и
в случае telnet, пользователи сервера ftp должны проходить процедуру
подтверждения подлинности для получения доступа к его файловой системе.
Многие узлы с серверами ftp, например, в Интернете, поддерживают так
называемый анонимный доступ, требующий от запрашивающей стороны при
аутентификации ввода имени "anonymous", в такой ситуации сервер должен
быть сконфигурирован с возможностью доступа с любым паролем.
Х^ Примечание ]Д
Для получения более подробной информации о протоколе FTP см. главу 26.
tftp
Команда tftp использует Trivial File Transfer Protocol (TFTP, простейший
протокол передачи данных) для копирования файлов из удаленной системы
и обратно. В то время как ftp базируется на протоколе TCP, tftp основана
на протоколе UDP. Так как протокол UDP относится к протоколам без
установления соединения, аутентификация в удаленной системе не требуется.
С другой стороны, это свойство ограничивает возможности копирования
только файлами, предназначенными только для публичного доступа.
Сетевая файловая система NFS
Предоставление файлов в совместное пользование является одним из
основных компонентов сетевого взаимодействия, поэтому операционные
системы UNIX имеют несколько механизмов получения доступа к файлам
562
Часть IV. Сетевые операционные системы
других компьютеров без транспортировки их на локальный жесткий диск,
как, например, в случае ftp или гср. Наиболее часто применяемый из этих
механизмов носит название Network File System (NFS, сетевая файловая
система). Эта файловая система была разработана Sun Microsystems в 1980 г., а
опубликована Internet Engineering Task Force (IETF, проблемная группа
проектирования сети Интернет) в RFC 1094 (версия 2) и RFC 1813 (версия 3).
Разрешив IETF публикацию NFS в качестве открытого стандарта, компания
Sun Microsystems сделала возможной реализацию этого сервиса всеми
желающими. Результатом данного решения стало то, что поддержка NFS
включена едва ли не во все широко распространенные в настоящее время
операционные системы.
Практически каждая версия UNIX включает поддержку NFS, что позволяет
предоставлять файлы в совместное использование компьютерам с
различными версиями UNIX. ОС, отличные от UNIX, например, Windows NT и
Novell NetWare, также могут поддерживать NFS, но им требуется
дополнительное программное обеспечение (произведенное независимыми
разработчиками или фирмой-производителем ОС). Поскольку и Windows, и NetWare
имеют свои собственные механизмы разделения общих ресурсов, они
применяют NFS в основном для интеграции компьютеров с ОС на базе UNIX в
свои сети.
NFS представляет собой приложение типа клиент/сервер, в котором сервер
позволяет объявить всю свою файловую систему или ее часть доступной для
клиентов (отвечающий за это процесс называется экспортированием (exporting)
или выделением в совместное пользование (sharing)), а клиенты получают
доступ к удаленной файловой системе посредством ее монтирования (mounting),
в результате, удаленные файлы и каталоги выглядят как часть локальной
файловой системы. NFS не взаимодействует непосредственно с ядром ОС
локального компьютера, а полагается в основном на сервис RPC (Remote
Procedure Call, удаленный вызов процедуры), также разработанный Sun
Microsystems для поддержания коммуникации с удаленным компьютером.
RPC был представлен все той же Sun Microsystems в качестве открытого
стандарта, и опубликован IETF в документе RFC 1057. Информация,
передаваемая NFS, кодируется на основе метода, получившего название External
Data Representation (XDR, представление внешних данных), который описан в
RFC 1014. В большинстве случаев сервис использует протокол UDP для
транспортировки данных по сети и "прослушивает" порт 2049.
При разработке NFS применялся принцип максимального упрощения
серверной части приложения. Сервер NFS является безразличным (stateless) в
том смысле, что ему совершенно не требуется обладать информацией о
состоянии клиентов для своего правильного функционирования. Другими
словами, сервер не получает информации о том, у каких клиентов какие его
файлы открыты. В случае сбоя сервера клиенты просто продолжают
посылать свои запросы, пока не получат ответ. При неполадках же в работе
любого клиента сервер по-прежнему работает в обычном режиме. Отсутствует
Глава 16. UNIX
563
необходимость сложной процедуры повторного установления соединения.
Так как постоянные повторения одинаковых действий могут быть
результатом безразличности сервера, NFS также сделана максимально идемпотент-
ной (idempotent). Это означает, что повышенная активность одной задачи не
оказывает отрицательного влияния на производительность системы в целом.
Серверы NFS также не принимают никакого участия в адаптации
экспортируемой файловой системы в соответствии с требованиями клиента. Сервер
поставляет информацию файловой системы общего вида, а задача по
интеграции этой информации в собственную файловую систему клиента с той
целью, чтобы приложения могли ей воспользоваться, полностью возложена
на клиентскую часть программы.
Взаимодействие между серверами NFS и клиентами основано на сериях RPC-
процедур, определенных стандартом NFS, они перечислены в табл. 16.1. Эти
базовые функции позволяют клиенту интерактивно работать с файловой
системой сервера всеми возможными способами, которых можно ожидать
от типичного приложения.
Если компьютер сконфигурирован для функционирования в качестве
сервера NFS, контроль над тем, какие части файловой системы будут доступны
для клиентов, осуществляется с помощью таких команд, как, например,
share в ОС Solaris и SVR4, а также exportfs в Linux и HP-UX. Используя
эти команды, можно указывать файлы и каталоги, к которым клиенты могут
обращаться, а также определять порядок доступа. Например, можно
предоставить каталог в коллективное использование с правом только чтения
информации для всех, или дать клиентам возможность как чтения, так и
записи файлов, или же дифференцировать пользователей, устанавливая для них
различные разрешения.
Система-клиент получает доступ к совместно используемым каталогам при
помощи инструкции mount, которая интегрирует их в локальную файловую
систему. Команда mount определяет сам общий каталог сервера, уровень
доступа, который приложения системы-клиента могут иметь к файлам этого
удаленного каталога (например, только чтение или чтение/запись), а также
место сбора для файлов удаленного компьютера. Место сбора (mount point)
представляет собой каталог локальной системы, где появляются файлы и
каталоги общего пользования. Приложения и команды системы-клиента
могут обращаться к удаленным файлам таким же образом, как если бы они
физически находились на локальном диске.
Таблица 16.1. RPC-процедуры, обеспечиваемые NFS Version 3 Protocol Server
Номер Имя Функция
процедуры процедуры
О NULL He делает ничего, используется для тестирования ответа
сервера и его таймирования
564
Часть IV. Сетевые операционные системы
Таблица 16.1 (окончание)
Номер Имя Функция
процедуры процедуры
1 GETATTR Получение атрибутов конкретного объекта файловой
системы
2 SETATTR Изменение одного или нескольких атрибутов объекта
файловой системы сервера
3 LOOKUP Поиск заданного имени файла в каталоге и передача
дескриптора соответствующего объекта файловой системы
4 ACCESS Задание прав доступа, которые пользователь будет иметь
в отношении объекта файловой системы
5 READLINK Чтение информации, ассоциированной с символической
связью
6 READ Чтение данных из файла
7 WRITE Запись данных в файл
8 CREATE Создание обычного файла
9 MKDIR Создание подкаталога
10 SYMLINK Создание символической связи
11 MKNOD Создание специального файла
12 REMOVE Удаление файла из каталога
13 RMDIR Удаление подкаталога из каталога
14 RENAME Переименование файла или каталога
15 LINK Создание связи с объектом
16 READDIR Запрос различного количества элементов из каталога и
возврат имени и идентификатора для каждого
17 READDIRPL Запрос различного количества элементов из каталога фай-
US ловой системы и возврат полной информации о каждом
18 FSSTAT Сбор динамической информации о состоянии файловой
системы
19 FSINFO Сбор статической информации о статусе файловой
системы и общей информации о реализации NFS Version 3
Protocol на сервере
20 PATHCONF Запрос POSIX-информации для файла или каталога
21 COMMIT Перемещение информации (предварительно сохраненной
процедурой WRITE с установкой значения UNSTABLE в
поле stable) на стабильный носитель
Глава 16. UNIX
565
Организация сети по принципу
клиент/сервер
Обработка данных по принципу клиент/сервер лежит в основе организации
сети в системах на базе UNIX, как и в случае большинства остальных
вычислительных платформ. Операционная система UNIX является
популярным базисом для серверных приложений, так как ее относительная простота
и гибкость позволяют компьютеру посвятить большее количество ресурсов
выполнению первичной функции. Например, сервер Windows NT
затрачивает значительную часть своего потенциала на обеспечение графического
пользовательского интерфейса и работ других подсистем, значащих очень
мало или не имеющих ни малейшего отношения к функционированию
серверных приложений, исполнение которых как раз и является главной
задачей сервера. Настраивая компьютер под конкретные задачи, например, для
работы в качестве Web-сервера, и ожидая от него обслуживания как можно
большего количества клиентов, представляется целесообразным отключить
все посторонние функции, а это намного проще сделать в операционной
системе UNIX, нежели чем в Windows NT.
Серверные приложения в UNIX-системах обьино принимают вид демонов
(daemon), являющихся фоновыми процессами, работающими постоянно,
независимо от остальной активности системы. Существует большое количество
коммерческих версий серверных приложений для различных версий UNIX,
еще большее количество доступно совершенно бесплатно. В силу того, что
протоколы TCP/IP в основном разрабатывались для UNIX-платформы,
имеется программное обеспечение сервера UNIX для любого из существующих
приложений TCP/IP. Например, компьютер с ОС Linux и Web-сервером
Apache представляет собой комплекс, превышающий по мощности
большинство аналогичных коммерческих продуктов из магазина, несмотря на то, что
указанное программное обеспечение совершенно бесплатно.
Глава 17
Сетевые клиенты
В то время, как администраторы сети зачастую подолгу занимаются тем
делом, что устанавливают и конфигурируют серверы, основная причина
существования серверов была и остается неизменна, это — их клиенты. Выбор
приложений и операционных систем для серверов должен отчасти
основываться на платформах и операционных системах клиентов, которые будут
осуществлять доступ к серверам. Вообще говоря, для любой клиентской
платформы возможно соединиться с любым сервером, но это не значит, что
выбор платформ клиента и сервера может быть свободным и любая
комбинация платформ позволит им работать вместе.
Для простоты администрирования лучшим выбором будет применение
одной и той же операционной системы на всех клиентских рабочих станциях,
где это только возможно. Большинство сетей используют стандартные ПК
на базе процессоров Intel, работающие под одной из версий операционной
системы Microsoft Windows, но даже если выбрать в качестве стандарта
Windows, может найтись некоторое количество пользователей со специальными
требованиями, для которых необходима другая платформа.
Компьютерная графика, например, часто ассоциируется системами
Macintosh, а для других пользователей могут потребоваться рабочие станции
UNIX. При выборе платформы для серверов обязательно следует принимать
во внимание возможность организации доступа к ним пользователей
различных клиентских платформ. В табл. 17.1 перечислены широко
распространенные платформы для серверов и рабочих станций, а также наиболее
часто встречающиеся клиенты для осуществления соединения между ними.
Таблица 17.1. Матрица сетевой связности клиент/сервер
Серверы Серверы Серверы UNIX
Windows NT/2000 Novell NetWare
Клиент DOS Microsoft Client 3.0 Novell Client for Только клиенты от
for MS-DOS DOS/Windows (клиент сторонних фирм
Novell для DOS/Windows)
Клиент Win- Встроенный кли- Novell Client for Команды DARPA
dows for Work- ент для сети Mi- DOS/Windows (клиент (использующие Win-
groups crosoft Windows; Novell для sock и клиентов Tel-
TCP/IP-32 DOS/Windows) net/FTP, включенных
в TCP/IP-32)
Глава 17. Сетевые клиенты
567
Таблица 17.1 (окончание)
Серверы
Windows NT/2000
Серверы
Novell NetWare
Серверы UNIX
Клиенты
Windows 95/98
Клиенты
Windows NT
Workstation/Windows
2000
Professional
Клиенты
MacOS
Клиенты UNIX
Microsoft Client for
Microsoft Networks
(клиент Microsoft
для сетей
Microsoft)
Встроенный
клиент для сети
Microsoft Windows
Microsoft Services
for Macintosh
(сервисы Microsoft
для Macintosh)
Microsoft
Windows NT Services
for UNIX (сервисы
Microsoft
Windows NT для UNIX)
(SAMBA, по
адресу www.samba.org)
Microsoft Client for
NetWare Networks (клиент
Microsoft для сетей
NetWare);
Novell Client for
Windows 95/98 (клиент
Novell для
Windows 95/98)
Microsoft Client Service
for NetWare (сервис
клиента Microsoft для
NetWare; Novell Client
for Windows NT (клиент
Novell для Windows NT)
Novell Client for MacOS
(клиент Novell для
MacOS); Novell NetWare
AppleTalk
NFS Services for
NetWare (сервисы NFS для
NetWare)
Команды DARPA
(Telnet и FTP)
Команды DARPA
(Telnet и FTP);
Microsoft Windows NT
Services for UNIX
(сервисы Microsoft
Windows NT для UNIX)
Команды DARPA
(Telnet и FTP)
Удаленные команды
Berkeley. Команды
DARPA (Telnet и FTP);
NFS
Если используется несколько серверных платформ наряду со множеством
клиентов, то процесс становится более сложным из-за того, что каждая
рабочая станция может потребовать установки нескольких клиентов. Влияние
работы нескольких сетевых клиентов на производительность компьютера
зависит от того, какие это клиенты, но в некоторых случаях эффект от них
может значительно сказаться на скорости работы, количестве свободных
ресурсов и усложнить выявление неисправностей. Данная глава описывает
наиболее распространенные на сегодня платформы сетевых клиентов и
программное обеспечение, предназначенное для организации их соединения
с различными серверами.
Сетевые клиенты Windows
Несмотря на то, что на первых порах Microsoft Windows разрабатывалась как
операционная система для изолированного от сети компьютера, сетевые
возможности вскоре стали неотъемлемой частью Windows и сейчас все вер-
568
Часть IV. Сетевые операционные системы
сии этой ОС включают клиента, который позволяет им соединяться с любой
другой системой Windows. Впервые сетевые возможности Windows были
представлены в Windows NT 3.1 и Windows for Workgroups, выпущенных в
1993 г. Сетевая архитектура Windows базируется на драйверах сетевых
адаптеров, написанных в соответствии со стандартом NDIS (Network Device
Interface Specification, спецификация стандартного интерфейса сетевых
адаптеров)-, и первоначально на протоколе NetBEUI. Позднее основным сетевым
протоколом стал TCP/IP.
Сеть Windows представляет собой одноранговую систему, в которой любой
компьютер сети может получить доступ к ресурсам любого другого
компьютера. В то время, когда Microsoft добавила в Windows сетевую поддержку,
доминирующей сетевой операционной системой была Novell NetWare, которая
использовала модель клиент/сервер, позволяющую клиентам иметь доступ
исключительно только к ресурсам сервера. Появление возможности создания
одноранговой сети в уже популярной, практикующей дружественный
интерфейс операционной системе, привело к стремительному росту значения
Windows в индустрии коммерческих локальных сетей, и эта операционная система
фактически посягнула на долю рынка, принадлежащую NetWare.
Сетевая архитектура Windows
Windows 3.1 и Windows 3.11 были единственными разновидностями
операционной среды, в которых отсутствовал свой собственный сетевой стек, тем
не менее, они могли подключаться к сети Windows при помощи Microsoft
Client 3.0 for MS-DOS. Все остальные версии Windows, включая Windows for
Workgroups, Windows 95/98 и Windows NT/2000, имеют встроенные сетевые
возможности, которые изначально обуславливают включение этих систем в
сеть Windows.
Базовая архитектура сетевого клиента Windows одинакова для всех
операционных систем, хотя конкретные реализации существенно различаются. В
своей простейшей форме функциональность клиента обеспечивается модулями,
показанными на рис. 17.1. На "дне" стека протоколов располагается NDIS-
драйвер сетевого адаптера, который предоставляет интерфейс к плате
сетевого адаптера, установленного в компьютер. Выше драйвера сетевого
адаптера находятся драйверы для отдельных протоколов, работающих в системе.
Вершиной стека является сам клиент, который принимает вид одного или
нескольких сервисов 32-разрядных операционных систем.
|^ Примечание ^|
Так как Windows использует одноранговую модель построения сети, то все
операционные системы могут работать и как клиент, и как сервер. Это
означает, что вся информация о сетевых клиентах Windows также одинаково
относится и к операционным системам Windows NT и 2000 Server.
Глава 17. Сетевые клиенты
569
Верхний уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Сеть
Рис. 17.1. Базовая архитектура клиента Windows
Эти три уровня образуют законченный стек протоколов, ведущий от
Прикладного уровня модели OSI вниз к Физическому уровню. Приложения
создают запросы к определенным ресурсам, которые передаются через
механизм, определяющий, где находится требуемый ресурс, — на локальном
устройстве или в сети. Запросы к сетевым ресурсам перенаправляются вниз
через сетевой стек к плате сетевого адаптера, откуда они посылаются
соответствующему устройству.
В следующих разделах затронутые выше элементы сетевого взаимодействия
рассматриваются более детально.
NDIS-драйверы
Спецификация стандартного интерфейса сетевых адаптеров (NDIS) была
разработана фирмами Microsoft и 3Com для обеспечения интерфейса между
Канальным и Сетевым уровнями модели OSI, который позволил бы одной
плате сетевого адаптера, установленного в компьютер, проводить трафик от
множества коммуникационных протоколов. Этот интерфейс изолирует
драйверы протоколов и другие компоненты верхних уровней стека
протоколов. Таким образом, процесс доступа к сетевым ресурсам всегда выглядит
одинаково, вне зависимости от типа задействуемой сетевой карты. Пока
используется NDIS-совместимый драйвер платы сетевого адаптера, при
необходимости интерфейс может направлять плате запросы от различных
драйверов протоколов для дальнейшей их передачи через сеть.
Клиент
Драйверы
протоколов
NDIS-драйвер
570
Часть IV. Сетевые операционные системы
Разные сетевые клиенты Windows реализуют в своих драйверах адаптеров
различные варианты NDIS, которые приведены в табл. 17.2. NDIS 2
является единственной версией, работающей в реальном режиме процессора Intel
и использующей основную память вместо расширенной. Файл драйвера для
нее имеет расширение dos. На эту версию спецификации в целях
обеспечения сетевого доступа полагается клиент Microsoft (3.0) для MS-DOS, но
основная задача NDIS 2 — это поддержка реального режима Intel для Windows
for Workgroups, Windows 95 и Windows 98. Все три указанные операционные
системы включают более поздние версии спецификации NDIS для работы в
защищенном режиме, а драйвер реального режима предназначен для тех
ситуаций, когда невозможно загрузить драйвер защищенного режима.
Таблица 17.2. Версии NDIS и операционные системы, которые используют их
Версия NDIS Операционные системы
2 Client 3.0 for MS-DOS, Windows 95/98 (реальный режим)
3 Windows NT 3.1 -3.51, Windows for Workgroups
3.1 Windows 95
4 Windows NT 4.0, Windows 95 OSR2
5 Windows 2000, Windows 98
Например, когда Windows 95 или 98 запускается из командной строки и
сетевая поддержка обеспечивается командой NET START, система загружает
драйвер NDIS 2 реального режима вместо стандартного драйвера
защищенного режима для GUI. Драйвер реального режима может работать не столь
эффективно, как стандартный, но он предоставляет рабочей станции базовые
возможности для доступа к сети, потребляя минимум системных ресурсов.
Основное преимущество драйверов NDIS 3, включенных в Windows for
Workgroups и в первые версии Windows NT, заключается в его способности
функционировать в защищенном режиме, который позволяет задействовать
расширенную и виртуальную память. Драйвер принимает форму
упаковщика — средства создания системной оболочки NDIS (NDIS wrapper), общей
для всех устройств, и драйвера минипорта, специфичного для конкретного
устройства. Поскольку большая часть кода интерфейса содержится в
упаковщике NDIS, разработка производителями конкретных сетевых плат
драйверов минипорта для них становится сравнительно простой задачей.
Версия NDIS 3.1, впервые представленная в Windows 95, дополнила
возможности интерфейса режимом Plug and Play, который значительно
упростил процесс установки сетевых адаптеров. NDIS 4 включает
дополнительные расширения, такие как поддержка инфракрасного излучения и других
новых сред передачи данных, а также средства управления энергопотребле-
Глава 17. Сетевые клиенты
571
нием. NDIS 5 добавила сервис с установлением соединения, который
ориентирован на протокол ATM в его "родном" режиме, а также сервис
обеспечения качества услуг (Quality of Service). Помимо этого, способность
освобождения от задач (task offloading) TCP/IP позволяет усовершенствованным
сетевым адаптерам выполнять функции, обычно реализуемые протоколом
Транспортного уровня, такие как вычисление контрольной суммы и
сегментация данных, что снижает загрузку на процессор системы.
Все сетевые клиенты Windows имеют ассортимент NDIS-драйверов для
набора наиболее популярных плат сетевых адаптеров, изготавливаемых на
момент выхода программного продукта. Это, конечно, означает, что в более
старых клиенты, например, для DOS и Windows for Workgroups, не встроена
поддержка последних моделей сетевых адаптеров, но с другой стороны, все
производители плат сетевых адаптеров предоставляют NDIS-драйверы для
своих изделий. С сетевыми адаптерами обычно поставляются даже драйверы
NDIS 2 реального режима, так как Windows 9x может использовать их в
безопасном режиме.
Драйверы протоколов
Все сетевые клиенты Windows поддерживают три протокола: NetBEUI,
TCP/IP и IPX, либо по отдельности, либо в сочетании. Когда сетевые
возможности только появились в Windows, основным протоколом был
NetBEUI, поскольку он был тесно связан с интерфейсом NetBIOS, который
Windows использовала для присвоения имен системам в сети. NetBEUI
является самонастраивающимся протоколом и совсем не требует
конфигурирования и обслуживания, но отсутствие функции маршрутизации делает его
неподходящим для больших сетей, состоящим из множества сегментов. Этот
недостаток, а также растущая популярность Интернета, привели к тому, что
в большинстве сетей стал применяться TCP/IP, несмотря на необходимость
в индивидуальной настройке клиентов для него.
Стек протоколов IPX был создан фирмой Novell для своей операционной
системы NetWare, которая была наиболее популярным сетевым решением на
момент включения сетевой поддержки в Windows. Как следствие, все клиенты
Windows обеспечивают совместимость с протоколом IPX. Реализация IPX в
Windows не является "настоящим" протоколом IPX фирмы Novell, это,
скорее, — IPX-совместимый протокол, который был разработан методом "от
обратного" для обеспечения взаимодействия с NetWare. Таким образом, в
сетях, уже использующих NetWare, администраторы могут задействовать сетевые
возможности Windows без добавления другого протокола. Некоторые
администраторы эксплуатируют в своих сетях два или все три протокола (NetBEUI,
TCP/IP и IPX), но обычно для правильно организованной сети это не
является необходимым. Модули дополнительных протоколов расходуют системные
ресурсы и затрудняют процесс администрирования сети.
572
Часть IV. Сетевые операционные системы
Драйверы протоколов принимают различную форму, соответствующую
операционной системе. Клиенты DOS и Windows for Workgroups привлекают
драйверы протоколов реального и защищенного режимов, отвечающие
версии NDIS, в то время как Windows 95/98 и NT/2000 используют
32-разрядные драйверы, которые сочетаются с особенностями их архитектуры.
Сервисы клиентов
Верхние уровни сетевого стека клиента Windows имеют различные имена и
формы, зависящие от операционной системы. В Windows 95 и 98, например,
клиент для сетей Microsoft является сервисом, который должен быть явно
инсталлирован, по крайней мере, с одним протоколом и адаптером.
Сервис — это программа, которая выполняется в фоновом режиме на
протяжении всего времени после загрузки операционной системы, она является
эквивалентом демона (daemon) в UNIX. Однако в Windows NT и 2000 клиент
приобретает вид нескольких отдельно взятых сервисов, которые
устанавливаются вместе с операционной системой.
В большинстве случаев сетевая архитектура Windows позволяет подгружать
дополнительные сервисы клиентов, которые могут иметь те же
преимущества, что и модули протоколов и адаптеров сетевого клиента Windows.
Например, модули Client for NetWare Networks (клиент для сетей NetWare) и Client
Services for NetWare (сервисы клиентов для NetWare) в Windows 9x и
Windows NT/2000, соответственно, используют те же модули протоколов и
адаптеров, что и сетевой клиент Windows. Исключением из этого правила
являются клиент Microsoft для сетей Windows в Windows for Workgroups и
Microsoft Client 3.0 for MS-DOS, которые оба представляют собой
самодостаточные клиентские программы.
Версии клиентов Windows
Различные операционные системы Windows обеспечивают сетевые
возможности, в большинстве не отличающиеся друг от друга. Они позволяют
регистрироваться в домене или рабочей группе, просматривать ресурсы других
компьютеров в сети, присваивать символьные идентификаторы дискам,
определенным в качестве совместно используемых ресурсов, и перенаправлять
задания на печать сетевым принтерам. Однако в своей реализации клиенты
значительно рознятся. Следующие разделы рассматривают каждого из
клиентов Windows и их особенности.
Microsoft Client 3.0 for MS-DOS
Windows NT Server 4.0 включает клиента реального режима для системы
MS-DOS, который обеспечивает доступ к сетям Windows. Microsoft Client 3.0
for MS-DOS расположен в каталоге \Clients\Msclient на диске CD-ROM ди-
Глава 17. Сетевые клиенты
573
стрибутива Windows NT Server, в состав клиента входит набор драйверов для
плат сетевых адаптеров, а также средства поддержки для трех стандартных
протоколов (включая TCP/IP). Помимо DOS, этого клиента можно также
задействовать для доступа к сети из систем под управлением Windows 3.1.
Windows for Workgroups являет собой практически такую же операционную
среду, как Windows 3.1, за исключением того, что она поддерживает сетевого
клиента защищенного режима.
Если в сети есть сетевые клиенты, работающие исключительно в 16-
разрядной среде Windows, то, по крайней мере, следует обновить системы
Windows 3.1 до Windows for Workgroups. Клиент для MS-DOS загружается
только в основную и верхнюю память, таким образом, занимая
значительное количество ОЗУ, необходимого для загрузки других программ.
Windows NT Server 4.0 включает утилиту Network Client Administrator
(Администратор сетевых клиентов), которая позволяет создавать
установочные диски для клиента MS-DOS (см. рис. 17.2). Используя эту программу,
можно смонтировать набор дисков для установки клиента или
сформировать загрузочный диск, содержащий полностью сконфигурированного
клиента. Если стартовать систему MS-DOS с этого диска, то также будет
загружен клиент, осуществлено соединение с сетью, и выполнен запуск
программы установки клиента с сетевого диска.
Network Client Administrator
Use the Network Client Administrator to install or update
network client workstations.
С Make Network Installation Startup Disk
<•" Make installation Disk Set
С £ору Client-based Network Administration Tools
f* ^iew Remoteboot Client Information
щ
Continue
Exit
Help
Рис. 17.2. Утилита Network Client
Administrator операционной
системы Windows NT
f^ Примечание ^j
Из всех сетевых клиентов Windows только клиент для MS-DOS работает
исключительно в режиме "только чтение". Рабочая станция с запущенным клиентом
может получить доступ к ресурсам других Windows-систем, но не имеет
возможности предоставить в совместное использование свои диски и принтеры.
Из-за того, что рассматриваемый клиент предназначен для систем MS-DOS,
он не включает каких-либо графических средств конфигурации, но
программа установки имеет текстовый интерфейс на основе меню, показанный
на рис. 17.3. При помощи таких экранов можно выбрать драйверы адаптера
и протокола, которые нужно инсталлировать, и задать для них соответст-
574
Часть IV. Сетевые операционные системы
вующие конфигурационные параметры. Тем не менее, клиент содержит
драйвер Winsock, позволяющий рабочим станциям запускать базирующиеся
на Windows Интернет-приложения, подобные Web-браузерам. В
дополнение, клиент включает стандартную утилиту TCP/IP Ping.
*§ E:\tempVNETSETUP\setup.eHe
Ш
Setup for Microsoft Network Client иЗ.0 for MS-DOS
Use TAB to toggle between boxes.
Installed Network Adapter<s> and ProtocoKs):
3Com FtherLink III
Microsoft TCP/IP
Microsoft NetBEUI
Options:
Change Settings
Remove
ftdd Adapter
ftdd Protocol
Network configuration is correct.
JENTEH^Continue Fl=Help F3=Exit
Рис. 17.3. Программа установки клиента Microsoft Client 3.0 for MS-DOS
Основным средством управления сетевой конфигурацией клиента DOS
является утилита командной строки Net.exe. Программа Net.exe также имеется
в составе всех других клиентов Windows, даже если операционная система
предоставляет графические средства для выполнения тех же самых функций.
Клиент для Windows for Workgroups
Как упоминалось ранее, клиент Microsoft для сетей Windows работает в
защищенном режиме, который позволяет загружать клиента преимущественно
в расширенную память, освобождая всю основную память, за исключением
4 Кбайт, для использования их другими программами. Однако, в отличие от
клиента для MS-DOS, данный сетевой клиент загружается вместе с
Windows, не давая осуществлять доступ к сетевым ресурсам из программ
MS-DOS иным образом, кроме как через окно DOS.
Клиент Microsoft для сетей Windows, поставляющийся в составе Windows for
Workgroups, поддерживает только протоколы NetBEUI и IPX.
Использование протоколов TCP/IP также возможно, но для этого надо получить с FTP-
сайта фирмы Microsoft исполняемый модуль протокола TCP/IP-32 и
установить его после инсталляции Windows for Workgroups.
Глава 17. Сетевые клиенты
575
^ Примечание ^]
Стек протоколов TCP/IP-32 для Windows for Workgroups доступен в виде файла
Wfwt32.exe по адресу ftp://ftp.microsoft.com/peropsys/windows/public/tcpip.
Так же, как клиент для MS-DOS, клиент для Windows for Workgroups
позволяет рабочим станциям присоединяться либо к рабочей группе, либо к
домену. Сетевые функции клиента распределены по стандартным утилитам
Windows, таким как File Manager (Менеджер файлов) и Print Manager
(Менеджер печати), а также включены в сетевые средства, работающие из
командной строки, подобные Net.exe, Netstat.exe и Nbstat.exe. Помимо
этого, модуль TCP/IP-32 предоставляет набор программ TCP/IP,
включающий утилиты Ping, Arp и Route, а также текстового клиента FTP.
Клиент Windows 95/98
Windows 95 и 98 содержат 32-разрядного сетевого клиента защищенного
режима, который поддерживает все три основных сетевых протокола, и
включает расширенный набор драйверов сетевых адаптеров. Сетевая архитектура
Windows 95/98 базируется на драйверах виртуальных устройств,
позволяющих использовать драйверы адаптера и протокола одновременно
сопоставленных множеству сетевых клиентов. Например, после установки сервиса
Client for Microsoft Network (Клиент для сетей Microsoft) с
соответствующими драйверами протокола и сетевого адаптера можно так же просто
добавить Client for NetWare Networks (Клиент для сетей NetWare) для того,
чтобы обеспечить доступ к серверам NetWare посредством тех же драйверов.
Сетевая поддержка полностью интегрирована в операционные системы
Windows 95 и 98. Программа Network Neighborhood (Сетевое окружение)
дает возможность просматривать сетевые домены и рабочие группы, и
вдобавок осуществлять доступ к их ресурсам так, как будто они находятся на
локальной машине. В добавление к тем способностям, которые строго
определены как функции клиента, операционные системы Windows (за
исключением Windows 3.1) обладают функциями сервера, которые позволяют
разделять диски и принтеры системы с другими пользователями сети. Данные
компоненты устанавливаются вместе с клиентом и также встроены в
Windows Explorer (Проводник Windows) и другие утилиты Windows.
Клиент Windows NT/2000
Функционально Windows NT и 2000 практически идентичны Windows 95 и
98 в том, что касается работы в сети. Вместе с тем; сетевая архитектура
Windows NT и 2000 отличается от Windows 95 и 98, поскольку верхние уровни
сетевого стека реализованы не в форме единого сервиса. Операционные
системы Windows NT и 2000 разделены на сервисы Workstation и Server,
которые должны быть запущены оба с той целью, чтобы система имела воз-
576
Часть IV. Сетевые операционные системы
можность осуществлять доступ к сетевым ресурсам и предоставлять в
коллективное пользование свои собственные ресурсы. Другие сервисы, такие
как Computer Browser, Messenger и Netlogon, обеспечивают дополнительные
функции, которые привносят свой вклад в общие возможности ОС.
Клиенты NetWare
Novell NetWare доминировала на рынке сетевых операционных систем в то
время, когда сетевые функции были впервые интегрированы в
операционные системы Windows, в связи с чем предоставление доступа к
действующим сетевым ресурсам NetWare, расположенным в сети Windows, стало
приоритетной задачей для команды разработчиков компании Microsoft.
Первоначально было заключено соглашение, что Novell предоставит клиента
NetWare для Windows NT, но когда задержки и неудовлетворительные
результаты тестирования бета-версий показали, что это решение не является
лучшим, Microsoft решила сама разработать собственного клиента NetWare.
Первой редакцией Windows NT была версия 3.1, включающая версию
Microsoft стека протоколов IPX (названного NWLink), но без клиента NetWare.
Со временем Microsoft выпустила NetWare Workstation Compatible Service
(NWCS, совместимый сервис рабочей станции NetWare), как дополнение к
Windows NT 3.1, и встроила его в версию 3.5. Позднее вышел собственный
клиент NetWare от Novell для Windows NT, и с тех пор имеется возможность
выбора клиента NetWare для операционных систем Windows от обеих
компаний, Microsoft и Novell.
NetWare и 16-разрядные версии Windows
Ни Windows 3.1, ни Windows for Workgroups не включают клиента для NetWare,
но обе они могут работать с клиентами, поставляемыми Novell. Помимо
этого, Windows for Workgroups позволяет запускать клиента Novell вместе с
клиентом Microsoft для сетей Windows для того, чтобы обеспечить
возможность доступа к ресурсам NetWare и Windows одновременно. В то время,
когда были выпущены 16-разрядные версии Windows, клиенты NetWare
использовали или оболочку NetWare (NETX), или клиента NetWare DOS
Requestor (VLM) для реализации функциональных возможностей верхнего
уровня и либо монолитный драйвер, либо драйвер ODI (Open Datalink
Interface, открытый канальный интерфейс) для платы сетевого адаптера.
Монолитный (monolithic) драйвер представляет собой одиночный выполняемый
модуль (Ipx.com), который включает драйвер, поддерживающий
определенный сетевой адаптер, в то время как ODI является эквивалентом NDIS от
Novell, модульным интерфейсом, позволяющим использовать несколько
протоколов с одной сетевой платой. Сочетание драйвера ODI и инициатора
запросов (requestor) VLM было наиболее передовым решением для клиента
NetWare, доступным на то время.
Глава 17. Сетевые клиенты
577
Все эти варианты клиентов загружаются из командной строки DOS, что
предоставляет для приложений DOS возможность доступа к сети извне
Windows, но также требует расхода большого количества основной (conventional)
и верхней (upper) памяти. Фактически, без тщательного конфигурирования
последовательности загрузки или программы автоматического управления
памятью очень сложно оставить достаточное количество свободной
основной памяти для запуска приложений.
Сегодня Novell Client for DOS/Windows (клиент Novell для DOS/Windows)
устраняет эту проблему управления памятью и обеспечивает полный доступ
ко всем ресурсам NetWare (включая NDS), задействуя только 4 Кбайт
основной памяти. Основной компонент клиента — это подсистема
ввода/вывода NetWare (NetWare I/O Subsystem), которая работает сообща с
менеджером расширенной памяти DOS (Himem.sys) для того, чтобы
предоставить непрерывную область защищенной памяти для остальных
компонентов клиента. После того, как запущен Nios.exe (исполняемый модуль
подсистемы ввода/вывода NetWare), в выделенную область памяти загружаются
ODI-драйверы сетевых адаптеров и другие модули клиента. Эти модули
имеют форму загружаемых модулей NetWare (NLM, NetWare Loadable
Modules), которые обычно представляют собой программные файлы,
используемые на серверах NetWare. Вместе с тем, Nios.exe позволяет клиентским
системам иметь такие же драйверы сетевых адаптеров, как и у серверов, и
выполнять их из командной строки при помощи команды LOAD.
Для работы клиента необходимы NLM, перечисленные ниже.
□ Драйвер сетевого адаптера. Клиент задействует 16- или 32-разрядные
драйверы с расширением Ian (такие же, как для сервера NetWare) для
того, чтобы осуществлять взаимодействие с сетевым адаптером.
□ Cmsm.nlm. Модуль поддержки среды (MSM, media support module)
обеспечивает поддержку, зависящую от специфики среды передачи, кооперируясь
с модулями поддержки топологии (TSM, topology support modules), такими
как Ethertsm.nlm для сетей Ethernet и Tokentsm.nlm для Token Ring.
□ Lslc32.nlm. Модуль уровня поддержки связи (LSL, link support layer)
выполняет функции интерфейса между драйвером сетевого адаптера и
драйверами протоколов, работающих над ним, позволяя нескольким
протоколам разделять один адаптер.
□ Драйвер протокола. Клиент включает драйверы для стека протоколов IPX, a
также всего стека TCP/IP, в том числе драйвер Winsock, который позволяет
рабочей станции запускать Web-браузеры и другие Интернет-приложения.
□ Модуль инициатора запросов Client 32. Модуль Client32.nlm обеспечивает
функции инициатора запросов (requestor), который перенаправляет
запросы, созданные приложениями, в сетевой стек. Этот модуль один
занимает место нескольких модулей VLM, используемых более старым
клиентом NetWare DOS Requestor.
578
Часть IV. Сетевые операционные системы
NetWare и Windows 95/98
Для Windows 95 и 98 (также, как для Windows NT и 2000) существует выбор
между клиентом NetWare, предоставляющим Microsoft, и клиентом от
Novell. Вообще говоря, клиент от Microsoft обеспечивает лучшую
производительность, в то время как клиент от Novell предоставляет более богатые
функциональные возможности. Выбор клиента должен базироваться на типе
доступа к ресурсам, необходимым пользователям, и ресурсах, доступных на
рабочих станциях. Для сети Windows, которая все еще нуждается в
обслуживании некоторых ресурсов NetWare, клиент Microsoft предоставляет
хорошие возможности для доступа к ним и средства совместной работы с
клиентом для сетей Microsoft (Client for Microsoft Networks). Клиент Novell более
предпочтителен (или требуется) в следующих ситуациях:
□ сеть целиком (или в основном) полагается на NetWare для выделения
сетевых ресурсов в общее пользование;
□ администраторам NetWare нужен доступ к программе NetWare
Administrator и другим приложениям NDS;
□ сеть содержит серверы NetWare 5, на которых установлен только
протокол TCP/IP.
Клиент Microsoft для сетей NetWare
Windows 95 и 98 включают клиента для сетей NetWare (Client for NetWare
Networks), обеспечивающего основное соединение с ресурсами NetWare.
Для возможности регистрации в дереве службы каталогов NetWare (NDS)
необходимо инсталлировать сервис Microsoft для NDS (Microsoft Service for
NDS), который также поставляется совместно с операционной системой.
Этот сервис работает с теми же модулями сетевого адаптера и IPX/SPX-
совместимого протокола, что и клиент для сетей Microsoft (Client for
Microsoft Networks), и могут сосуществовать с сетевым клиентом Windows.
Несмотря на то, что сервис NDS позволяет пользователю регистрироваться
в дереве NDS и получать доступ к ресурсам NetWare, он не поддерживает
модули, требуемые для запуска приложений NDS, таких как NetWare
Administrator, используемый для управления деревом NDS. Для запуска этих
приложений в системе должны присутствовать следующие файлы:
□ Nwcalls.dll;
□ Nwlocale.dll;
□ Nwipxspx.dll;
□ Nwnet.dll;
□ Nwgdi.dll;
□ Nwpsrv.dll.
Глава 17. Сетевые клиенты
579
Перечисленные файлы распространяются Novell в составе клиентского
программного обеспечения и не входят в операционную систему
Windows 95/98. Данные файлы можно скопировать на рабочую станцию с
дистрибутивного диска NetWare или переписать с клиентской станции и
задействовать их с клиентом Microsoft для того, чтобы запускать приложения
NDS, если на указанные файлы есть соответствующая лицензия. Эти файлы
следует разместить в каталоге рабочей станции, таком как C:\Windows.
Клиент Microsoft для NetWare также не поддерживает использование каких-
либо протоколов, включенных в Windows 95/98, кроме IPX/SPX-совмести-
мого протокола. Можно установить TCP/IP в системе с клиентом NetWare,
но невозможно привязать клиента к протоколу TCP/IP для доступа к
серверам NetWare 5. Чтобы иметь возможность все-таки сделать это, необходимо
инсталлировать клиента Novell для Windows 95/98 (Novell Client for
Windows 95/98).
Windows 95 и 98 содержат клиента NetWare реального режима, который
схож с сетевым клиентом Windows реального режима, предназначенным для
применения в ситуациях, когда клиент защищенного режима не может быть
загружен. У клиента реального режима отсутствуют некоторые более
развитые возможности стандартного клиента, такие как поддержка длинных имен
файлов, автоматического восстановления соединения с сервером и
протокола NCPB.
Другой сервис, включенный в Windows 95/98, называется службой
разделения доступа к файлам и принтерам сетей NetWare (File and Printer Sharing
for NetWare Networks). Он позволяет сконфигурировать Windows-компьютер
для коллективного использования его дисков и принтеров с другими
клиентами NetWare в сети. После запуска сервиса система Windows 95/98 видна в
сети, как сервер NetWare 3.12 с разделяемыми дисками, выглядящими, как
тома этого сервера. Пользователи могут обычным образом регистрироваться
в системе и доступаться к ресурсам, не подозревая, что они получают доступ
к компьютеру, на котором в действительности работает Windows.
Клиент Novell для Windows 95/98
Клиент Novell для Windows 95/98 (Novell Client for Windows 95/98) включает
все компоненты, необходимые для создания на компьютере сетевого стека,
но он также совместим с существующей сетевой архитектурой Windows.
Например, если на компьютере нет сетевых компонентов, программа
инсталляции клиента Novell добавит драйвер ODI сетевого адаптера, 32-разрядный
протокол IPX фирмы Novell для клиента NetWare и сам сервис клиента
Novell NetWare. Если в системе уже присутствуют установленные сетевые
компоненты Windows, то клиент Novell может задействовать драйвер NDIS
Windows для сетевого адаптера, но установит свой собственный протокол и
сервис клиента.
580
Часть IV. Сетевые операционные системы
^ Примечание j|
Клиента Novell для Windows 95/98 так же, как клиентов Novell для других
операционных систем Windows, можно бесплатно получить с Web-сайта Novell по
адресу http://www.novell.com/download.
Драйверы протоколов, которые поставляются вкупе с клиентом Novell,
отличаются от "родных" драйверов Windows. Microsoft предлагает IPX/SPX-
совместимый протокол собственной разработки, в то время как Novell
предоставляет свою версию. Если для сетевого обмена в сети Windows
эксплуатируется протокол IPX от Microsoft, а также установлен клиент Novell, то в
системе будут сосуществовать две различные реализации IPX, что не является
проблемой. NetWare 5 также поддерживает TCP/IP в качестве "родного"
протокола. Предьщущие версии NetWare могли использовать TCP/IP для служб
Интернета и стандартного взаимодействия в локальной сети только в том
случае, если данные IPX были инкапсулированы в дейтаграммы UDP. Тем не
менее, теперь для поддержки NetWare 5 клиент Novell может осуществлять
обмен сообщениями TCP/IP с серверами NetWare (что клиент Microsoft для
NetWare не позволяет делать) через собственный стек TCP/IP Windows 95/98.
С установленным клиентом Novell все еще можно регистрироваться в дереве
NDS или на сервере NetWare, домене Windows или рабочей группе с одним
именем пользователя и паролем до тех пор, пока существует учетная запись с
одинаковым паролем в обоих каталогах. По умолчанию клиент Novell
назначает себя основным сетевым клиентом и задействует имя учетной записи и
пароль, введенные при регистрации в NetWare, для входа в сеть Windows.
Когда учетная запись с таким именем не существует в домене Windows или
существует, но с другим паролем, система отображает второе диалоговое окно
для регистрации в сети Windows. Если основной сетевой клиент будет
изменен на клиента для сетей Microsoft (Client for Microsoft Networks), то процесс
регистрации происходит таким же образом, но в обратном порядке. Клиент
NetWare регистрируется, используя бюджет пользователя сети Windows.
Клиент Novell обеспечивает поддержку для всех последних
усовершенствований NetWare, включая Workstation Manager (Менеджер рабочих станций)
и NetWare Distributed Print Services (Сервисы распределенной печати
NetWare), а также другие утилиты, связанные с NetWare. Например, можно:
копировать файлы непосредственно между двумя томами сервера NetWare,
что быстрее, нежели копирование их через рабочую станцию, с которой
была подана соответствующая команда; управлять соединениями NetWare
через специализированный интерфейс; регистрироваться одновременно в двух
деревьях NDS; запускать утилиты NetWare, подобные NetWare Administrator и
NDS Manager. Для администраторов сети и опытных пользователей NetWare
эти средства могут казаться само собой разумеющимися, но для рядового
пользователя, который просто хранит свои файлы на серверах NetWare и
печатает их на принтерах NetWare, такие новшества не являются
действительно необходимыми.
Глава 17. Сетевые клиенты
581
NetWare и Windows NT/2000
Подобно Windows 95 и 98, Windows NT и 2000 включают клиентов Microsoft,
которые обеспечивают доступ к ресурсам NetWare. Наряду с ними можно
задействовать клиента Novell для Windows NT (Novell Client for
Windows NT). Разработка клиентов NetWare для Windows NT была долгим и
трудным процессом как для Microsoft, так и для Novell. Ранние версии
клиентов испытывали недостаток в функциональных возможностях, которые
были жизненно необходимы пользователям и администраторам. Сегодня,
однако, положение дел с клиентами Windows NT/2000 сложилось
приблизительно такое же, как с клиентами Windows 95/98. Клиенты Microsoft
предоставляют базовую способность к взаимодействию с NetWare, в то время как
клиент Novell реализует весь спектр сервисных услуг NetWare.
Сервис клиента Microsoft
для NetWare
Windows NT Workstation и Windows 2000 Professional содержат Microsoft
Client Service for NetWare (CSNW, сервис клиента Microsoft для NetWare),
который позволяет системам регистрироваться в дереве NDS или на сервере
NetWare и обращаться к их ресурсам. В отличие от Windows 95/98, для
установления соединений с NDS не требуется установки дополнительного
сервиса. CSNW (как и клиент GSNW, Gateway Service for NetWare (сервис шлюза
для NetWare), из состава Windows NT Server) является сервисом,
"осведомленным" о существовании NDS, но не NDS-совместимым. Это означает,
что, несмотря на возможность сервисов регистрироваться в дереве NDS, они
не предусматривают полной поддержки для приложений NDS. Как и в
случае Windows 95/98, если необходимо использовать NetWare 5 с TCP/IP,
NDPS, ZENworks или другими приложениями NDS, потребуется установить
клиента Novell для Windows NT (Novell Client for Windows NT).
CSNW базируется на NWLink, протоколе Windows NT, который оказывает
услуги, совместимые с услугами протокола IPX фирмы Novell. NWLink
содержит компоненты, эмулирующие большую часть важнейших протоколов
стека IPX, включая сам IPX, SPS, RIP, SAP и NetBIOS. Как и клиент
Windows 98, рассматриваемый сервис задействует тот же NDIS-драйвер
адаптера, что и сетевой клиент Microsoft, и может сосуществовать с сетью
Windows, обеспечивая доступ к ресурсам NetWare и Windows одновременно.
^ Примечание ^Д
Для получения более подробной информации о стеке протоколов IPX,
используемом NetWare, см. главу 12.
582
Часть IV. Сетевые операционные системы
Сервис шлюза Microsoft для NetWare
Клиент NetWare, вошедший в Windows NT и 2000 Server, называется
Gateway Service for NetWare (GSNW, сервис шлюза для NetWare). GSNW
предоставляет такие же клиентские услуги, как CSNW, но добавляет к ним
функцию шлюза, которая позволяет клиентским системам Windows обращаться к
NetWare, через сервер NT'или 2000. После установления соединения с
деревом NDS или сервером NetWare, использующим те же компоненты, что и
CSNW, можно задействовать шлюз с целью создания на сервере NT/2000
разделяемых ресурсов, которые будут ассоциированы с определенными
томами на серверах NetWare (рис. 17.4). Все клиенты Windows в сети смогут
увидеть эти ресурсы и получить доступ к ним обычным способом. Сервер
NT или 2000 осуществляет доступ к ассоциированным томам сервера
NetWare, и передает файлы и каталоги клиентам Windows. GSNW не заменяет
клиентов NetWare на рабочих станциях Windows, этот сервис просто
является быстрым решением для пользователей, которым обращения к томам
NetWare необходимы только изредка.
2<1
Username: Administrator
f* Preferred S erver
Current Preferred Server:
Select Preferred Server: J
OK
Ciateway...
Cancel
& Default Tree and Context
Tree: JNWTREE
Context:
corpnet
Print Options -—-——
Г" Add Form Feed
Г Notify When Printed
Г* Print Banner
Login Script Options —
Г* Run Login Script
Help
P £nable Gateway
gateway Account: {Administrator
Password: |xKKKKKKKXK'",K
£onfirm Password: |KX,M"",K,"""""e
Share name Drive Max Users Path
2Si
OK
Cancel
Help
Add...
Remove
Permissions...
Рис. 17.4. Gateway Service for NetWare в Windows NT
Глава 17. Сетевые клиенты
583
Клиент Novell для Windows NT
Несмотря на то, что первые версии Novell Client for Windows NT (клиент
Novell для Windows NT) имели ограниченную функциональность, текущая
версия предоставляет полный доступ ко всем возможностям NetWare
аналогично клиентам DOS и Windows 95/98. Тем не менее, клиент для
Windows NT не привлекает подсистему ввода/вывода NetWare для запуска на
рабочей станции модулей NLM, как это свойственно другим клиентам.
Все клиенты Novell включают программу их инсталляции, которая упрощает
процесс добавления отдельных компонентов, или же можно выполнить
установку традиционным образом из панели управления сетью (Network Control
Panel) Windows. Клиент Novell для NT также предусматривает интеграцию
процесса его установки с инсталляцией операционной системы, таким
образом, отпадает необходимость в отдельной процедуре добавления для каждого
клиента. Более того, клиент имеет возможность автоматического обновления
(ACU, Automatic Client Upgrade), в процессе которого проверяется текущая
версия установленного клиента и сравнивается с версией, хранящейся на
сервере. Если на сервере находится более новый вариант, рабочая станция
самостоятельно выполняет обновление. Средства, подобные данному, разработаны
затем, чтобы помочь администраторам, отвечающим за сотни и тысячи
систем, упростить процесс обслуживания рабочих станций.
Клиенты Macintosh
Хотя и не настоль популярные как PC, системы Macintosh имеют свое место
под солнцем в мире персональных компьютеров, и в определенный момент
может появиться потребность присоединить к сети рабочие станции Мае.
Все системы Macintosh обладают интегрированным сетевым интерфейсом, и
это свойство долгое время рекламировалось как доказательство простоты и
преимущества данной платформы. Тем не менее, рабочие станции Macintosh
требуют специфического обращения для подключения их к сети,
базирующейся на другой платформе, такой как Windows NT/2000, NetWare или
UNIX. В большинстве случаев, все-таки, сеть можно сконфигурировать для
поддержки клиентов Macintosh, предоставив возможность Мас-пользо-
вателям разделять файлы с Windows и другими клиентами. Если отобрать
приложения, имеющие версии, совместимые с различными клиентскими
платформами, присутствующими в сети, то пользователи Мае даже смогут
работать с теми же файлами, что и пользователи Windows.
Присоединение рабочих станций Macintosh к сети, опирающейся на другую
платформу, обычно сводится к настройке существующих серверов для
работы с AppleTalk, "родным" протоколом сетей Macintosh, или
конфигурированию систем Macintosh для возможности взаимодействия по протоколу,
поддержанному сервером, что достигается установкой дополнительного клиента.
584
Часть IV. Сетевые операционные системы
В следующих разделах рассматриваются основные процедуры для
соединения систем Macintosh с различными типами сетей, и программные
продукты, необходимые для реализации этих соединений.
Присоединение систем Macintosh
к сетям Windows
Windows NT и 2000 Server включают компонент Microsoft Services for
Macintosh (сервисы Microsoft для Macintosh), реализующий протокол AppleTalk,
с помощью которого файлы и принтеры сервера становятся доступными
системам Macintosh. Однако в отличие от клиентов Windows, системы Мае
не могут выступать в качестве узлов одноранговой сети Microsoft.
Отношения между рабочими станциями Мае и сервером NT или 2000 строго
ограничены рамками модели клиент/сервер. Это означает, что Мае в состоянии
обращаться к файлам и принтерам сервера, но не вправе предоставлять в
совместное использование свои диски или осуществлять доступ к
разделяемым ресурсам других рабочих станций в сети, таких как компьютеры с
Windows 95/98. Чтобы дать возможность системе Macintosh выполнять функции
узла одноранговой сети, подобного рабочей станции под управлением
Windows 95/98, требуется установить программное обеспечение клиента от
сторонних фирм.
Использование сервисов Microsoft для Macintosh
Microsoft Services for Macintosh (сервисы Microsoft для Macintosh) позволяют
системам Macintosh получать доступ к разделяемым ресурсам Windows NT/
2000 Server без каких-либо изменений в конфигурации рабочих станций.
Когда на сервере Windows NT или 2000 из панели управления сетью
(Network Control Panel) инсталлируется набор сервисов для Macintosh, то к
программному обеспечению компьютера добавляются три модуля.
□ Протокол AppleTalk (AppleTalk Protocol). Реализует протоколы AppleTalk
Phase 2, благодаря которым системы Macintosh могут взаимодействовать с
сервером.
□ Файловый сервер для Macintosh (File Server for Macintosh, MacFile).
Предоставляет средства создания из каталогов сервера, расположенных на
дисках NTFS, томов, доступных для компьютеров Macintosh.
□ Сервер печати для Macintosh (Print Server for Macintosh, MacPrint).
Позволяет системам Macintosh посылать задания на печать в спулеры
сервера NT.
После того, как установка завершена, следует задать имя зоны AppleTalk, с
которой будет соотнесен сервер. Затем сервис создает на диске сервера
каталог \Microsoft UAM Volume. По умолчанию — это единственный каталог на
сервере, который доступен для систем Macintosh. Механизм создания и кон-
Глава 17. Сетевые клиенты
585
фигурирования томов Macintosh на сервере полностью отделен от
стандартных возможностей совместного использования дисков. Каталог \Microsoft
UAM Volume можно предоставить в коллективное пользование обычным
образом, чтобы сделать его видимым для стандартных клиентов Windows, но
для управления его свойствами, связанными с работой в качестве тома
Macintosh, или для создания на сервере нового тома необходимо
задействовать программу Server Manager.
Инсталляция сервисов для Macintosh добавляет в консоль Server Manager
выпадающее меню MacFile, как показано на рис. 17.5. Если из этого меню
выбрать пункт Volumes (Тома), то высветится диалоговое окно Properties of
Macintosh-Accessible Volume (Свойства тома, доступного для Macintosh), из
которого можно создавать новые тома Macintosh или управлять свойствами
уже существующих. Например, по умолчанию пользователи Macintosh для
каталога \Microsoft UAM Volume имеют право только на чтение. Из
диалогового окна Properties (Свойства) можно предоставить пользователям право
на запись в каталог, назначить для доступа к тому пароль или создать
разрешение на доступ только для определенных пользователей и групп,
используя для этого дополнительный модуль аутентификации пользователей
(UAM, user authentication module). Установка UAM в систему Macintosh
позволяет программе Mac Chooser проводить опознание системы на сервере
NT/2000 с применением метода шифрованной аутентификации Microsoft,
вместо передачи сообщений этой процедуры открытым текстом, которая
является для данных систем стандартной.
жШ*1
Computer ^iew Captions MacFile НЫр
Computer Type
Volume Name:
Path:
Password: j
Confirm Password: J
Microsoft UAM Volume
DA...ROSOFT UAM VOLUME
-Volume Security————
£? This volume is read-only
W fiuests can use this volume
-User Limit——
*~ Unlimited
Cancel j
Permissions...
Help
<? AJ|0W J1000 § U*
Рис. 17.5. Свойства диалогового окна доступа к Macintosh-тому
586
Часть IV. Сетевые операционные системы
Клиенты Macintosh сторонних фирм
Одно из основных преимуществ использования сервисов для Macintosh в
Windows NT/2000 заключается в том, что исчезает необходимость в
приобретении, инсталляции и конфигурировании нового программного обеспечения
для каждой рабочей станции Macintosh (хотя потребность в стандартной
лицензии Windows NT или 2000 для каждой системы Мае, имеющей доступ к
серверу, остается). Однако можно подойти к решению проблемы
организации сети Mac/Windows с другой стороны, то есть со стороны клиента. Для
этого понадобится приобрести программное обеспечение от сторонней
фирмы, например, DAVE от Thursby Software Systems Inc. (www.Thursby.com/
products/newin25.htm) или Share Way IP от Open Door Networks Inc.
(www2.opendoor.com/shareway/).
DAVE -— это решение одноранговой сети для систем Macintosh, которое
позволяет Мае иметь доступ к ресурсам сети Windows и разделять свои диски с
клиентами Microsoft. В отличие от сервисов NT для Macintosh, DAVE
позволяет станциям Мае обращаться к разделяемым ресурсам Windows 95/98 и
NT Workstation, а также к ресурсам систем Windows NT и 2000 Server. DAVE
также оперирует протоколами TCP/IP вместо AppleTalk и, таким образом,
не требует изменений в сетевых системах Windows. Как в случае любого
решения, базирующегося на клиенте, необходимо купить копию DAVE для
каждой системы Мае и отдельно установить ее. Для сравнительно
небольших сетей или больших сетей с несколькими клиентами Macintosh
программный продукт, подобный DAVE, будет идеальным выбором.
Соединение систем
Macintosh с NetWare
Novell NetWare также предоставляет альтернативные способы соединения с
системами Macintosh, аналогичные средствам Windows. Можно
сконфигурировать серверы NetWare для работы с протоколом AppleTalk, что даст
возможность рабочим станциям Macintosh взаимодействовать с серверами в своем
"родном" режиме, или внедрить NetWare Client for MacOS (клиент NetWare
для MacOS) на каждую систему Macintosh, и тогда клиенты Мае смогут
использовать для обмена сообщениями с серверами NetWare протоколы IPX.
NetWare функционирует исключительно в рамках модели клиент/сервер, в
силу чего оба решения позволяют рабочим станциям иметь доступ только к
серверам. Системы Мае не предоставляют в совместное использование свои
диски, а также не могут обращаться к ресурсам других клиентов.
Эти решения обеспечивают основные клиентские сервисы для рабочих
станций Macintosh, такие как доступ к томам и принтерам сервера, но для
администрирования NetWare системы Мае являются неподходящей плат-
Глава 17. Сетевые клиенты
587
формой. Не существует утилиты, подобной NetWare Administrator, для
платформы Мае, и, несмотря на то, что Mac-клиент может регистрироваться в
дереве NDS и просматривать его объекты, он не имеет возможности
изменять их или создавать новые.
Использование NetWare for Macintosh
NetWare for Macintosh (клиент NetWare для Macintosh) является
компонентом операционной системы NetWare, он инсталлирует на сервер протоколы
AppleTalk, в том числе AppleTalk Filing Protocol (AFP, файловый протокол
AppleTalk) и AppleTalk Print Services (ATPS, сервисы печати AppleTalk),
которые обеспечивают реализацию совместного использования файлов и
принтеров соответственно. Этот продукт можно установить на
существующий сервер обычным образом, при помощи утилиты Install.nlm. Подобно
любым другим протоколам сервера NetWare, AppleTalk должен быть
привязан к одному или более имеющимся сетевым адаптерам, а файл Autoexec.ncf
необходимо модифицировать так, чтобы он автоматически загружался
вместе с модулями AFP и ATPS при старте операционной системы. Также
следует обязательно добавить пространство имен Мае к каждому тому NetWare,
на котором клиенты будут хранить файлы Macintosh.
После того, как компонент NetWare for Macintosh установлен на сервер
NetWare и настроен, рабочие станции Мае могут соединяться с сервером без
каких-либо изменений в их конфигурации. Однако по той причине, что
системам Мае не было предоставлено возможностей клиента NDS, они могут
регистрироваться только на серверах NetWare 4.x или 5.x, использующих
эмуляцию базы учетных данных (bindery). В плане обеспечения безопасности
работа с клиентами Мае ничем не отличается от таковой для любых других
клиентов NetWare. Необходимо создать объект пользователя для учета на сервере
в контексте эмуляции базы регистрационных данных и обычным способом
определить права пользователя на доступ к файлам и каталогам.
Использование клиента
NetWare для MacOS
Установка клиента NetWare для MacOS (NetWare Client for MacOS) дает
рабочей станции Mac возможность регистрироваться в дереве NDS, что является
более предпочтительным способом в сравнении с регистрацией в контексте
эмуляции базы учетных данных, и задействовать собственные протоколы IPX
NetWare, что опять-таки лучше, чем применение AppleTalk. Клиент также
поддерживает NetWare IP, который упаковывает трафик IPX в дейтаграммы
UDP. Данный процесс называется тужелированием (tunneling). Тем не менее,
перечисленного еще не достаточно для того, чтобы клиент Мае для связи с
серверами NetWare использовал протоколы TCP/IP в "родном" режиме.
588
Часть IV. Сетевые операционные системы
^ Примечание ^|
Novell больше не распространяет клиента NetWare для MacOS сама. Она
передала Prosoft Engineering Inc. эксклюзивное право на разработку и
распространение клиента (http://www.prosofteng.com/netware.asp).
Клиент для MacOS состоит из компонентов рабочей станции и сервера.
Установка клиента на сервер добавляет пространство имен Macintosh к
выбранным томам, позволяя указать имена, под которыми тома будут открыты
для систем Macintosh, а также добавляет модуль сервера Macfile.nlm,
который обеспечивает поддержку файловой системы Mac OS при помощи
протокола AppleTalk Filing Protocol (AFP).
Компоненты рабочей станции клиента включают MacIPX и NW/IP для
поддержания протоколов IPX и NetWare/IP, а также программу RCONSOLE,
предназначенную для организации доступа систем Мае к консоли сервера
посредством IPX. Процесс инсталляции также создает папку NetWare Client
Utilities на диске рабочей станции. Эта папка содержит несколько
служебных программных средств.
□ NetWare Directory Browser. Позволяет просматривать (но не изменять)
дерево NDS.
□ NetWare Print Chooser. Дает возможность выбирать принтеры NetWare,
на которые пользователи хотят отправить задания печати.
□ NetWare Volume Mounter. Оказывает услуги по монтажу выбранных томов
путем перетаскивания их в окне NetWare Directory Browser.
После того, как клиент установлен на рабочую станцию, пользователь
может зарегистрироваться в NetWare, используя Chooser (средство рабочего
стола Macintosh для выбора сервера или принтера), или пиктограмму дерева
справа в строке меню. Последняя предоставляет возможности регистрации
NDS, a Chooser позволяет выбрать место регистрации: на сервере NetWare
или в NDS. Если указать определенный сервер, то система выполнит
закрепление в базе регистрационных данных (bindery) или в эмулирующей ее
системе, в зависимости от версии NetWare, работающей на сервере.
Клиенты UNIX
Три основных механизма обеспечивают доступ клиент/сервер между
системами UNIX. Два из них могут быть перенесены на множество других
компьютерных платформ, и их можно использовать для обращения к системам
UNIX с рабочих станций, работающих под управлением других
операционных систем. Эти механизмы перечислены ниже.
□ Berkeley Remote Commands (команды удаленного управления Беркли).
Разработанные для сетевых взаимодействий вида UNIX-UNIX, эти команды
Глава 17. Сетевые клиенты
589
несут на себе такую нагрузку, как удаленная регистрация (rlogin),
выполнение команд удаленным командным процессором (rsh) и удаленное
копирование файлов (гср).
□ DARPA Commands (команды DARPA). Обеспечивают выполнение главных
задач удаленного сетевого взаимодействия, таких как передача файлов
(FTP) и эмуляция терминала (Telnet). Команды DARPA выполняются
независимо от операционной системы и распространены практически на
каждую платформу, поддерживающую протоколы TCP/IP.
□ Network File System (NFS, сетевая файловая система). Была разработана
фирмой Sun Microsystems в 1980-х с целью решения задачи прозрачного
разделения файлов между сетевыми системами и опубликована
проблемной группой проектирования сети Интернет (IETF) в документе RFC 1813.
NFS доступна для большого количества компьютерных платформ,
позволяя большинству клиентских рабочих станций иметь доступ к файлам
систем UNIX.
Чаще всего стеки TCP/IP на клиентских компьютерах включают
приложения, поддерживающие DARPA-команды FTP и Telnet. Поскольку сервисы
серверов FTP и Telnet по умолчанию встроены во все версии UNIX, можно
использовать клиентские приложения для доступа к любой системе UNIX в
сети. Серверные приложения также перенесены на другие операционные
системы. Например, Windows NT и 2000 включают сервер FTP как часть
набора программных средств информационного сервера сети Интернет (IIS,
Internet Information Server).
Все TCP/IP-клиенты Windows содержат программы клиентов FTP и Telnet,
за исключением клиента Microsoft Client 3.0 for MS-DOS. Установка этого
клиента предоставляет стек TCP/IP и драйвер Winsock, необходимый для
запуска Интернет-приложений, но инсталляция средств FTP и Telnet в нее
не входит. Тем не менее, можно задействовать клиентов FTP и Telnet от
сторонних фирм для доступа к серверам UNIX и другим серверным
системам или установить клиента Novell для DOS/Windows (Novell Client for
DOS/Windows), который рассматривает клиентов FTP и Telnet как часть
своего стека TCP/IP.
Несмотря на то, что FTP и Telnet обеспечивают базовый доступ к системе
UNIX, они не являются эквивалентом полнофункционального клиента.
Например, FTP предоставляет только основные возможности по передаче
файлов. Для открытия документа в системе UNIX при помощи FTP необходимо
сначала загрузить файл на локальный диск и открыть его уже оттуда. С другой
стороны, NFS позволяет клиентским компьютерам иметь доступ к томам
сервера так, как будто они расположены на локальной системе. NFS загружает на
диск клиентской машины только те блоки, которые действительно
необходимы приложению, выработавшему запрос, вместо целого файла.
590
Часть IV. Сетевые операционные системы
Таким образом, несмотря на то, что FTP и Telnet распространяются
свободно и доступны практически каждому, для клиентов, которым требуется
постоянный доступ к файловым системам UNIX, лучшим вариантом будет
применение NFS. Существуют программные продукты NFS как для
Windows NT/2000, так и для Novell NetWare, что делает возможным
взаимодействие файловых систем р системами UNIX, но такие продукты нужно
приобретать и инсталлировать отдельно.
Сервисы Windows NT для UNIX (Windows NT Services for UNIX) являются
пакетом дополнений, которые позволяют системам Windows NT иметь
доступ к томам UNIX, использующим NFS, и предоставлять свои диски для
клиентов UNIX как тома NFS. Этот программный продукт также включает
демона синхронизации паролей для систем UNIX, сервер Telnet для
Windows NT и клиента Telnet с текстовым интерфейсом, который улучшен в
сравнении с той версией клиента, какая входит в NT. После установки
сервисов система NT может назначать буквы дисков томам NFS на системах
UNIX или ссылаться на них, беря за основу либо стандартные UNC-имена,
либо UNIX сервер'./экспорт формат. В дальнейшем обращение из систем
UNIX к дискам NT осуществляется, как к любым другим томам NFS.
Механизм NFS сервера создает отдельную закладку NFS Sharing
(Разделение доступа NFS) в диалоговом окне Properties (Свойства) для каждого
диска и каталога в системе Windows NT. Выделение совместно
используемых ресурсов NFS и назначение им разрешений происходит независимо от
создания и управления стандартными ресурсами коллективного доступа
Windows. NT имеет свою собственную схему регулирования разрешений для
обращения к ресурсам с той целью, чтобы приблизиться к модели защиты,
применяемой в системах UNIX. Демон синхронизации паролей позволяет
администраторам управлять из NT паролями как на системах UNIX, так и на
системах NT.
Помимо функциональности NFS в плане взаимодействия клиент/сервер,
сервисы Windows NT для UNIX включают набор инструментов, которые
образуют рабочее окружение NT, напоминающее аналогичный
инструментарий UNIX, в том числе командный процессор Korn (Korn shell) и
ассортимент стандартных утилит UNIX, таких как ср, служащая для копирования
файлов, mkdir -— для создания каталогов, и vi — представляющая собой
текстовый редактор командной строки.
В то время как сервисы Windows NT для UNIX обеспечивают доступ к томам
NT множеству клиентов UNIX, обращение к дискам NFS или системам
UNIX разрешено только одному клиенту NT. Сервисы NFS для NetWare
(NFS Services for NetWare) от Novell являются серверным решением, которое
позволяет клиентам UNIX получить доступ к томам NetWare, а клиентам
NetWare — к томам NFS UNIX, используя сервер NetWare в качестве шлюза.
Дополнительно данный программный продукт оказывает услуги печати в на-
Глава 17, Сетевые клиенты
591
правлении от UNIX к NetWare и от NetWare к UNIX, что дает возможность
клиентам каждой из платформ иметь доступ к принтерам другой ОС.
Оба рассмотренных выше продукта придают функциональность соединению
между рабочими станциями UNIX и серверами на основе PC,
управляемыми Windows NT/2000 или NetWare. Также доступно программное
обеспечение NFS от сторонних фирм, которое обеспечивает схожие услуги.
Несмотря на то, что способность к взаимодействию между разными платформами
никогда не бывает абсолютно прозрачной, почти всегда существует
возможность выбора именно "того самого" клиента операционной системы, какой
требуется пользователям сети, помимо просто предоставления им доступа к
любым ресурсам в любом месте этой сети.
ЧАСТЬ V.
СЕТЕВЫЕ СЛУЖБЫ
СОЕДИНЕНИЙ
Глава 18
Протокол DHCP
Вследствие использования в Интернете и совместимости с практически
любой современной сетевой операционной системой семейство протоколов
TCP/IP встречается в наше время практически повсеместно, кроме очень
маленьких ЛВС. Основная административная проблема содержания сетей
TCP/IP состоит в том, чтобы обеспечить каждый узел сети уникальным IP-
адресом и задать необходимые значения всевозможных конфигурационных
параметров TCP/IP. В рамках большой сети выполнение этих задач для
каждой отдельной рабочей станции вручную требует не только больших
трудозатрат, но и кропотливого планирования для обретения уверенности, что ни
один из IP-адресов не повторяется.
Протокол DHCP (Dynamic Host Configuration Protocol, протокол
динамической конфигурации хоста) был разработан специально для решения этой
проблемы. DHCP принимает форму сервиса, который сетевые
администраторы конфигурируют, задавая диапазоны IP-адресов и другие параметры.
Рабочие станции настроены таким образом, что их программы-клиенты
DHCP обращаются к DHCP-сервису при каждой загрузке компьютера и
обеспечивают системы набором параметров TCP/IP, в том числе и
уникальным IP-адресом. Рабочие станции задействуют эти параметры при
конфигурировании своих TCP/IP-клиентов, и их сетевые настройки не требуют
какого-либо вмешательства оператора.
DHCP представляет собой сервис, не зависящий от платформы, который
может настраивать параметры TCP/IP в любой операционной системе,
обладающей клиентскими возможностями DHCP. Программное обеспечение
DHCP-сервера существует для многих платформ, включая Windows NT,
NetWare, а также различные версии UNIX.
Происхождение DHCP
DHCP был разработан фирмой Microsoft в начале 1990-х годов как решение
по конфигурации рабочих станций для коммерческих сетей, и, особенно, ее
собственной сети, состоящей из 35 000 узлов. Придя к выводу, что протокол
TCP/IP является оптимальным для ее нужд, фирма Microsoft также поняла,
что задача по назначению IP-адресов вручную тысячам машин,
расположенных в разных точках 50 стран, практически невыполнима. Настолько же нере-
596
Часть V. Сетевые службы соединений
ально постоянно отслеживать IP-адреса всех машин, поскольку процесс
добавления компьютеров в сеть и исключения их из нее протекает непрерывно.
Концепция назначения IP-адресов на серверной основе сама по себе не
нова. DHCP базируется на двух более ранних протоколах, а именно — RARP и
ВООТР.
Протокол RARP
Протокол RARP (Reverse Address Resolution Protocol, протокол обратного
разрешения адресов) представляет прямую противоположность протоколу
ARP, используемому любой TCP/IP-системой. В то время как ARP
конвертирует IP-адреса Сетевого уровня в аппаратные адреса Канального уровня,
способ работы RARP заключается в рассылке широковещательных
сообщений с аппаратным адресом системы назначения и получении ответа с ее IP-
адресом от сервера RARP.
Разработанный для бездисковых рабочих станций, не имеющих никакой
возможности хранить данные о собственной IP-конфигурации, сервер RARP
способен снабжать IP-адресами все машины в пределах сетевого сегмента.
С другой стороны, концепция, в том виде, в каком она представлена в
документе IETF RFC 903, не устраивала фирму Microsoft по целому ряду причин.
П RARP основан на широковещательных сообщениях, так как для
бездисковых рабочих станций не существует способа хранить адрес сервера
RARP. Поэтому в каждом сегменте сети необходимо присутствие сервера
RARP для обслуживания рабочих станций этого сегмента.
П RARP способен обеспечить систему-клиента только IP-адресом. Для
применения в современных сетях от протокола требуются возможности
по заданию значений множества конфигурационных параметров,
например, адреса шлюза по умолчанию или сервера имен.
П RARP представляет собой лишь механизм для хранения и доставки IP-
адресов. Администраторы по-прежнему должны вручную назначать все
IP-адреса, создавая поисковую таблицу на сервере RARP.
Протокол ВООТР
Bootstrap Protocol (ВООТР) является улучшенным вариантом RARP и
продолжает использоваться в настоящее время, особенно маршрутизаторами
фирмы Cisco и других производителей. Большая часть функциональности
DHCP взята из стандартов ВООТР (опубликованных в RFC 951 и
расширенных в RFC 1533 и RFC 1542). Также разработанный для бездисковых
рабочих станций, протокол ВООТР способен снабжать не только
IP-адресом, он также передает свою информацию в стандартных UDP/IP-дейта-
граммах, вместо привлечения специального протокола Канального уровня,
такого как RARP.
Глава 18. Протокол DHCP
597
ВООТР-серверы могут задействовать протокол TFTP (Trivial File Transfer
Protocol, простейший протокол передачи данных) для доставки выполняемого
файла бездисковой клиентской системе в дополнение к IP-адресу и другим
параметрам конфигурации TCP/IP. Как и в случае RARP, ВООТР-клиенты
используют широковещательные сообщения для контакта с сервером,
однако стандарт предусматривает и применение агентов-ретрансляторов ВООТР,
которое позволяет одному ВООТР-серверу обслуживать клиентов,
расположенных во множестве сетевых сегментов.
Агент-ретранслятор ВООТР (relay agent) фиксирует широковещательные
сообщения ВООТР в сетевом сегменте и передает их ВООТР-серверу в другой
сетевой сегмент. Многие из маршрутизаторов, присутствующих на рынке,
поддерживают ВООТР-ретрансляцию, и, поскольку DHCP имеет ту же
самую систему ретранслирования сообщений, поддержка DHCP-ретрансля-
торов, встроенная в Windows NT и Windows 2000, также работает и с
трафиком ВООТР.
Главный недостаток ВООТР заключается в том, что администраторы, как и
в случае RARP, должны вручную создавать на сервере поисковую таблицу,
содержащую IP-адреса, которые должны быть назначены клиентам, и другие
конфигурационные параметры. Это обуславливает тот же риск ошибок и
количество административных проблем, что и у RARP, сравнимый, с этой
точки зрения, с ручным конфигурированием клиентов.
Цели DHCP
Протокол ВООТР избавил администраторов от необходимости подходить к
каждой рабочей станции, чтобы иметь возможность настроить ее клиента
TCP/IP вручную, однако по-прежнему существует вероятность назначения
системам повторяющихся IP-адресов из-за возможных ошибок в поисковой
таблице сервера. Требовался именно сервис, не только способный
автоматически распределять IP-адреса системам по мере надобности, но и имеющий
функцию отслеживания тех адресов, которые уже были назначены, а также те,
которые доступны для использования. DHCP улучшил концепцию ВООТР,
позволив администраторам создавать пул IP-адресов. Во время загрузки
системы-клиента она запрашивает адрес у сервера, а он назначает ей адрес из
пула вместе с другими параметрами статической конфигурации, требуемыми
клиентской системе.
Однако из этого принципа вытекает несколько вполне закономерных
проблем. Одна из них заключается в возможности нехватки IP-адресов.
Предположим, например, что системе-клиенту назначен IP-адрес в одной
подсети. Что произойдет тогда с этим адресом, если компьютер переместится в
другое подразделение или в другую подсеть? DHCP присвоит данной
системе другой IP-адрес в новой подсети, но, вместе с тем, должен существовать
механизм отзыва старого адреса.
598
Часть V. Сетевые службы соединений
Эта проблема решается за счет использования механизма арендования IP-
адресов клиентскими системами. Всякий раз, когда сервер DHCP назначает
IP-адрес, он запускает процесс обратного отсчета времени, который истечет,
если система-клиент не возобновит аренду. При каждой перезагрузке
системы-клиента аренда возобновляется. Если срок аренды истек, сервер
возвращает адрес обратно в пул для повторного присваивания.
Возможность автоматического назначения IP-адресов системам-клиентам
сопровождается проблемой, связанной с периодическим изменением
IP-адреса системы-клиента. Если срок аренды истекает по каким-либо причинам
(например, пользователь ездил в отпуск), сервер, вероятно, назначит уже
другой IP-адрес данной системе при следующем ее вхождении в контакт с
сетью. Причина появления сопутствующей проблемы лежит в процессах
разрешения имен в сети.
Клиентские системы часто получают постоянные имена в DNS, либо в
службе имен NetBIOS или сразу в обоих. В любом случае, изменение IP-
адреса делает прежнюю информацию о преобразовании имени
недействительной. В пространстве имен NetBIOS проблема возникает только тогда,
когда сеть использует файлы LMHOSTS для разрешения имен. Сети,
применяющие широковещательные сообщения, не будут испытывать никаких
затруднений с новым IP-адресом, так как, фактически, в этом случае новая
процедура разрешения имени проводится всякий раз, когда кто-либо желает
получить доступ к данной системе. Наилучшим решением остается все-таки
служба имен WINS, регистрирующая NetBIOS-имя и новый IP-адрес
клиентской системы каждый раз, когда она подключается к сети.
^ Примечание ^
Для получения более подробной информации о WINS и именах NetBIOS см.
главу 19.
Для имен DNS проблема представляется несколько более сложной,
поскольку серверы DNS традиционно не обновляют динамически свои записи
о ресурсах, содержащие имена узлов и соответствующие им IP-адреса. Если
в сети присутствует система, функционирующая в качестве сервера
Интернета (например, Web- или FTP-сервера), ее IP-адрес должен быть назначен
на постоянной основе. Из-за того, что DNS является органической частью
сети Интернет, потребуется слишком много времени, чтобы данные об
изменении IP-адреса достигли всех серверов, участвующих в процессе. Для
решения этой проблемы DHCP позволяет осуществлять назначение
постоянных IP-адресов наряду с динамическими адресами.
^ Примечание ^
Сервер DNS, включенный в Windows 2000 Server, поддерживает новую
возможность под названием Dynamic Update, обеспечивающую автоматическое
Глава 18. Протокол DHCP
599
обновление записей о ресурсах. Адреса, присваиваемые в ходе работы
Microsoft DHCP Server для Windows 2000, могут автоматически включаться в
DNS-записи. Для получения более подробной информации о DNS см. главу 20.
Основные цели, которые преследовала фирма Microsoft, создавая DHCP,
приведены ниже.
П DHCP-сервер должен обладать способностью снабжать рабочие станции
всеми установками, необходимыми для конфигурирования их клиентов
TCP/IP таким образом, чтобы не требовалось никакого ручного
вмешательства в процесс конфигурирования.
П DHCP-сервер обязан уметь функционировать в качестве архива
параметров настройки TCP/IP для всех клиентов сети.
П DHCP-сервер обязан назначать IP-адреса таким способом, который
исключал бы их повторение в сети.
П DHCP-сервер должен быть способен конфигурировать клиентов других
подсетей за счет использования агентов ретрансляции DHCP.
П DHCP-серверы должны поддерживать назначение определенных IP-
адресов специфическим клиентским системам.
П DHCP-клиенты обязаны сохранять свои настройки TCP/IP, несмотря на
перезагрузку сервера или клиентской системы.
Назначение IP-адресов
Первичная функция DHCP состоит в задании IP-адресов и удовлетворении
нужд всех типов клиентских систем. Стандарт определяет три возможных
типа назначения IP-адресов.
П Ручное назначение. Администратор конфигурирует DHCP-сервер для
присвоения специфического IP-адреса конкретной системе, который не
будет меняться до тех пор, пока не будет также вручную переназначен.
Это эквивалентно по функциональности работе RARP или ВООТР.
□ Автоматическое назначение. DHCP-сервер назначает постоянные IP-
адреса из своего пула, не меняющиеся до тех пор, пока они не будут
поправлены вручную администратором.
П Динамическое назначение. DHCP-сервер задает IP-адреса из пула,
используя ограниченный срок аренды таким образом, что адрес может быть
назначен другой системе, если владелец IP-адреса периодически не будет
возобновлять лицензию.
( Совет )
Большинство реализаций DHCP-серверов поддерживают все три типа задания
адресов, однако, обычно они не позволяют выбирать их по именам. Например,
в случае Microsoft DHCP Server функция динамического назначения устанавли-
600
Часть V. Сетевые службы соединений
вается по умолчанию. При необходимости задействовать автоматическое
назначение, потребуется изменить установочный параметр срока действия
лицензии (Lease Duration) для конкретного диапазона на неограниченный. Для
ручного назначения необходимо выполнить действие, называемое в
терминологии Microsoft-сервера бронированием (reservations).
Ручное назначение подходит для серверов Интернета и других машин,
которым требуются статические IP-адреса, поскольку они опираются на DNS-
систему разрешения имен для предоставления пользователям доступа к
своим ресурсам. Эта форма назначения адресов представляет собой не более
чем один из вариантов удаленного конфигурирования TCP/IP, так как
конечный результат ничем не отличается от того, который был бы получен,
если бы администратор сам вручную настроил TCP/IP-конфигурацию
клиента. Организациям, использующим DHCP для своих компьютеров, этот
метод можно рекомендовать в качестве вспомогательного средства взамен
назначения адресов вручную. Сведение всех IP-адресов в одну базу данных
существенно упрощает наблюдение над их распределением и уменьшает
вероятность дублирования адресов.
Автоматическое назначение полезно в случае стабильных сетей, состоящих из
одного сегмента, или таких многосегментных сетей, где машины, как правило
не перемещаются из одного сегмента в другой. Данный метод позволяет
снизить трафик вследствие отсутствия процедур возобновления лицензий на
адреса. Хотя в большинстве случаев сокращение объема трафика минимально.
Автоматическое назначение также не рекомендуется организациям,
работающим с ограниченным количеством зарегистрированных IP-адресов.
Будучи однажды сконфигурированным, динамическое назначение адресов
обеспечивает наибольшую гибкость с минимальным административным
вмешательством. DHCP-сервер задает IP-адреса системам в любой подсети и
автоматически отзывает неиспользуемые адреса для переопределения.
Устраняется также возможность совпадения IP-адресов в сети (до тех пор, пока
DHCP-сервер управляет конфигурацией всех систем).
Конфигурация клиента TCP/IP
Помимо распределения IP-адресов, DHCP также обеспечивает клиентов
значениями других параметров, необходимых для конфигурирования клиента
TCP/IP, включая маску подсети, адрес шлюза по умолчанию и адрес сервера
имен. Тем самым исчезает надобность любой ручной настройки TCP/IP-
составляющей клиентской системы. Например, Microsoft DHCP Server
поддерживает более 50 конфигурационных параметров, которые он может
доставить клиентской системе вместе с IP-адресом, несмотря на то, что Windows-
клиенты могут использовать всего 11 из них. Документ RFC 2132 под
названием "DHCP Options and BOOTP Vendor Extensions" определяет
исчерпывающий список параметров, которые должны поддерживать серверы, соответст-
Глава 18. Протокол DHCP
601
вующие стандарту, и большинство из ныне существующих серверных
продуктов DHCP близки к этому списку по набору возможностей. Многие из этих
параметров рассчитаны на специфические конфигурации систем и включены
в стандарт исключительно по настоянию разработчиков.
Архитектура DHCP
Архитектура системы DHCP предписана открытым стандартом,
опубликованным IETF в RFC 2131 под названием "Dynamic Host Configuration
Protocol" (Протокол динамической конфигурации хоста), и состоит из двух
основных компонентов:
П сервиса, назначающего клиентским системам конфигурационные
параметры TCP/IP;
П протокола, используемого для взаимодействия между клиентами и
серверами DHCP.
Документ определяет формат сообщения для протокола и
последовательность обмена сообщениями, происходящего между клиентом и сервером
DHCP.
Структура пакета DHCP
В ходе DHCP-коммуникаций применяются восемь различных типов
сообщений, имеющих общий формат пакета. Трафик DHCP переносится
стандартными UDP/IP-дейтаграммами через порт 67 сервера и порт 68 клиента
(аналогично ВООТР). Формат пакета показан на рис. 18.1. Поля пакета
описаны ниже.
П Код операции (Opcode), 1 байт. Указывает, является ли сообщение
запросом или ответом, используя следующие коды:
1 - BOOTREQUEST (запрос);
2 - BOOTREPLY (ответ).
П Тип аппаратного обеспечения (Hardware Type), 1 байт. Определяет тип
аппаратного адреса, указанного в поле аппаратного адреса клиента.
Соответствующие коды регламентируются ARP-разделом документа IETF под
названием "Assigned Numbers" (RFC 1700). В следующем далее списке
представлена некоторая часть из них:
1 — Ethernet (10МВ);
4 — Proteon ProNET Token Ring;
5 — Chaos;
6 — IEEE 802 Networks;
7 - ARCNET;
602
Часть V. Сетевые службы соединений
11 - LocalTalk;
14 - SMDS;
15 — Frame Relay;
16 — Asynchronous Transmission Mode (ATM);
17 - DLS;
18 — Fibre Channel;
19 — Asynchronous Transmission Mode (ATM);
20 — Serial Line;
21 — Asynchronous Transmission Mode (ATM).
□ Длина аппаратного адреса (Hardware Address Length), 1 байт. Задает размер
(в байтах) аппаратного адреса в поле аппаратного адреса клиента в
соответствии со значением поля типа аппаратного обеспечения (например, если в
поле типа аппаратного обеспечения содержится 1, что означает
аппаратный адрес Ethernet, значение длины адреса составит 6 байтов).
1234567812345678123456781234567
Код операции
Тип аппаратного Длина аппаратного
обеспечения | адреса
Количество
транзитов
Идентификатор транзакции
Количество секунд
Флаги
IP-адрес клиента
Ваш IP-адрес
IP-адрес сервера
IP-адрес шлюза
Аппаратные адреса клиента
Имя сервера
Имя загрузочного файла
Рис. 18.1. Все DHCP-сообщения имеют один и тот же базовый формат пакета
Опции
Глава 18. Протокол DHCP
603
П Количество транзитов (Hops), 1 байт. Определяет число сетевых
сегментов между клиентом и сервером. Клиент устанавливает значение 0 для
этого поля, а каждый агент ретрансляции сообщений DHCP увеличивает
его на 1 во время путешествия пакета к серверу.
П Идентификатор транзакции (Transaction ID), 4 байта. Содержит
идентификатор транзакции, который системы используют для связи
сообщений-запросов и сообщений-ответов в рамках одной DHCP-транзакции.
П Количество секунд (Seconds), 2 байта. Задает число секунд, прошедших с
момента назначения IP-адреса или последнего обновления лицензии на
него. Это позволяет системам различать сообщения одного типа,
отправленные в ходе той же DHCP-транзакции.
□ Флаги (Flags), 2 байта. Содержит флаг широковещания в качестве
первого бита, который, выставленный в 1, предписывает серверам DHCP и
агентам ретрансляции DHCP посылать широковещательные сообщения
для обращения к клиенту, вместо однонаправленных сообщений.
Остальные биты этого поля не используются и должны быть сброшены в 0.
□ IP-адрес клиента (Client IP Address), 4 байта. Задает IP-адрес клиента,
передающего сообщения DHCPREQUEST в связанном состоянии (bound
state), состоянии обновления (renewal state) или состоянии повторного
связывания (rebinding state). В иных случаях значение этого поля должно
быть равно 0.
П Ваш IP-адрес (Your IP Address), 4 байта. Содержит IP-адрес,
предлагаемый или уже назначенный сервером, в сообщениях DHCPOFFER и
DHCPACK соответственно. При всех других условиях поле обнуляется.
П IP-адрес сервера (Server IP Address), 4 байта. Определяет IP-адрес
следующего сервера в последовательности серверов начальной загрузки
(bootstrap sequence). Серверы включают эту информацию в сообщения
DHCPOFFER и DHCPACK, только если DHCP сконфигурирован для
отправки клиентам выполняемых загрузочных файлов, и
соответствующие файлы для различных клиентских платформ хранятся на разных
серверах.
□ IP-адрес шлюза (Gateway IP Address), 4 байта. Задает адрес агента-
ретранслятора DHCP, которому сервер должен посылать ответы в случае,
если клиент и сервер находятся в различных подсетях. Когда сервер и
клиент расположены в пределах одной подсети, это значение должно
быть равно 0.
П Аппаратный адрес клиента (Client Hardware Address), 16 байтов. Хранит
аппаратный адрес клиента в сообщениях DHCPDISCOVER и
DHCPREQUEST, используемых сервером для адресации своих
однонаправленных ответов клиенту. Формат аппаратного адреса задается
значениями полей типа аппаратного обеспечения и длины аппаратного адреса.
604
Часть V. Сетевые службы соединений
□ Имя сервера (Server Host Name), 64 байта. Содержит (не обязательно)
хост-имя сервера DHCP. Наиболее часто это поле задействуется для
хранения избыточных данных поля опций.
□ Имя загрузочного файла (Boot File Name), 128 байтов. Предназначено для
хранения имени выполняемого загрузочного файла для бездисковой
рабочей станции в сообщениях DHCPDISCOVER (в этом случае указывается
только имя файла без указания пути к нему) или сообщениях
DHCPOFFER (здесь задается уже полный путь к имени файла). Наиболее
часто поле используется для хранения избыточных данных поля опций.
□ Опции (Options), переменный размер (минимум 312 байтов). Содержит
"магический сигнал" (magic cookie), определяющий то, как должны
интерпретироваться данные остальных полей, а также опцию DHCP
Message Type (тип DHCP-сообщения), наряду с другими опциями. Все
они описаны в документе RFC 2132 и содержат данные по настройке
других параметров ТСР/1Р-клиента.
Опции DHCP
Формат DHCP-сообщения практически совпадает с форматом ВООТР-
сообщения, который описан в документе RFC 951. Основное различие
заключается в поле опций, которое заменило 64-байтное поле "vend" BOOTP-
сообщения. Поле опций DHCP-сообщения представляет собой контейнер,
разработанный для передачи всевозможных параметров (помимо IP-адреса),
необходимых для конфигурирования стека TCP/IP системы-клиента. Так
как сервер DHCP может быть сконфигурирован для доставки клиентским
системам очень многих различных опций, описание отдельных полей для
каждой опции было бы крайне непрактичным.
Magic Cookie
Поле опций всегда начинается с так называемого магического сигнала (magic
cookie), который информирует сервер о характере содержимого остальной
части полей сообщения. Magic Cookie представляет собой 4-байтное
подполе, включающее в себя значение в точечной десятичной нотации
99.130.83.99.
Формат опции DHCP
Индивидуальные опции в поле опций содержат различные типы и объемы
данных, но большинство из них используют одну и ту же базовую структуру,
которая состоит из трех подполей, как показано на рис. 18.2.
□ Код (1 байт). Конкретизирует функцию опции, как описано в документе
RFC 2132.
Глава 18. Протокол DHCP
605
П Длина (1 байт). Определяет длину поля данных, ассоциированного с
данной опцией, позволяя системам, которые не поддерживают конкретную
опцию, перейти сразу к следующей.
□ Данные (переменный размер). Непосредственно информация,
используемая клиентом различными способами, в зависимости от значения
подполя кода и типа сообщения.
Например, в опции Subnet Mask (Маска подсети) значение подполя кода
равно 1, значение подполя длины составляет 4, а подполе данных содержит
4-байтную маску, ассоциированную с IP-адресом, назначенным клиенту.
123456781 23456781234567812345678
Код
Длина
Данные ;
Рис. 18.2. Поле опций DHCP-сообщения содержит множество подструктур
для отдельных опций, каждая из которых состоит из трех подполей
Опция Message Type
Опция DHCP под названием Message Type (Тип сообщения)
идентифицирует суммарную функцию всего DHCP-сообщения и присутствует во всех
пакетах DHCP. Значения в подполях кода и длины для данной опции равны,
соответственно 53 и 1. Подполе данных размещает в себе один из кодов,
перечисленных ниже.
□ 1 — DHCPIDSCOVER. Используется DHCP-клиентами для обнаружения
сервера DHCP и запрашивания IP-адреса.
□ 2 — DHCPOFFER. Используется серверами для предложения IP-адресов
клиентам.
□ 3 — DHCPREQUEST. Используется клиентами DHCP для запроса
специфического IP-адреса или обновления времени аренды адреса.
□ 4 — DHCPDECLINE. Используется клиентами DHCP для отклонения
IP-адреса, предлагаемого сервером DHCP.
□ 5 — DHCPACK. Используется серверами DHCP для подтверждения
согласия клиента с предложенным IP-адресом.
□ 6 — DHCPNACK. Используется серверами DHCP для отклонения
согласия клиента с предложенным IP-адресом.
□ 7 — DHCPRELEASE. Используется клиентами DHCP для прекращения
аренды IP-адреса.
□ 8 — DHCPINFORM. Используется клиентами DHCP, уже получившими
IP-адреса, для запрашивания дополнительных конфигурационных
параметров.
606
Часть V. Сетевые службы соединений
Опция Pad
Опциональный элемент DHCP-сообщения Pad (заполнение) на самом деле
вовсе не опция, а заполнитель, применяемый для того, чтобы границы
полей проходили точно между октетами байтов. В отличие от остальных
опций, она не имеет подпол ей длины и данных и состоит только из поля кода
со значением 0.
Опция Option Overload
В силу того, что DHCP-сообщения переносятся дейтаграммами UDP,
пакеты ограничены по своему размеру 576 байтами, и включение в пакет
большого количества опций может превысить этот предел. Поскольку поля "Имя
сервера" и "Имя загрузочного файла" DHCP-сообщения являются наследием
протокола ВООТР и в настоящее время практически незначимы, стандарт
DHCP допускает использование этих полей для размещения информации
опций, не вмещающейся в стандартное поле опций.
Для сохранения таких опций в поле "Имя сервера" и/или "Имя
загрузочного файла", поле "Опции" пакета должно включать в себя код опции Option
Overload (Перегрузка опций), то есть значение 52 в подполе кода и значение
1 в подполе длины. Подполе данных определяет, в каком из
дополнительных полей содержатся избыточные опции, задействуя следующие коды:
□ 1 - добавленные опции расположены в поле "Имя загрузочного файла";
□ 2 — добавленные опции находятся в поле "Имя сервера";
□ 3 — поля "Имя загрузочного файла" и "Имя сервера" оба содержат
дополнительные опции.
Опция Vendor-specific Information
Данная опция сопоставлена стандартом с кодом 43, и предназначена для
служебного использования разработчиками с целью снабжения
информацией, требуемой для эксплуатации их продуктов. Опция Vendor-specific
Information (Зависящая от разработчика информация) может заключать в
себе множество опций, задействуемых продуктами данного разработчика.
Для идентификации разработчика продукта служит опция Vendor Class
Identifier (Идентификатор класса разработчика), имеющая значение поля
кода, равное 60 и переменную длину минимум в 1 байт.
Опция Vendor-specific Information может содержать инкапсулированные
опции, зависящие от разработчика, являющиеся по сути опциями внутри
опции. Структура инкапсулированных опций аналогична структуре
стандартных опций DHCP с их полями "Код", "Длина" и "Данные". Отличия
заключаются в том, что опция Magic Cookie (Магический сигнал) не
применяется, и присутствие опции End (Конец) (код 255) означает окончание
только вложенных опций, а не всего поля "Опции". Коды, устанавливаемые
Глава 18. Протокол DHCP
607
разработчиками, не определяются стандартом, так как их требуется
понимать только системам, использующим продукты данного разработчика.
Опция End
Опция End (Конец) сигнализирует об окончании поля опций. Любой байт,
размещенный в поле "Опции" после опции End, не может содержать ничего
кроме значения 0 (опция Pad). Как и опция Pad, данная опция состоит только
из 1-байтного поля кода со значением 255 и не имеет полей длины и данных.
Другие конфигурационные опции
Опции DHCP, описанные в документе RFC 2132, можно разделить на
несколько функциональных категорий, которые и обсуждаются в следующих
разделах. Каждая категория включает список из нескольких доступных
опций с указанием для них значений полей кода.
Расширенная разработчиками
ВООТР информация
Эти опции входят в стандарт DHCP в точном соответствии с документом
RFC 1497, предназначены для использования с ВООТР и включают многие
базовые параметры конфигурации TCP/IP, применяемые многими
клиентскими системами. Некоторые из них приведены ниже в качестве примера.
□ Pad (Заполнение (код 0)). См. "Опция Pad" выше в этой же главе.
□ End (Конец (код 255)). См. "Опция End" выше в этой же главе.
П Subnet Mask (Маска подсети (код 1)). Определяет, какие биты IP-адресов
задействуются для идентификации хост-системы, а какие биты входят в
идентификатор сети, где данная хост-система находится.
□ Router (Маршрутизатор (код 3)). Фиксирует IP-адрес маршрутизатора
(или шлюза по умолчанию) в локальном сегменте сети, который клиент
должен будет использовать для передачи информации системам других
сетевых сегментов.
□ Domain Name Server (Сервер имен доменов (код 6)). Задает IP-адреса
серверов, к которым клиент должен обращаться для разрешения имен DNS.
□ Host Name (Имя узла (код 12)). Определяет DNS-имя узла клиентской
системы.
□ Domain Name (Имя домена (код 15)). Назначает имя домена DNS, к
которому система-клиент будет относиться.
Параметры IP-уровня, зависящие от узла
Опции этого типа оказывают действие на суммарную функциональность
протокола IP системы-клиента.
608
Часть V. Сетевые службы соединений
О IP Forwarding Enable/Disable (Включить/выключить продвижение данных
IP (код 19)). Показывает, разрешено ли продвижение данных (то есть
маршрутизация) на клиентской системе.
□ Maximum Datagram Reassembly Size (Максимальный размер
восстановленных дейтаграмм (код 22)). Определяет максимальный размер дейтаграмм,
сборку которых должен осуществлять клиент.
□ Default IP Tlme-to-Live (Значение IP TTL по умолчанию (код 23)). Задает
значение поля времени жизни (Time-to-Live), которое клиенту следует
использовать в исходящих дейтаграммах.
Параметры IP-уровня, зависящие от интерфейса
Опции данной группы связаны с функциональностью взаимодействия по
протоколу IP индивидуальных сетевых интерфейсов системы-клиента. В
групповых (multihomed) системах (то есть системах, на которых установлен
более чем один сетевой интерфейс) данные опции могут иметь различные
значения для каждого из сетевых интерфейсов.
□ Interface MTU (Значение MTU для интерфейса (код 26)). Предписывает
величину максимального передаваемого блока данных (MTU) для
использования протоколом IP только на этом сетевом интерфейсе.
□ Broadcast Address (Широковещательный адрес (код 28)). Определяет
адрес, по которому следует посылать широковещательные сообщения
только для данного сетевого интерфейса.
□ Static Route (Статический маршрут (код 33)). Задает список статических
маршрутов, которые надлежит добавить в таблицу маршрутизации системы.
Параметры уровня сетевых интерфейсов
Эти опции затрагивают функциональность протоколов уровня сетевых
интерфейсов, специфическую для интерфейсов.
□ ARP Cache Timeout (Тайм-аут кэша ARP (код 35)). Определяет время, в
течение которого значения остаются в кэше протокола ARP данной системы.
□ Ethernet Encapsulation (Инкапсуляция Ethernet (код 36)). Уточняет тип
кадра Ethernet, который клиент будет задействовать во время передачи
трафика IP.
Параметры TCP
Данные опции касаются особенностей протокола TCP, специфических для
интерфейса.
□ TCP Default TTL (Значение TCP TTL no умолчанию (код 37)). Отражает
значение времени жизни (TTL), устанавливаемое клиентом для
исходящих ТСР-сегментов.
Глава 18. Протокол DHCP
609
П TCP Keepalive Interval (Интервал дежурного сигнала TCP (код 38)).
Определяет время, по прошествии которого клиент должен посылать
дежурный сигнал (keepalive) в ходе ТСР-соединения.
Параметры приложений и сервисов
Эти опции позволяют конфигурировать различные функции Прикладного
уровня.
О Network Information Service Domain (Домен сетевых информационных
служб (код 40)). Задает имя домена сетевых информационных служб
(NIS, Network Information Service), к которому принадлежит клиент.
Эквивалентная опция для NIS+ соответствует коду 64.
О Network Information Servers (Серверы сетевой информации (код 41)).
Назначает IP-адреса серверов NIS, которые будет использовать клиент.
Эквивалент для NIS+ соотносится со значением 65 в поле кода.
О Vendor-Specific Information (Зависящая от разработчика информация (код
43)). См. "Опция Vendor-Specific Information "выше в этой же главе.
□ NetBIOS over TCP/IP Name Server (Сервер имен NetBIOS поверх TCP/IP
(код 44)). Определяет IP-адреса серверов (обычно это WINS-серверы
Windows NT), нужные клиенту для разрешения имен NetBIOS.
□ NetBIOS over TCP/IP Node Type (Тип узла NetBIOS поверх TCP/IP (тип
46)). Задает механизмы разрешения имен NetBIOS, которые клиент будет
применять, а также порядок их использования.
□ Simple Mail Transport Protocol (SMTP) Server (Сервер SMTP (код 69)).
Указывает IP-адреса серверов SMTP, которые клиент будет использовать.
□ Post Office Protocol (РОРЗ) Server (Сервер РОРЗ (код 70)). Определяет
IP-адреса серверов POP для использования их клиентом.
□ Network News Transport Protocol (NNTP) Server (Сервер NNTP (код 71)).
Назначает IP-адреса серверов NNTP, которые клиент будет использовать.
Расширения DHCP
Данные опции служат для управления процессами переговоров о вьщаче
лицензии DHCP и ее обновлении, а также нужны для выполнения ряда
базовых задач, таких как идентификация функции DHCP-сообщения.
О Requested IP Address (Запрашиваемый IP-адрес (код 50)). Запрашиваемый
клиентом у сервера специфический IP-адрес.
О IP Address Lease Time (Срок аренды IP-адреса (код 51)). Устанавливает
срок действия лицензии на динамически назначаемый IP-адрес.
О Option Overload (Перегрузка опций (код 52)). См. "Опция Option Overload"
выше в этой же главе.
610
Часть V. Сетевые службы соединений
□ DHCP Message Туре (Тип сообщения DHCP (код 53)). См. "Опция Message
Туре"выше в этой же главе.
□ Server Identifier (Идентификатор сервера (код 54)). Задает IP-адрес
сервера, вовлеченного в процесс транзакции DHCP. Задействуется клиентами
для адресации однонаправленных сообщений серверу.
□ Parameter Request List (Список запрашиваемых параметров (код 55)).
Применяется клиентом для отправки списка необходимых
конфигурационных опций (идентифицируемых значениями кода) серверу.
□ Message (Сообщение (код 56)). Привлекается для посылки сообщений об
ошибках в сообщениях DHCPNAK сервера клиенту.
□ Renewal (Tl) time value (Время обновления лицензии (код 58)). Определяет
время, по прошествии которого клиент, имеющий лицензию на данный
IP-адрес, входит в состояние обновления аренды адреса (renewal state).
□ Rebinding (T2) time value (Время повторного связывания (код 59)). Задает
время, которое должно пройти, прежде чем клиент-владелец лицензии
данного IP-адреса входит в состояние повторного связывания (rebinding
state).
□ Vendor Class Identifier (Идентификатор класса разработчика (код 60)).
Идентифицирует разработчика и конфигурацию клиента. См. "Опция
Vendor-Specific Information"выше в этой же главе.
□ Client Identifier (Идентификатор клиента (код 61)). Уникальный
идентификатор клиента, доставляемый серверу с целью включения его в список
клиентских систем.
Обмен сообщениями DHCP
Если рабочая станция сконфигурирована для роли клиента DHCP, система
инициирует обмен сообщениями с сервером DHCP. Независимо от метода
назначения IP-адресов: ручного, автоматического или динамического,
первое взаимодействие клиента и сервера, приводящее к присвоению клиенту
IP-адреса, всегда одинаково.
Назначение IP-адреса
Весь процесс переговоров, касающийся закрепления IP-адреса,
проиллюстрирован на рис. 18.3. Однако, прежде чем начнется обмен сообщениями
между клиентом и сервером, возникает вопрос о том, как же клиент должен
обнаружить сервер и обмениваться с ним сообщениями, если его стек
TCP/IP до того не сконфигурирован. Клиент DHCP еще не имеет IP-адреса,
и можно сказать, что он находится в состоянии инициализации. В этом
состоянии, несмотря на то, что у рабочей станции нет собственного IP-адреса,
как нет информации о серверах сети, она все-таки может посылать
широковещательные сообщения.
Глава 18. Протокол DHCP
611
Нет
Сервер принимает
широковещательное
сообщение
Сервер передает
сообщение DHCPACK
Сервер передает
сообщение DHCPACK
/ Адрес \
[отклонен/транзакция L
^завершилась неудачей Г~
f Сервер передает \
Л сообщение |
""Л DHCPNAK/транзакция I
^завершилась неудачей/
Клиент передает
ш ироковещател ьное
сообщение
DHCPDISCOVER
/ Сообщение i
Нет ^[отбрасывается/транзакция
\ завершилась неудачей
Клиент передает
широковещательное
сообщение
DHCPREQUEST
[ Клиент связан
с адресом/транзакция I
^ успешна
Рис. 18.3. Процедура DHCP-переговоров об IP-адресе
Клиент начинает взаимодействие, отправляя серии широковещательных
сообщений типа DHCPDISCOVER. В этих пакетах опция DHCP Message Type
(Тип сообщения) имеет значение 1 в поле данных, а в поле Client Hardware
Address (Аппаратный адрес клиента) находится аппаратный адрес клиента,
как показано на рис. 18.4. В большинстве случаев это будет МАС-адрес,
зашитый в плату сетевого адаптера, идентифицируемого содержимым полей
Hardware Type (Тип аппаратного обеспечения) и Hardware Address Length
(Длина аппаратного адреса). Так как клиент еще не обладает собственным
612
Часть V. Сетевые службы соединений
IP-адресом, поле Source Address (Адрес источника) в IP-заголовке задано
значение 0.0.0.0. Сообщение может также содержать другие опции,
запрашивающие специфическую информацию у сервера, например, опцию
Requested IP Address (Запрашиваемый IP-адрес).
J^ Примечание ^Д
Поскольку базовый формат DHCP-сообщения аналогичен таковому у ВООТР,
программы-анализаторы протоколов интерпретируют трафик DHCP при
помощи тех же меток, что и для ВООТР, как показано в примерах пакетов,
изображенных на рис. 18.4—18.7.
♦ itfETHER-II: 00-60-97-В0-77-СА ==> FF-FF-FF-FF-FF-FF
- Т" Internet Protocol
_J Version(MSB 4 bits): 4
_5 Header length(LSB 4 bits): 5 (32-bit word)
+ _J Service type: Precd=Routine,Delay=Normal,Thrput=Normal,Reli=Norraal
_3 Total length: 576 (Octets)
^Fragment ID: 0
+ % Flags: May be fragmented,Last fragment,Offset = 0 (0x00)
__J Time to live: 32 seconds/hops
_3 IP protocol type: UDP (0x11)
_J Checksum: 0 x9 8AE
U IP address 0.0.0.0 ^BROADCAST
_3 No option
+ gj UDP:Bootp CIient->Bootp Server,Len=556
J OP Code: 1 (Request)
__3 Hardware Type: 1 (Ethernet)
_3 Hardware Address Length: 6
__3 Hops: 0
_J Transaction ID: 3405826816
_J Seconds: 15360
_3 Client IP Address: 0.0.0.0
J Your IP Address: 0.0.0.0
_J Server IP Address: 0.0.0.0
_J Gateway IP Address:0.0.0.0
_} Client Hardware Address: 006097B077CAOOOOOOOOOOOOOOOOOOOO
_3 Server Host Name
__3 Boot File Name
13 Code: DHCP Message Type, Length: 1, Type: Discover
13 Code: DHCP Client ID, Length: 7, 01006097B077CA
l3Code: Host Name, Length: 4, Name: CZ2
_3Code: End Option
_J Data 0000
_J 0010
_3 0020
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I zl
Рис. 18.4. Сообщение DHCPDISCOVER, зафиксированное сетевой
программой-анализатором
Каждый сервер, получивший пакет DHCPDISCOVER, отвечает клиенту
сообщением DHCPOFFER, которое содержит IP-адрес в поле Your IP Address
(Ваш IP-адрес). Это именно и есть адрес, предлагаемый сервером клиенту
для использования. То, каким образом сервер передает сообщение
DHCPOFFER клиенту: как широковещательное, либо как однонаправлен-
Глава 18. Протокол DHCP
613
ное, зависит от состояния флага Broadcast (Широковещание) в клиентском
сообщении DHCPDISCOVER (который, как заметит внимательный
читатель, не показан в примерах пакетов, приведенных здесь), а также от
возможностей сервера.
Сообщение также включает опции, задающие значения для других
параметров конфигурации TCP/IP, которые сервер назначает клиенту, наряду с
дополнительными опциями DHCP, как видно из рис. 18.5. В связи с тем, что
каждый сервер DHCP в сети функционирует независимо, клиент может
получить несколько сообщений DHCPOFFER с различными IP-адресами.
+ I^ETHER-II: 00-20-AF-37-B8-12 «-> 00-60-97-B0-77-CA
+ Т IP: 192.168.2.10~>192.168.2.22,ID-40705
+ j-fl UDP: Bootp Server~>Bootp Client,Ien-308
_3 0P Code: 2 (Reply)
,_3 Hardware Type: 1 (Ethernet)
_3 Hardware Address Length: 6
_3 Hops: 0
_J Transaction ID: 3982093657
<■ % Seconds: 0
_3 Client IP Address: 0.0.0.0
J Your IP Address: 192.168.2.22
_3 Server IP Address: 0.0.0.0
_J Gateway IP Address:0.0.0.0
J Client Hardware Address: 006097B077CA00000000000000000000
J Server Host Name
% Boot File Name
13 Code: DHCP Message Type, Length: 1, Type: Offer
13 Code: Subnet Mask, Length: 4 Address255.255.255.0
U Code: DHCP Renewal (Tl) Time, Length: 4, Value:129600
13 Code: DHCP Rebinding (T2) Time, Length: 4, Value:226800
13 Code: DHCP IP Address Lease Time, Length: 4, Value:259200
3Code: DHCP Server ID, Length: 4
_3 Address: 192.168.2.10
13 Code: Router, Length: 4
J} Address: 192.168.2.100
13 Code: Domain Name Server, Length: 8
_J Address: 199.224.86.15
J Address: 199.224.86.16
U)Code: NetBIOS Name Server, Length: 4
_3 Address: 192.168.2.10
U Code: NetBIOS over TCP/IP, Length: 1, Node Type:0x8 H-node
_3Code: End Option
_3 Data 0000: 00
^Calculate CRC: 0xfab71c9d
Рис. 18.5. Сообщение DHCPOFFER, которое сервер возвращает клиенту
^ Примечание j|
Если системы работают в качестве агентов-ретрансляторов DHCP (или
ВООТР) для одного сетевого сегмента, то эти системы-ретрансляторы
перенаправляют широковещательные сообщения и в другие сегменты сети,
результатом чего являются дополнительные сообщения DHCPOFFER от серверов
удаленных сетей. Эти добавленные сообщения возвращаются клиенту также через
614
Часть V. Сетевые службы соединений
агенты-ретрансляторы. Более подробно упомянутый процесс описан в разделе
"Агенты-ретрансляторы" далее в этой главе.
Через заранее обговоренный интервал времени клиент прекращает
широковещательные посылки сообщения DHCPDISCOVER и выбирает одно из
предложений, полученных им в сообщениях DHCPOFFER. Если клиент не
принял ни одного сообщения DHCPOFFER, он повторно осуществляет
широковещательную передачу и по истечении времени возбуждает сообщение
об ошибке. Никакие другие обмены сообщениями TCP/IP невозможны,
пока машина находится в таком состоянии.
Когда клиент принимает один из IP-адресов, предложенных сервером, он
создает сообщение DHCPREQUEST, содержащее имя выбранного сервера в
опции Server Identifier (Идентификатор сервера) и предоставляемый им IP-
адрес (извлеченный из поля Your IP Address соответствующего сообщения
DHCPOFFER) в опции Requested IP Address (рис. 18.6). Клиент также
привлекает опцию DHCP Parameter Request List (Список запрашиваемых
параметров) для запроса у сервера дополнительных параметров.
>ETHER-II: 00-60-97-В0-77-СА ==> FF-FF-FF-FF-FF-FF
;1Р: 0.0.0.0-BROADCAST,ID=256
JUDP: Bootp Client->Bootp Server,Len=556
OP Code: 1 (Request)
Hardware Type: 1 (Ethernet)
Hardware Address Length: 6
Hops: 0
Transaction ID: 3540046592
Seconds: 15360
Client IP Address: 0.0.0.0
Your IP Address: 0.0.0.0
Server IP Address: 0.0.0.0
Gateway IP Address:0.0.0.0
Client Hardware Address
Server Host Name
Boot File Name
DHCP Message Type, Length:
DHCP Client ID, Length: 7,
DHCP Requested IP Address,
Address: 192.168.2.22
DHCP Server ID, Length: 4
Address: 192.168.2.10
Host Name, Length: 4, Name
iCode:
\ Code:
\ Code:
k Code:
\ Code
\ Code
\ Code
I Code
\ Data 0000
\ 0010
006097B077CA00000000000000000000
1, Type: Request
01006097B077CA
Length: 4
CZ2
Length: 5, Option List03062C2E2F
4, Octet37020000
DHCP Parameter Request List,
Vendor Specific Info, Length
End Option
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I
d
Рис. 18.6. Сообщение DHCPREQUEST, отправляемое клиентом серверу
для принятия предложенного им IP-адреса
Клиент передает сообщение DHCPREQUEST в качестве
широковещательного, так как оно не только информирует выбранный сервер о том, что клиент
Глава 18. Протокол DHCP
615
принял его предложение, но также дает понять остальным серверам, что их
предложения отклонены. Сообщение должно иметь такое же значение поля
Seconds (Количество секунд) и использовать тот же широковещательный
адрес, что и сообщение DHCPDISCOVER, отправленное ранее. Так делается
для того, чтобы сообщение DHCPREQUEST обязательно достигло всех
серверов, приславших сообщения DHCPOFFER, даже если они находятся в других
сетевых сегментах и прибегали к помощи агентов-ретрансляторов DHCP.
Когда сервер формулирует сообщение DHCPOFFER, IP-адрес,
предоставляемый им, еще не выделен исключительно данному клиенту. Если
отмечается нехватка адресов, или клиент длительное время не отвечает, сервер
может предложить этот IP-адрес другому клиенту. Когда сервер получает
сообщение DHCPREQUEST, свидетельствующее о том, что его IP-адрес
принят, он вырабатывает либо сообщение DHCPACK, демонстрирующее,
что процедура назначения IP-адреса завершена (рис. 18.7), либо сообщение
DHCPNACK, оповещающее, что предлагавшийся им ранее IP-адрес более
недоступен.
I^ETHER-II: 00-20-AF-37-B8-12 ==> 00-60-97-В0-77-СА
Т IP: 192.168.2.10->192.168.2.22,ID=40961
5$ UDP: Bootp Server->Bootp Client,Len=308
_J0P Code: 2 (Reply)
_J) Hardware Type: 1 (Ethernet)
"• ||3 Hardware Address Length: 6
\ |p Hops: 0
|3 Transaction ID: 3982093657
■Ш& Seconds: 0
Ц) CIient IP Address: 0.0.0.0
Ц Your IP Address: 192.168.2.22
Q Server IP Address: 0.0.0.0
Ц} Gateway IP Address:0.0.0.0
A| Client Hardware Address: OO6O97B077CAOO00000OO0O0O00000O0
J|5 Server Host Name
||| Boot File Name
QCode: DHCP Message Type, Length: 1, Type: Ack
||Code: DHCP Renewal (Tl) Time, Length: 4, Value: 129600
||Code: DHCP Rebinding (T2) Time, Length: 4, Value:226800
t|p Code: DHCP IP Address Lease Time, Length: 4, Value: 259200
|P Code: DHCP Server ID, Length: 4
■ф Address: 192.168.2.10
fpCode: Subnet Mask, Length: 4 Address255 . 255 . 255 . 0
|pCode: Router, Length: 4
||5 Address: 192.168.2.100
■?Щ Code: Domain Name Server, Length: 8
Ш Address: 199.224.86.15
|| Address: 199.224.86.16
fpCode: NetBIOS Name Server, Length: 4
■Щ Address: 192.168.2.10
tpCode: NetBIOS over TCP/IP, Length: 1, Node Type: 0x8 H-node
fijCode: End Option
||5 Data 0000: 00
Щ Calculate CRC: 0хЬ86Ь5951
Рис. 18.7. Сообщение DHCPACK, подтверждающее, что сервер закрепил
предлагавшийся IP-адрес за клиентом
616
Часть V. Сетевые службы соединений
Сообщение DHCPACK содержит все опции, запрошенные клиентом в
сообщении DHCPREQUEST, и так же, как сообщение DHCPOFFER, может
передаваться в качестве широковещательной или однонаправленной
передачи, в зависимости от значения флага Broadcast в клиентском сообщении.
Когда сервер формирует сообщение DHCPACK, он также создает строку в
своей базе данных, состоящую из предложенного клиенту IP-адреса и
аппаратного адреса клиента. Эта комбинация адресов с данного момента и до
окончания времени действия лицензии на IP-адрес будет служить
уникальным идентификатором данного клиента и называться идентификационной
информацией лицензии (lease identification cookie). Если сервер посылает
клиенту сообщение DHCPNACK, весь процесс DHCP-транзакции аннулируется,
и клиент должен начинать его сначала, генерируя новые сообщения
DHCPDISCOVER.
В качестве первого теста свеженазначенного IP-адреса клиент может (но
вовсе не обязан) задействовать протокол ARP для того, чтобы убедиться, что
ни одна из других систем сети не использует IP-адрес, которым его снабдил
сервер. Если адрес все-таки повторяется, клиент отправляет серверу
сообщение DHCPDECLINE, аннулируя транзакцию. Если адрес не дублируется,
процесс назначения IP-адреса считается законченным и клиент переходит в
связанное состояние (bound state).
Сообщение DHCPINFORM
Кроме поддержки новых типов сообщений стандарт DHCP позволяет
клиентам запрашивать параметры конфигурации TCP/IP без назначения IP-
адреса. Когда сервер получает от клиента сообщение DHCPINFORM, он
создает сообщение DHCPACK, содержащее необходимые клиенту опции, но
без включения опций, связанных со временем действия лицензии, или IP-
адреса в поле "Ваш IP-адрес". Это подразумевает, что клиент уже имеет
вручную присвоенный IP-адрес и не нуждается в его регулярном обновлении
или других поддерживающих мероприятиях, кроме первоначального задания
параметров.
Наиболее важная область применения сообщения DHCPINFORM — это
конфигурирование самих серверов DHCP, поскольку они обычно не могут
использовать IP-адреса, назначенные DHCP. Сервер должен иметь
настроенный вручную IP-адрес, но администраторы могут применять сообщения
DHCPINFORM для задания значений других параметров конфигурации
TCP/IP. Это устраняет потребность в ручной настройке любого из
параметров TCP/IP систем-клиентов, кроме IP-адреса.
Обновление лицензии
Когда сервер сконфигурирован для ручного или автоматического
назначения IP-адресов, контакт с клиентом не повторяется, если только (или до тех
Глава 18. Протокол DHCP
617
пор, пока) клиент не предпримет ручное освобождение данного IP-адреса
(release). В случае динамического назначения IP-адресов сообщения
DHCPOFFER, посылаемые клиенту, содержат опции, определяющие
условия соглашения об аренде адреса. Эти опции включают IP Address Lease
Time (срок аренды IP-адреса), Renewal (Tl) time value (значение времени
обновления лицензии) и Rebinding (T2) time value (значение времени
повторного связывания).
Данные временные значения поступают клиенту выраженными в секундах и
не содержат показаний конкретных часов (для учета возможных
расхождений во времени системных часов клиента и сервера). Администраторы могут
устанавливать указанные величины в процессе конфигурации сервера
DHCP. Например, для сервера DHCP фирмы Microsoft значение по
умолчанию параметра IP Address Lease Time (срок аренды IP-адреса) задано
равным трем дням. Renewal (Tl) time value (значение времени обновления
лицензии) по умолчанию составляет 50% от срока действия лицензии (то есть
IP Address Lease Time), a Rebinding (T2) time value (значение времени
повторного связывания) по умолчанию соответствует 87,5% от той же величины.
Поскольку опция IP Address Lease Time использует 4-байтное подполе данных
для хранения количества секунд, максимально возможное значение срока
аренды приблизительно равно 136 годам. Шестнадцатеричное число Oxffiffiff
(или двоичное число из 32 единичных битов) означает бесконечность.
Как только клиентская система с арендованным IP-адресом входит в
связанное состояние, ее контакты с DHCP-сервером прекращаются до следующей
перезагрузки клиента или до истечения интервала времени Т1. В этот момент
инициируется DHCP-транзакция по обновлению лицензии на IP-адрес, как
показано на рис. 18.8.
По истечении срока, заданного параметром Renewal (Tl) time value, клиент
переходит в состояние обновления (renewing state) и начинает передавать
сообщения DHCPREQUEST серверу, назначившему ему данный IP-адрес.
Сообщения DHCPREQUEST содержат идентификационную информацию
клиента и посылаются серверу в качестве однонаправленной передачи (в
отличие от сообщений DHCPREQUEST, вырабатываемых во время
начальных переговоров о выдаче лицензии на адрес, которые являются
широковещательными).
Если сервер получает указанное сообщение и имеет возможность продления
аренды лицензии на данный IP-адрес, он отвечает сообщением DHCPACK, и
клиент возвращается в связанное состояние с тем же значением срока
действия лицензии (IP Address Lease Time). Никаких дополнительных
коммуникаций с сервером не требуется до следующего события обновления лицензии.
Если же сервер не может возобновить лицензию на данный IP-адрес, он
посылает сообщение DHCPNACK, которое аннулирует лицензию, а также
прекращает транзакцию. После этого клиент должен начать процедуру пе-
618
Часть V. Сетевые службы соединений
реговоров о получении лицензии на IP-адрес заново с отправки новой
последовательности широковещательных сообщений DHCPDISCOVER.
Нет
Сервер передает
сообщение
DHCPNACK/лицензия
ликвидируется
( Срок действия лицензии
истек/транзакция
у закончилась неудачей J
ии |
Клиент достигает
времени Т1 /переходит
в состояние обновления
лицензии
Клиент передает
однонаправленное
сообщение
DHCPREQUEST
связывающему серверу
Сервер передает \
сообщение ]
DHCPNACK/транзакция J
успешна У
Клиент достигает времени
T2/ переходит в состояние
обновления лицензии
Клиент посылает
широковещательное
сообщение
DHCPREQUEST
любому серверу
Рис. 18-8- DHCP-процедура возобновления лицензии на IP-адрес
[^ Примечание ^
Практически такой же обмен сообщениями происходит при каждой
перезагрузке DHCP-клиента, с тем отличием, что клиент остается в связанном состоянии.
Как правило, сервер отвечает сообщением DHCPNACK только в том случае,
если система-клиент переместилась в другую подсеть и требует IP-адреса с
Глава 18, Протокол DHCP
619
другим идентификатором сети. Если сервер не высылает вообще никаких
сообщений даже после повторных передач клиент продолжает использовать
старый IP-адрес, пока не истечет время Т1, вслед за чем осуществляется обычная
процедура восстановления лицензии.
Когда клиент не получает ответа от сервера на однонаправленное
сообщение DHCPREQUEST, он передает это сообщение повторно через
интервалы, равные половине промежутка между текущим временем и моментом
истечения времени Т2.
Таким образом, если значение по умолчанию опции IP Address Lease Time
для сервера DHCP фирмы Microsoft не изменено, то продолжительность
лицензии на IP-адрес составит 72 часа (три дня), время Т1 будет равно 36
часам (50 процентов от 72), а время Т2 — 63 часам (87,5 процентов от 72).
Клиент пошлет серверу сообщение DHCPREQUEST через 36 часов от
момента назначения адреса (время Т1) и проведет повторную передачу через
49,5 часов (половина времени, остающегося до Т2), затем через 55,75 часов
(снова половина времени, остающегося до Т2), затем через 59,375 часов, и
так далее до достижения временной отметки Т2.
Как только время Т2 истекает, клиент переходит в состояние повторного
связывания (rebinding state) и начинает отправку широковещательных
сообщений DHCPREQUEST с целью получить лицензию на IP-адрес у какого-
либо доступного DHCP-сервера. Клиент снова ожидает от сервера
сообщений DHCPACK или DHCPNACK в ответ на свои запросы. Если серверы не
откликаются, клиент продолжает передачу, пока не истечет половина
оставшегося срока действия лицензии. В случае, если ответы так и не
получены, а лицензия потеряла силу, клиент освобождает IP-адрес и возвращается
в первичное состояние. Он не может более посылать никаких TCP/IP-
сообщений, кроме широковещательных сообщений DHCPDISCOVER.
Освобождение адреса
Находясь в связанном состоянии (bound state), клиент DHCP вправе
отказаться от владения данным IP-адресом (как арендованным, так и
постоянным), передав серверу сообщение DHCPRELEASE в рамках
однонаправленной передачи, содержащее идентификационную информацию лицензии
клиента. Оно возвращает самого клиента в несвязанное состояние (unbound
state), при котором невозможен обмен какими бы то ни было сообщениями
TCP/IP, кроме рассылки широковещательных пакетов DHCPDISCOVER, a
также заставляет сервер поместить данный IP-адрес обратно в пул" для
повторного назначения. Чаще всего подобное освобождение адреса происходит
только в том случае, если пользователь или рабочая станция-клиент явно
запрашивают его, используя такие утилиты, как Ipconfig.exe для Windows NT
или Winipcfg.exe при работе под управлением Windows 9x.
620
Часть V. Сетевые службы соединений
Агенты-ретрансляторы
Вследствие того, что DHCP-транзакция во многом опирается на
широковещательные сообщения, по крайней мере, со стороны клиента, может
создаться впечатление, что в целях обеспечения возможности взаимодействия
клиент DHCP и сервер DHCP должны находиться в пределах одного
сетевого сегмента. Если бы это соответствовало действительности, DHCP нельзя
было бы назвать практичным решением для коммерческих сетей. Решение
этой проблемы DHCP позаимствовал у своего предшественника —
протокола ВООТР, и так же, как ВООТР, поддерживает включение между
клиентами и серверами агентов-рентрансляторов. Фактически DHCP использует
агентов-ретрансляторов ВООТР в точном соответствии со стандартом,
описанным в документе RFC 1542 под названием "Clarifications Extensions for the
Bootstrap Protocol".
Агентом-ретранслятором DHCP (relay agent) (или агентом-ретранслятором
ВООТР, эти термины взаимозаменяемы) называется модуль, установленный в
рабочую станцию или маршрутизатор конкретного сетевого сегмента, который
позволяет проводить обслуживание данного сегмента сети серверу DHCP,
находящемуся в удаленном сетевом сегменте. Агент-ретранслятор работает,
прослушивая порт UDP с номером 67 с целью выявления широковещательных
DHCP-сообщений, передаваемых клиентами локального сетевого сегмента.
Обычно и рабочая станция и маршрутизатор такие сообщения игнорируют,
так как те не содержат имеющего смысл IP-адреса отправителя, но, как и
сервер DHCP, агенты-ретрансляторы сконфигурированы со способностью
восприятия IP-адреса отправителя со значением 0.0.0.0.
Когда агент-ретранслятор получает подобное DHCP-сообщение, он
вставляет свой собственный IP-адрес в его поле Gateway IP Address (IP-адрес
шлюза), увеличивает значение поля Hops (Количество транзитов) и отправляет
пакеты серверу DHCP, расположенному в другом сетевом сегменте. В
зависимости от местонахождения агента-ретранслятора эта передача сообщений
может принимать две формы. В случае агента-ретранслятора, встроенного в
маршрутизатор, устройство может иметь возможность разослать полученное
DHCP-сообщение в качестве широковещательного через сетевые интерфейсы,
отличные от того, через который оно прибыло. Агент-ретранслятор,
установленный на рабочей станции, в обязательном порядке посылает данное
сообщение серверу DHCP другого сегмента как однонаправленную передачу.
На пути к серверу DHCP пакет может пройти более одного
агента-ретранслятора. При этом агент-ретранслятор вставляет свой собственный IP-
адрес в поле Gateway IP Address DHCP-сообщения, только если его значение
равно 0. В дополнение, агент-ретранслятор должен безмолвно отбрасывать все
DHCP-сообщения со значениями в поле Hops, большими 16 (кроме случаев
сознательного увеличения их администратором). Соблюдение этого условия
не позволяет DHCP-сообщениям бесконечно циркулировать по сети.
Глава 18. Протокол DHCP
621
Когда сервер DHCP получает сообщения от агента-ретранслятора, он
обрабатывает их обычным образом, но передает обратно по адресу, указанному в
поле Gateway IP Address, а не клиенту непосредственно. После чего агент-
ретранслятор использует широковещание, либо однонаправленную передачу
(в зависимости от состояния флага Broadcast) для отправки ответа клиенту.
Для того чтобы вся сеть могла обслуживаться DHCP, каждый сетевой
сегмент должен содержать либо сервер DHCP, либо агент-ретранслятор DHCP.
Большинство маршрутизаторов, предлагаемых на рынке в настоящее время,
имеют встроенный агент-ретранслятор, но для тех, у кого эта возможность
не поддержана, серверные версии Windows NT 4.0 и Windows 2000 также
предусматривают сервис, реализующий функции агента-ретранслятора.
Реализации DHCP
Большинство современных операционных систем могут функционировать в
качестве клиентов DHCP, а также широко доступны серверы DHCP для
самых разных платформ. Фирма Novell включила сервер DHCP в такие свои
продукты, как NetWare 4.2, intraNetWare и NetWare 5, существуют версии
DHCP-продуктов для различных вариантов UNIX, в том числе Linux.
Однако наиболее популярным решением остается сервер DHCP фирмы Microsoft.
Большинство DHCP-продуктов соответствуют стандартам IETF, хотя важно
отметить, что некоторые реализации DHCP поддерживают более старый
вариант стандарта DHCP (RFC 1541). Последняя версия данного стандарта —
RFC 2131 — была опубликована в марте 1997 г. Наиболее важные
изменения, вошедшие в нее, перечислены ниже.
□ Включение нового типа DHCP-сообщений, DHCPINFORM, которое
клиенты, уже имеющие IP-адрес, могут использовать для запроса у
сервера других параметров их локальной конфигурации.
□ Добавление опций, зависящих от разработчика, позволяющих серверу
DHCP обеспечивать клиентов нестандартизованной информацией,
основанной на идентификаторах классов разработчиков.
Принимая решение о том, какой именно сервер DHCP следует
задействовать в конкретной сети, можно легко обнаружить, что, хотя основные
функции и аналогичны у большинства реализаций сервера DHCP, опции,
поддерживаемые каждым из них, могут сильно отличаться. Конечно, все
серверы DHCP обязательно предоставляют совокупность базовых параметров,
необходимых TCP/IP-клиентам, например, опции Subnet Mask (Маска
подсети), Router (Маршрутизатор) или Domain Name Server (Сервер имен
доменов), но поддержка других опций может быть ограничена. Некоторые
продукты также могут включать нестандартизованные средства,
предназначенные специфическим клиентам. Например, сервер DHCP фирмы Novell
обеспечивает опции для поддержки ее собственных NetWare/IP-клиентов.
622
Часть V. Сетевые службы соединений
Если в одной сети функционирует несколько клиентов DHCP, проще всего
составить список параметров, необходимых для каждого клиента, и
попытаться найти сервер DHCP, который отвечал бы всем поставленным
требованиям и мог бы удовлетворить нужды каждого клиента. Смешивание
серверов DHCP от разных производителей в одной интерсети также возможно,
но в силу применения клиентами широковещания для передачи своих
сообщений DHCPDISCOVER, никогда нельзя точно предсказать, какой из
серверов будет производить конфигурирование конкретного клиента.
Microsoft DHCP Server
Сервер DHCP фирмы Microsoft входит в серверные версии операционных
систем Windows NT 4.0 и Windows 2000. Хотя он был разработан для
совместной эксплуатации с клиентами операционных систем Microsoft, DHCP-сервер
Microsoft обеспечивает все возможности, определенные стандартами DHCP,
многие из которых не используются клиентами Microsoft. Сервер DHCP,
включенный в Windows NT 4.0, соответствует стандартам, описанным в
документах RFC 1533, 1534, 1541 и 1542 ввиду того, что сама операционная
система была выпущена в 1996 г., еще до публикации RFC 2131 и 2132. Версия
сервера DHCP для Windows 2000 поддерживает все новейшие стандарты.
Создание диапазонов
DHCP-сервер Microsoft позволяет создавать диапазон IP-адресов,
называемый областью действия (scope), для каждой подсети в пределах сети, и
задавать срок продолжительности лицензии для каждого диапазона по
отдельности (рис. 18.9). Когда клиент из другой подсети запрашивает IP-адрес у
сервера, прибегая для этого к помощи агента-ретранслятора, сервер
использует информацию, добавленную к сообщению агентом-ретранслятором, для
назначения IP-адреса, соответствующего подсети, в которой находится клиент.
Сервер также позволяет настраивать параметры, которые будут доставляться
клиентам вместе с каждым IP-адресом. Можно назначить значения опций
для каждого диапазона отдельно, глобальные опции, которые будут
соотноситься со всеми диапазонами, а также опции по умолчанию.
Одна из наиболее стойких проблем, связанных с DHCP, заключается в
отсутствии какой-либо связи между серверами. Каждый сервер
функционирует независимо и назначает IP-адреса из одного общего пула, совместно
принадлежащего множеству серверов, что может приводить к появлению
компьютеров с повторяющимися IP-адресами. В связи с этим, если,
например, планируется использовать два сервера DHCP для закрепления IP-
адресов из интервала от 192.168.10.100 до 192.168.10.200, то их традиционно
принято делить на две области действия, по одной для каждого сервера.
Когда один сервер выйдет из строя, адреса, присваиваемые этим сервером,
Глава 18. Протокол DHCP
623
станут недоступными для обновления лицензий или повторного назначения,
пока администратор вручную не произведет изменения диапазона
работоспособного сервера.
IP Address Pool
ш
. Start Address: | Ш .188. 2 .20
'EndAddress: | 192.168. 2 . 40
; Subnet Mask | 255.255.255. 0
Exclusion Range:
i Sjart Address: |
Ejid Address: |
- i
-" - ■>'.
.
* <-Remoye;
Excluded Addresses:
J
Lease Duration -
Г Unlimited
<* Limited To: (T~|Day(s) [5o|Hour(s) [5o| Minutes
Nairje: j
Comment:
OK
Cancel
Help
Рис. 18.9. Microsoft DHCP-сервер позволяет исключать набор
адресов из диапазона, также как и изменять срок действия лицензии
Сервер DHCP фирмы Microsoft предоставляет возможность выделять
множество групп адресов, исключаемых из данного диапазона. При
использовании двух или более серверов DHCP в пределах одной подсети фирма
Microsoft из соображений отказоустойчивости рекомендует создать по
идентичной области действия для каждого сервера каждой подсети, а затем
предоставить всем серверам различные наборы адресов в соотношении 80/20.
Таким образом, для рассматриваемого примера оба сервера должны быть
снабжены при их конфигурировании диапазоном адресов от 192.168.10.100
до 192.168.10.200, но у одного из них должны быть изъяты адреса в
интервале от 192.168.10.181 до 192.168.10.200, а у другого исключить следует адреса
от 192.168.10.100 до 192.168.10.180. Такая тактика позволяет администратору
намного проще изменять конфигурацию путем задействования
исключенных областей, если один из серверов станет недоступен.
С другой стороны, после выхода Service Pack 3 for Windows NT 4.0
появилось альтернативное решение данной проблемы. Стандарт DHCP гласит,
что система-клиент DHCP может сгенерировать дополнительный запрос по
протоколу ARP для того, чтобы выяснить, не используется ли только что
назначенный ей IP-адрес другим компьютером сети. Если адрес дублирует-
624
Часть V. Сетевые службы соединений
ся, клиент DHCP отправляет серверу сообщение DHCPDECLINE,
аннулирующее всю DHCP-транзакцию. В предположении, что все клиенты будут
поступать именно таким образом, станет возможным задавать всем серверам
DHCP тождественные диапазоны IP-адресов, не опасаясь получить в
результате одинаковые конфигурации IP-клиентов сети. Некоторые клиенты
DHCP (в особенности клиенты для Windows 95 и 98) не используют этот
дополнительный ARP-тест.
В Service Pack 3 for Windows NT 4.0 и более поздних продуктах для
Windows NT 4.0 (как и Windows 2000) предложенная концепция получила
дальнейшее развитие. Начиная с этих релизов, сервер DHCP снабжен
механизмом обнаружения конфликтов (conflict detection), который вырабатывает
ICMP-сообщения типа Echo (pings) для проверки того, что данный IP-адрес
никем не используется, еще до назначения его клиенту. Такой подход даже
лучше, чем ARP-тест со стороны клиента, поскольку он происходит на
более ранней стадии процесса переговоров о выдаче лицензии на IP-адрес, что
позволяет сберечь как время, так и сетевой трафик. Разрешив обнаружение
конфликтов всем серверам DHCP в сети, можно смело задавать им
одинаковые диапазоны IP-адресов, а единственной отрицательной стороной этого
будет увеличение сообщений об ошибках типа Bad Address (неправильный
адрес) в журналах регистрации событий серверов.
General ] ВООТР ТаЫе ]
DHCP Logging - - ~
, DHCP Logging allows the DHCP server to log its activities into a text file
j each day. These files can be used for trouble shooting. The files are
j named DhcpSrvLog.Mon, DhcpSrvLogJue. DhcpSrvLog.Wed, etc.
Conflict Detection
Conflict Detection Attempts: [o
~3
Before an IP address is allocated, the DHCP server can test whether
the IP address is already in use by Pinging to the address and waiting
for responses.
OK
Cancel
Help
Рис. 18.10. Диалоговое окно Server Properties позволяет
настраивать сервер DHCP фирмы Microsoft для обнаружения
конфликтов адресов с помощью рассылки определенного
количества сообщений ping по каждому IP-адресу, прежде
чем назначить его клиенту
Для включения механизма обнаружения конфликтов нужно выделить
пиктограмму сервера в окне DHCP Manager (DHCP администратор) и выбрать
Глава 18. Протокол DHCP
625
пункт Properties (Свойства) из меню Server (Сервер) для того, чтобы войти в
диалоговое окно, показанное на рис. 18.10. В нем можно задать число
попыток, которые сервер будет предпринимать для тестирования каждого IP-
адреса перед его назначением. В серверной версии Windows 2000 управлять
попытками обнаружения конфликтов (Conflict Detection Attempts) можно со
страницы Advanced (Расширенные функции) диалогового окна Server
Properties (Свойства сервера).
Передачи сервера клиенту
По умолчанию сервер DHCP фирмы Microsoft, входящий в Windows NT 4.0,
игнорирует состояние флага Broadcast (Широковещание) в сообщениях
DHCPDISCOVER и других сообщениях, передаваемых клиентом, и все его
ответы являются широковещательными. Это значительно увеличивает
суммарный объем сетевого трафика, вырабатываемого процессом назначения
IP-адресов.
Предыдущие версии Windows NT оставляли этот процесс совершенно без
всякого контроля, но Windows NT 4.0 предусматривает поддержку элемента
системного реестра, вынуждающего сервер задействовать флаг Broadcast для того,
чтобы определять, каким образом сервер будет передавать свои ответы DHCP-
клиентам. Соответствующий элемент реестра называется IgnoreBroadcastFlag,
и определять его нужно в следующем ключе системного реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DHCPserver\
Parameters
Элемент IgnoreBroadcastFlag имеет значение типа REG_DWORD, и может
принимать одно из следующих состояний:
□ 0 — DHCP-сообщения сервера соответствуют состоянию флага Broadcast
в предшествующих сообщениях клиента;
□ 1 — все DHCP-сообщения сервера посылаются как широковещательные.
Клиентские утилиты Microsoft
Клиенты DHCP Microsoft допускают минимум контроля со своей стороны,
в основном в связи с тем, что большего от них и не требуется. Для
нормальной работы клиента достаточно простого разрешения на применение
DHCP вместо ручного конфигурирования стека TCP/IP. Несмотря на это,
операционные системы в обязательном порядке содержат утилиты, позво*
ляющие просматривать текущие настройки TCP/IP, назначенные клиенту
сервером DHCP, а также вручную обновлять текущую IP-конфигурацию.
Microsoft Client 3.0 для MS-DOS, Windows for Workgroups (с установленным
TCP/IP-32), Windows NT и Windows 2000 включает утилиту под названием
626
Часть V. Сетевые службы соединений
Ipconfig.exe, запускаемую из командной строки. Формат командной строки
для Ipconfig.exe и назначение ключей приведены ниже.
Ipconfig [/all] [/release {adaptername}] [/renew {adaptername}]
□ /all — выводит полный список TCP/IP-параметров для всех
интерфейсов, установленных в данной системе.
□ /release {adaptername} — аннулирует лицензию DHCP для конкрет-
ного адаптера, установленного в системе, или, если не указано имя
адаптера (adaptername), для всех адаптеров данной системы.
□ /renew {adaptername} — инициирует процедуру DHCP-переговоров об
аренде IP-адреса для конкретного адаптера, установленного в системе,
или, если не задано имя адаптера (adaptername), для всех адаптеров
данной системы.
Запустив Ipconfig.exe из командной строки без ключей, можно просмотреть
список основных параметров TCP/IP-конфигурации клиента.
Использование параметра /ail позволяет получить их более детальный перечень.
Windows NT IP Configuration
Host Name : czl
DNS Servers : 199.224.86.15
199.224.86.16
Node Type : Hybrid
NetBIOS Scope ID :
IP Routing Enabled : No
WINS Proxy Enabled : No
NetBIOS Resolution Uses DNS : Yes
Ethernet Adapter Elnk31:
Description : ELNK3 Ethernet Adapter
Physical Address : 00-20-AF-37-B8-12
DHCP Enabled : Yes
IP Address : 192.168.2.10
Subnet Mask : 255.255.255.0
Default Gateway : 192.168.2.100
Primary WINS Server . . . . : 192.168.2.10
Lease Obtained : Friday, June 25,. 1999 4:32:59 PM
Lease Expires : Monday, June 28, 1999 4:32:59 PM
Из этого перечня можно видеть имена сетевых адаптеров, которые
допустимо задействовать при манипуляциях с клиентом DHCP, применяя
параметры командной строки /release И /renew.
Windows 95 и Windows 98 включают версию данной утилиты с графическим
пользовательским интерфейсом под названием Winipcfg.exe. Запуск данной
Глава 18. Протокол DHCP
627
программы из диалогового окна Run (Выполнить) приводит к появлению
диалогового окна, показанного на рис. 18.11. Его кнопки имеют то же
назначение, что и ключи командной строки утилиты Ipconfig.exe.
IP Configuration
Host Information ~
Host Name:
DNS Servers
Node Type [
NetBIOS Scope Id \
IP Routing Enabled;
NetBIOS Resolution Uses DNS J
Ethernet Adapter Information
m
cz2.zacker.com
199.224.86.15 ^J
Hybrid
WINS Proxy Enabled ■
| ELNK3 Ethernet Adapter
Adapter Address \ 00-60-97-B077CA
IP Address j 192.168.222
Subnet Mask! 255.255.255.0
Default Gateway \ " " 19Z168.2.100
DHCP Server! 192168.2.10 "
Primary WINS Server j' 192.168.2.10
Secondary WINS Serverf
zl
Lease Obtained
Lease Expires
06 27 99 4:14:11PM
06 30 99 4:14:11 PM
"OK"
Release
Renew Release All Renew All
Рис. 18.11. Winipcfg.exe
предоставляет те же функции, что
и ipconfig.exe, используя
графический интерфейс
Поддержка опций клиентами
Хотя сервер Microsoft DHCP и поддерживает все опции, указанные в IETF-
стандартах, это совершенно не означает, что клиенты DHCP операционных
систем Microsoft также обеспечивают их в полном объеме. Практически
клиенты могут поддерживать только небольшую часть доступных опций,
даже если они могут найти достойное применение и остальным. В
дополнение к параметрам DHCP, необходимым для контроля процесса DHCP-
переговоров об аренде IP-адреса, в список опций, поддерживаемых
клиентами DHCP в составе Microsoft Client 3.0 для MS-DOS, Windows for
Workgroups (с установленным TCP/IP-32), Windows 95, Windows 98 и
Windows NT, входят следующие:
□ Subnet Mask (Маска подсети);
□ Router (Маршрутизатор);
□ Domain Name Server (Сервер имен доменов);
□ Domain Name (Имя домена);
628
Часть V. Сетевые службы соединений
П NetBIOS over TCP/IP Name Server (Сервер имен NetBIOS поверх TCP/IP);
□ NetBIOS over TCP/IP Node Type (Тип узла NetBIOS поверх TCP/IP);
□ NetBIOS over TCP/IP Scope (Диапазон NetBIOS поверх TCP/IP).
Клиент Windows 2000 также предоставляет все указанные опции, и
дополнительно информацию, зависящую от разработчика, используя
идентификаторы классов разработчика и клиента.
^ Примечание ^
Для получения более подробной информации о поддержке DHCP в
Windows 2000 см. раздел "Windows 2000 u DHCP" далее в этой же главе.
Время действия лицензии DHCP
Единожды сконфигурированные, серверы DHCP не нуждаются или почти
не нуждаются в наблюдении за их работой. В зависимости от степени
обновляемое™ сети и числа доступных IP-адресов, администраторы могут
изменять время действия лицензии DHCP, что позволяет свести к минимуму
сетевой трафик, создаваемый при обмене сообщениями DHCP. В
незарегистрированной сети TCP/IP не может возникнуть нехватки IP-адресов,
поэтому продолжительность лицензии для нее может быть без всяких
последствий увеличена с той целью, чтобы сделать процедуры обновления
лицензий менее частыми.
Увеличение ёрока действия лицензии с 3 дней, заданных по умолчанию, до
30 дней позволит системе непрерывно работать 15 суток, прежде чем
появится необходимость возобновления лицензии на IP-адрес. Если же какие-
либо IP-адреса сохранятся выделенными несколько лишних недель, после
того как компьютер был перемещен в другую подсеть, ничего страшного не
произойдет.
В сети, использующей зарегистрированные IP-адреса, количество которых,
ко всему прочему, ограничено, имеет смысл уменьшить длительность
аренды IP-адреса, чтобы не допускать "простоя" IP-адресов в течение
длительного времени. Напротив, в случае стабильной сети (в данном случае это сеть,
где компьютеры очень редко перемещаются) может оказаться более
удобным вовсе отменить ограничение срока действия лицензии DHCP.
^ Примечание ^
Если пользователи сети всегда выключают компьютеры в конце рабочего дня,
лицензии будут обновляться каждый раз при повторном их включении. Важно
запомнить, что процесс обновления лицензии происходит во время старта
системы, а никак не во время подключения к сети. Простое отключение системы от
сети по окончании работы не приводит к запуску процесса обновления
лицензии при следующем подключении к сети.
Глава 18. Протокол DHCP
629
Переназначение сервера DHCP
Если в какой-либо момент потребуется использовать другой компьютер под
управлением Windows NT в качестве сервера DHCP, существует
возможность переноса данных и конфигурационных установок старого сервера
DHCP на другую систему без прерывания процесса обслуживания клиентов.
Для назначения другой системы на роль DHCP-сервера потребуется
переместить файлы базы данных DHCP, а также элементы системного реестра,
управляющие операциями сервера DHCP.
База данных DHCP находится в каталоге \%SystemRoot%\System32\dhcp
сервера, что по умолчанию соответствует C:\Winnt\System32\dhcp. После
установки сервиса Microsoft DHCP Service на новой машине необходимо
остановить выполнение сервиса на обоих компьютерах (используя Services Control
Panel) и скопировать все содержимое указанного каталога старого сервера
DHCP (включая все подкаталоги) в одноименный каталог нового сервера.
Затем нужно запустить программу Regedit.exe для экспорта всех элементов
следующего ключа системного реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DHCPserver\
Configuration
Как только создан соответствующий файл сценария (с расширением reg),
содержащий данные установки, его следует импортировать на новый сервер
DHCP двойным щелчком кнопки мыши на имени файла в Проводнике
Windows NT (либо выполнить команду File (Файл) в меню Import Registry
Key (Импорт ключа реестра)). После этого можно стартовать сервис на
новой системе, и с этого момента, а также в дальнейшем, клиентов будет
обслуживать уже новый сервер DHCP.
Нельзя позволять сервису DHCP вновь запускаться в старой системе, иначе в
сети могут появиться клиенты с повторяющимися IP-адресами. Для этого
следует изменить настройку Startup Type сервиса Microsoft DHCP Service,
используя Services Control Panel с целью предотвращения автоматического старта
сервиса при загрузке сервера, то есть деактивировать диапазоны адресов,
продублированные на новом сервере, или назначить различные диапазоны IP-
адресов каждому из серверов.
Обслуживание DHCP
Распределение IP-адресов посредством DHCP в крупной сети представляет
собой процесс, очень интенсивно использующий ресурсы жестких дисков.
Это особенно заметно в сетях, где большое количество пользователей
одновременно включают свои компьютеры в одно и то же время каждый день.
630
Часть V. Сетевые службы соединений
Персональные компьютеры, которым уготована роль серверов DHCP,
должны выбираться с особым вниманием в плане эффективности работы с
дисками. Применение высокоскоростных дисков, RAID-массивов и подобных
им технологий представляется неплохим решением.
Другой удачной идеей будет сжатие базы данных сервера DHCP на
регулярной основе с целью поддержания максимальной его производительности.
Windows NT включает утилиту командной строки под названием Jetpack.exe,
позволяющую создавать командный файл, который будет выполнять сжатие.
Этот файл можно обычным образом с требуемой частотой исполнять
вручную из командной строки, или же использовать AT scheduler (планировщик)
для автоматизации процесса. Командный файл, осуществляющий сжатие
базы данных DHCP, будет иметь следующий вид:
cd %SystemRoot%\System32\dhcp
net stop dhcpserver
jetpack Dhcp.mdb Tmp.mdb
net start dhcpserver
( Совет )
Тот же файл, запущенный из каталога \%SystemRoot%\System32\wins с именем
файла базы данных Wins.mdb, будет аналогично производить сжатие базы
данных WINS.
Программа Jetpack.exe считывает первое имя файла из командной строки и
сжимает соответствующий файл базы данных, сохраняя результат в файле,
имя которого указано вторым. По окончании процесса программа удаляет
исходный файл базы данных и присваивает оригинальное имя новой, уже
сжатой версии.
При выполнении сжатия базы данных программа Jetpack.exe создает
временный файл под названием Temp.mdb. Это имя файла не следует указывать в
командной строке, а перед запуском Jetpack.exe следует обязательно
убедиться, что в каталоге базы данных нет файла с таким же именем.
Windows 2000 и DHCP
Сервер DHCP, входящий в состав серверной версии операционной системы
Windows 2000, содержит ряд новых возможностей, которых лишена версия
для Windows NT 4.0. Теперь сервер соответствует новейшим стандартам
DHCP, описанным в документах RFC 2131 и 2132, а также примечателен
своей поддержкой принципиально новых стандартов, например,
определяющих взаимодействие DHCP с динамической DNS (dynamic DNS) или
связь серверов DHCP между собой.
Глава 18. Протокол DHCP
631
DHCP и DNS
Версия сервера Microsoft DHCP из Windows NT 4.0 может
взаимодействовать с DNS, дополняя базу данных WINS адресами IP по мере их
назначения. В операционной системе Windows 2000 функциональность WINS в
основном обеспечивается DNS, однако информация в базы данных серверов
DNS традиционно должна заноситься только вручную. Тем не менее, DNS-
сервер Microsoft, входящий в серверную версию Windows 2000,
поддерживает динамическое обновление базы данных DNS, процедуру которого
описывает документ RFC 2136.
Благодаря применению этой технологии для сервера DHCP стало также
возможным обновление записей типа address (А) и pointer (PTR) DNS-
сервера новыми IP-адресами по мере их выделения. Черновой стандарт,
определяющий данное взаимодействие, требует наличия новой опции DHCP
(полю кода которой присвоено значение 81), позволяющей клиенту
указывать полное имя своего домена серверу DHCP. Это качество также
позволяет серверу DHCP Windows 2000 функционировать в качестве прокси-сервера
для клиентов, которые сами не практикуют динамическое обновление базы
данных DNS, например, клиентов, работающих в среде Windows 9x или
Windows NT 4.0.
^ Примечание j[
Для взаимодействие между DHCP и DNS необходимо, чтобы все DNS-серверы
сети поддерживали динамическое обновление базы данных DNS. Данное
условие делает указанную технологию подходящей только для Windows-сетей,
использующих только DNS-серверы Microsoft, но никак не для Интернета с его
изобилием различных DNS-серверов. Применение DHCP для присвоения IP-
адресов Web-серверам и другим системам, к которым предполагается доступ
через Интернет, может приводить к периодическим изменениям их IP-адресов.
Эти изменения могут немедленно отражаться в базе данных локального DNS-
сервера, но для распространения информации о них по Интернету
по-прежнему будут требоваться часы или дни.
Сверхдиапазоны
DHCP-сервер Windows 2000 также включает и другую новую отличительную
особенность, называемую сверхдиапазонами (superscope), которая позволяет
решить проблему, возникающую при разделении IP-адресов, назначенных
для конкретной подсети, между двумя серверами DHCP. Эта возможность
предоставляется из соображений отказоустойчивости. Например, при
делении 100 IP-адресов на два изолированных диапазона (scope) клиент,
находящийся в состоянии повторного связывания (то есть тот, который достиг
временной отметки Т2), и передающий широковещательные сообщения
DHCPREQUEST с целью продления срока действия лицензии на свой IP-
адрес, может получить сообщение DHCPNACK от сервера, в чей диапазон
632
Часть V. Сетевые службы соединений
адрес этого клиента не входит. Данное сообщение аннулирует лицензию и
инициирует новые переговоры об аренде IP-адреса. Такое может произойти
даже если изначально обоим серверам выделены идентичные диапазоны, из
которых после исключены общие адреса, как рекомендовано в разделе
"Создание диапазонов"ранее в этой же главе.
(~Совет )
Деактивирование диапазона также заставляет сервер выдавать сообщения
DHCPNACK, когда клиент пытается обновить лицензию на IP-адрес. Если
планируется временное изъятие некоторых адресов из распределения, то
исключение одного или нескольких наборов адресов из активного диапазона будет
более подходящим решением, нежели деактивирование всего диапазона.
Тем не менее, появление подобных сообщений DHCPNACK можно
предотвратить, если использовать Windows 2000 для запуска DHCP-серверов и
создать superscope (сверхдиапазон) на обоих серверах, включающий полный
набор IP-адресов для подсети (в том числе и исключенных). Поскольку оба
сервера теперь имеют информацию обо всех адресах, предназначенных для
назначения в подсети (даже тех, которые присваиваются другим сервером),
они имеют возможность определить, какой адрес заслуживает сообщения
DHCPNACK, а какой нет.
Новые опции DHCP
Реализация DHCP в Windows 2000 дополнительно поддерживает как
задаваемые разработчиками опции, так и конфигурации TCP/IP, основанные на
классах пользователей. Зависящие от разработчика опции (Vendor-specific options)
описаны в документе RFC 2132 и по сути представляют собой метод,
позволяющий заинтересованным клиентам использовать конфигурационную
информацию, специфичную для данного продукта, без необходимости
проводить новые опции через процесс стандартизации. Например, сервер DHCP в
Windows 2000 определяет класс разработчика (vendor class) для клиентов
Microsoft, который включает три опции.
□ Microsoft Disable NetBIOS option. Запрещает клиенту поддержку
NetBIOS.
□ Microsoft Release DHCP Lease on Shutdown option. Заставляет клиента
освобождать IP-адрес при каждом выключении.
□ Microsoft Default Router Metric Base. Задает размер по умолчанию,
используемый для новых записей в таблице маршрутизации клиента.
Указанные опции полезны только клиентам DHCP от Microsoft, поэтому,
вместо того, чтобы тратить время и усилия для их включения в стандарт
DHCP, сервер поставляет эти опции только тем клиентам, которые
идентифицируют себя как системы Microsoft с соответствующим значением идеи-
Глава 18, Протокол DHCP
633
тификатора класса разработчика (Vendor Class Identifier). Сами опции
доставляются в качестве подопций (suboption) в рамках опции Vendor-Specific
Options.
Другой метод, используемый Windows 2000 для обеспечения клиентов
специфическими конфигурационными установками, заключается в
задействовании классов пользователей. Класс пользователя (user class) представляет
собой категорию пользователей, определенную администратором, которая
ассоциирована с набором конкретных опций и их значений. В прошлом
серверы DHCP относились ко всем клиентам одинаково, и каждая система
заданной подсети получала вместе с IP-адресом только один и тот же
фиксированный набор опций. С привлечением классов пользователей появилась
возможность поставлять различные опции или различные их значения
любым системам, основываясь на произвольных критериях. Если, например,
требуется сбалансировать трафик между двумя DNS-серверами,
генерируемый клиентами, можно создать два отдельных класса пользователя, снабдив
каждый из них разными значениями опции Domain Name Server.
Сообщение DHCPINFORM
Windows 2000 поддерживает новый тип DHCP-сообщения DHCPINFORM,
который определяется стандартом RFC 2131 и позволяет обеспечивать
клиентов параметрами конфигурации без предоставления IP-адреса. Windows 2000
также использует этот тип сообщения для связи между Серверами DHCP в
целях подтверждения того, что деятельность всех серверов DHCP данной
сети авторизована.
Windows 2000 включает специальный тип объектов (DhcpServer) в Active
Directory, который может быть задействован для регистрации серверов DHCP,
работающих в сети и авторизации их деятельности. Когда бы ни стартовал
сервис DHCP на машине с Windows 2000, он всегда посылает
широковещательные сообщения DHCPINFORM, проводя поиск в сети других серверов
DHCP. Эти другие серверы посылают в ответ сообщения DHCPACK,
содержащие их дескриптор DS enterprise root в поле опции Vendor-Specific
Options. Начинающий работу сервер составляет список серверов DHCP
сети, которые все должны иметь одинаковое значение дескриптора DS
enterprise root. Сервер также запрашивает у службы каталогов перечень
компьютеров, авторизованных для работы в качестве серверов DHCP. Только
пока его собственный адрес сохраняется в списке авторизованных серверов,
конкретный сервер DHCP будет продолжать обслуживание клиентов сети.
Если же сервер не обнаружит свой адрес в этом списке, процесс
инициализации сервиса DHCP просто не сможет осуществиться.
Глава 19
WINS и разрешение
имен NetBIOS
Windows Internet Naming Service (WINS, служба имен Интернета для Windows)
представляет собой NetBIOS Name Server (NBNS, сервер имен NetBIOS),
определенный стандартами, опубликованными IETF в документах RFC 1001
и RFC 1002. Эти стандарты описывают использование сетей типа TCP/IP
поверх NetBIOS, называемых для краткости NetBT. Серверные версии
Windows NT и Windows 2000 включают WINS для регистрации имен
NetBIOS компьютеров сети и разрешения этих имен в эквивалентные IP-
адреса. Использование WINS позволяет значительно снизить
широковещательный трафик сети и упростить администрирование Windows-сетей,
включающих множество сегментов.
Имена NetBIOS
Сети Windows используют имена компьютеров (имена NetBIOS) для
уникальной идентификации каждой машины в сети. При просмотре Сетевого
окружения в Windows-системе имена доменов, рабочих групп или
компьютеров представляют собой фактически именно имена NetBIOS.
Пространство имен NetBIOS является плоским (не иерархическим), а это означает, что
каждое имя может использоваться в сети только один раз. Пространство
имен NetBIOS также допускает только имена длиной до 16 символов,
последний из которых Windows-системы применяют для формирования
идентификатора ресурса, описывающего функцию системы, практически
оставляя только 15 символов на имя, назначаемое во время установки.
Например, когда система использует диск или каталог совместно с другим
компьютером сети, его имя NetBIOS состоит из имени компьютера,
назначенного в процессе установки операционной системы, плюс необходимое
количество пробелов для доведения длины имени до 15 символов (если
требуется), за которыми следует идентификатор ресурса. В данном случае,
идентификатор ресурса имеет шестнадцатеричное значение 20,
свидетельствуя о том, что система функционирует в качестве файлового сервера.
Возможные значения идентификаторов ресурса имени NetBIOS показаны в
табл. 19.1.
Глава 19. WINS и разрешение имен NetBIOS
635
Таблица 19.1. Идентификаторы ресурса Windows NetBIOS (коды 16-го символа)
Имя ресурса Идентификатор ре- Тип ресурса Функция
сурса (шестнадцате-
ричное значение)
computername
computemame
\\--_MSBROUSE_
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
computername
00
01
01
03
06
1F
20
21
22
23
24
30
31
43
44
45
46
4C
52
87
6A
BE
BF
U (Уникальный)
U (Уникальный)
G (Групповой)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
U (Уникальный)
Workstation Service
Messenger Service
Master Browser
Messenger Service
RAS Server Service
NetDDE Service
File Server Service
RAS Client Service
Microsoft Exchange
lnterchange(MSMail
Connector)
Microsoft Exchange Store
Microsoft Exchange
Directory
Modem Sharing Server
Service
Modem Sharing Client
Service
SMS Clients Remote Control
SMS Administrators
Remote Control
SMS Clients Remote Chat
SMS Clients Remote
Transfer
DEC Pathworks TCP/IP
Service on Windows NT
DEC Pathworks TCP/IP
Service on Windows NT
Microsoft Exchange MTA
Microsoft Exchange IMC
Network Monitoring Agent
Network Monitor
Application
636
Часть V. Сетевые службы соединений
Таблица 19.1 (окончание)
Имя ресурса
username
domain
domain
domain
domain
domain
INet~Services
IS~computername
computemame
IRISMULTICAST
IRISNAMESERVER
Forte_$ND800ZA
Идентификатор
ресурса (шестнадцате-
ричное значение)
03
00
1В
1С
1D
1Е
1С
00
[2В]
[2F]
[33]
[20]
Тип ресурса
U (Уникальный)
G(Групповой)
U (Уникальный)
G(Групповой)
U (Уникальный)
G (Групповой)
G (Групповой)
U (Уникальный)
U (Уникальный)
G (Групповой)
G (Групповой)
U (Уникальный)
Функция
Messenger Service
Domain Name
Domain Master Browser
Domain Controllers
Master Browser
Browser Service Elections
IIS
IIS
Lotus Notes Server Service
Lotus Notes
Lotus Notes
DC A IrmaLan Gateway
Server Service
Когда Windows-системы общаются между собой с использованием
протокола NetBEUI на Сетевом и Транспортном уровнях, они используют именно
имена NetBIOS для определения аппаратного адреса, по которому следует
направлять пакеты. Однако для обмена сообщениями по протоколу TCP/IP
системе необходимо знать IP-адрес предполагаемого места назначения.
Процесс превращения имени в соответствующий адрес известен как
разрешение имени (name resolution), Windows-системы в сети TCP/IP проводят
разрешение имен NetBIOS с использованием поисковой таблицы, где
перечислены имена компьютеров сети и соответствующие им IP-адреса.
L "р"
мечание
DNS-серверы также выполняют разрешение имен, с той лишь разницей, что
они хранят соответствие DNS-имен компьютеров и их IP-адресов, а не имена
NetBIOS. Для получения более подробной информации о DNS см. главу 20.
Имена NetBIOS должны быть уникальными в пределах сети, чтобы трафик
каждый раз отправлялся нужной машине. Чтобы убедиться, что никакие
два компьютера сети не имеют одинаковых имен NetBIOS, системы на
базе Windows используют механизм регистрации имен для выявления
повторяющихся имен NetBIOS при каждом подключении к сети. Механизм
регистрации имен (name registration mechanism) — это способ, с помощью
Глава 19. WINS и разрешение имен NetBIOS
637
которого система составляет поисковую таблицу, используемую ей для
разрешения имен.
Стандарты NetBT описывают обмен сообщениями, используемый
системами в процессе деятельности по регистрации и разрешению имен, а также
форматы самих сообщений.
Системы на базе операционных систем Windows могут использовать три
различных механизма как при регистрации имен, так и в процессе их
разрешения. Эти механизмы перечислены ниже.
□ LMHOSTS. Создаваемый вручную текстовый файл, содержащий имена
NetBIOS и соответствующие им IP-адреса.
□ Широковещательные сообщения. Процесс, в ходе которого системы
рассылают широковещательные сообщения всему сетевому сегменту с
расчетом на ответы от других систем с информацией об именах NetBIOS.
□ WINS. Сервис, работающий на сервере Windows NT, обслуживающий
динамическую базу данных об именах NetBIOS и IP-адресах.
В следующих разделах рассматриваются преимущества и недостатки этих
методов, а также поясняется, почему WINS в большинстве случаев
представляется наилучшим решением как для регистрации имен, так и для их
разрешения.
Методы регистрации имен
Во время регистрации имени система "запрашивает" собственное имя
NetBIOS для применения ею самой, а также в некоторых случаях не
позволяет другим системам получать такое же имя. Иногда имя также добавляется
к поисковой таблице, которая будет использоваться системами для
разрешения имен.
Регистрация имен LMHOSTS
LMHOSTS представляет собой обычный текстовый файл, содержащий
имена NetBIOS систем сети и их IP-адреса, точно так же, как файл HOSTS
хранит DNS-имена в TCP/IP-системах. Из-за того, что файл необходимо
создавать вручную, регистрация имени происходит, когда пользователь или
администратор редактируют данный файл и вносят в него имя NetBIOS
системы и ее IP-адрес.
Единственный механизм, предотвращающий существование повторяющихся
имен NetBIOS, при использовании файла LMHOSTS заключается в том, что
системы просматривают файл сверху вниз и считывают первую же строку,
где находят требуемое имя NetBIOS. Все остальные строки файла
игнорируются.
638
Часть V. Сетевые службы соединений
Регистрация имен с использованием
широковещательных сообщений
При использовании широковещательного метода TCP/IP-система передает
по локальной сети серии широковещательных сообщений, содержащих имя
NetBIOS, назначенное компьютеру в процессе установки операционной
системы. Эти сообщения NAME REGISTRATION REQUEST (запрос
регистрации имени) переносятся пакетами UDP (User Datagram Protocol,
протокол передачи дейтаграмм пользователя), которые используют формат,
определенный стандартами NetBT. Система повторяет посылку
широковещательных сообщений три раза с интервалами в 250 мс.
Все компьютеры локальной сети, получающие широковещательные
сообщения, должны отвечать на них, только если используют такое же имя
NetBIOS, что и система, пославшая подобное сообщение. Если дело обстоит
именно так, компьютер с повторяющимся именем передает сообщение
NEGATIVE NAME REGISTRATION RESPONSE (отрицательный ответ на
регистрацию имени) отправителю широковещательных сообщений в виде
ответа, используя однонаправленную передачу. Если это происходит,
регистрация имени не удается и система запрашивает у пользователя новое
NetBIOS-имя. Это предотвращает существование любых повторяющихся
NetBIOS-имен в пределах одного сетевого сегмента.
Если же система не получает ответов на свои широковещательные
сообщения NAME REGISTRATION REQUEST, она проводит сообщение NAME
OVERWRITE DEMAND (требование перезаписи имени), которое
декларирует, что данное NetBIOS-имя принадлежит этой системе. Ответы на
сообщения этого типа не ожидаются, так как они представляют собой
недвусмысленные заявления о текущем состоянии. Полная схема процесса
регистрации имен с применением широковещательных сообщений приведена
на рис. 19.1.
Строго говоря, с широковещательным методом не ассоциировано никакой
поисковой таблицы. С другой стороны, каждая Windows-система сети имеет
свой собственный кэш имен NetBIOS, где временно хранятся имена
NetBIOS и соответствующие им IP-адреса, что позволяет предотвратить
повторные процедуры разрешения имен.
В силу того, что широковещательные сообщения распространяются только в
пределах домена коллизий, откуда они происходят, этот метод не делает
ничего, чтобы предотвратить существование в других сегментах сети систем с
повторяющимися именами NetBIOS. Кроме того, в правильно
сконфигурированной сети (то есть сети, не содержащей машин с повторяющимися
именами NetBIOS) широковещательные сообщения, связанные с
регистрацией имен, генерируют слишком большое количество сетевого трафика без
какого-либо полезного эффекта.
Глава 19. WINS и разрешение имен NetBIOS
639
п
Система начинает
работу и пытается
зарегистрировать
свое имя NetBIOS
Name
Registration
Request
(широковещательный
запрос
регистрации имени)
Name Overwrite
Demand
(широковещательное
требование
перезаписи
т
т/ Имя^Ч
^v совпадает?/
./TV
Да
Negative Name
Registration
Response
(отрицательный
ответ на запрос
регистрации имени)!
С
Регистрация имени
прошла успешно
Регистрация имени
завершилась неудачей
Negative Name
Registration
Response
(отрицательный ответ
на запрос
регистрации имени)!
Рис. 19.1. Система может успешно зарегистрировать свое имя NetBIOS
с применением широковещательных сообщений, только если ни одна
из систем данного сетевого сегмента не будет использовать такое же имя
Регистрация имен WINS
Когда система, сконфигурированная для использования WINS, подключается
к сети, она также создает сообщение NAME REGISTRATION REQUEST, но
вместо того, чтобы проводить его широковещательную посылку по всей сети,
эта система отправляет его непосредственно серверу WINS, чей адрес указан в
конфигурации TCP/IP ее клиента, используя при этом порт UDP номер 137.
Различия между самими сообщениями сводятся к разным значениям
нескольких полей (см. разд. "Форматы сообщений NetBT" далее в этой главе).
Сервер WINS содержит базу данных имен NetBIOS, назначенных другим
системам сети, вместе с их IP-адресами. Получив однонаправленное
сообщение NAME REGISTRATION REQUEST, сервер выясняет, не
зарегистрировано ли имя NetBIOS, указанное в запросе, какой-либо другой системой.
Если имя не используется, сервер WINS добавляет его в свою базу данных и
640
Часть V. Сетевые службы соединений
посылает сообщение POSITIVE NAME REGISTRATION RESPONSE
(положительный ответ регистрации имени) отправителю исходного запроса. Это
сообщение содержит значение времени жизни (TTL, time to live), которое
определяет, как долго регистрация имени будет оставаться в базе данных без
необходимости ее обновления со стороны клиента. Это позволяет
предотвратить сохранение имени NetBIOS у системы, которая больше не работает.
Вызовы имен WINS
Если сервер WINS уже имеет запрашиваемое имя NetBIOS в своей базе
данных, он начинает процедуру вызова имени (name challenge). Она
проводится для того, чтобы убедиться, что имя, фигурирующее в запросе,
действительно используется. Если, например, компьютер был физически
перемещен в другое место, он может войти в другую подсеть, которая
предоставит ему другой IP-адрес. Однако с точки зрения WINS, его имя NetBIOS
продолжает использоваться первоначальным IP-адресом. Вызов имени
определяет, применяет ли в действительности это имя система, для которой
оно было зарегистрировано. В данном примере, поскольку
зарегистрированная система более не существует по старому IP-адресу, она не ответит на
вызов имени, и имя будет освобождено.
Процесс вызова имени начинается, когда сервер WINS передает серию
однонаправленных сообщений NAME QUERY REQUEST (запрос имени) по
IP-адресу системы, зарегистрировавшей использование данного имени
NetBIOS. Если система по-прежнему пользуется этим именем, она отвечает
серверу сообщением POSITIVE NAME QUERY RESPONSE
(положительный ответ на запрос имени). После этого сервер передает сообщение
NEGATIVE NAME REGISTRATION RESPONSE первоначальному клиенту,
отказывая ему в регистрации предлагаемого им имени NetBIOS, что
заставляет его выбрать другое имя.
Если уже зарегистрированный клиент не отвечает на сообщение сервера
NAME QUERY REQUEST, сервер повторяет его передачу три раза с
интервалами в 500 мс. Если за это время ответ не приходит совсем или же
зарегистрированный клиент отвечает сообщением NEGATIVE NAME QUERY
RESPONSE (отрицательный ответ на запрос имени), показывая, что он
более не использует данное имя, сервер удаляет запись о регистрации имени
NetBIOS старого клиента из своей базы данных и присваивает это имя
новой клиентской системе. Процессы регистрации имен и вызова имен WINS
проиллюстрированы на рис. 19.2.
Регистрация имен WINS представляет собой значительное улучшение по
сравнению с широковещательным методом, так как все обмены
информацией имеют форму однонаправленных сообщений, а не широковещательных.
Это сводит к минимуму объем сетевого трафика, создаваемого процессом
регистрации имени. Кроме того, из-за применения однонаправленных со-
Глава 19. WINS и разрешение имен NetBIOS
641
общений WINS может обеспечивать регистрацию имен всего сетевого
комплекса, а не только одного сегмента сети.
Система начинает
работу и пытается
зарегистрировать
свое имя NetBIOS
Name Query
Request (запрос
относительно
имени)
п
Система - держатель имени
<:
Регистрация имени
прошла успешно
Positive Name
Registration
Response
(положительный
ответ на
регистрацию
имени)
<—
Negative Name
Query Response
(отрицательный
ответ на запрос
имени)
Да
/регистрация имени J\
^завершилась неудачей\Н—
Negative Name
Registration
Response
(отрицательный
ответ на регистрацию
Positive Name
Query Response
(положительный
ответ на запрос
имени)
Рис. 19.2. Когда сервер WINS получает запрос на регистрацию
имени NetBIOS, которое уже используется, сервер проверяет
владельца имени, чтобы подтвердить его статус
Обновление имен WINS
По умолчанию, интервал TTL, назначаемый при каждой регистрации имени
WINS, составляет шесть дней, хотя администраторы сети могут
модифицировать это значение. TTL-часы каждой машины автоматически приводятся к
значению интервала TTL по умолчанию, каждый раз, когда она
подключается к сети. Когда система остается подключенной к сети непрерывно в
течение половины интервала TTL (по умолчанию три дня), она пытается
заново выполнить регистрацию имени.
642 Часть V. Сетевые службы соединений
Процесс регистрации имени начинается, когда клиент передает серверу
WINS сообщение NAME REFRESH REQUEST (запрос обновления
регистрации имени). Сервер отвечает на него либо сообщением POSITIVE NAME
REFRESH RESPONSE (положительный ответ на обновление имени),
содержащим новое значение TTL, либо сообщением NEGATIVE NAME
REFRESH RESPONSE (отрицательный ответ на обновление имени),
заставляющим клиента зарегистрировать новое имя.
Если сервер не отвечает на запрос, клиент продолжает его передачу с
двухминутным интервалом, пока не пройдет половина оставшегося времени TTL
(по умолчанию 1,5 дня). С этого момента клиент начинает посылать
сообщения NAME REFRESH REQUEST дополнительному серверу WINS, чей
адрес указан в конфигурации TCP/IP клиента. Если клиент снова не
получает ответа, он продолжает посылать запросы дополнительному серверу
WINS, пока не пройдет половина оставшегося времени TTL, и затем
переключается снова на основной сервер.
Процесс переключения между серверами по истечении половины
оставшегося времени продолжается до тех пор, пока клиент не получит ответ от
какого-либо из серверов или пока не пройдет время интервала TTL. Как
только заканчивается время интервала TTL, клиент переходит к
широковещательному методу регистрации имени.
Освобождение имен WINS
В качестве обычного компонента последовательности операций по
выключению, система отправляет серверу WINS сообщение NAME RELEASE
REQUEST (запрос на освобождение имени). В качестве ответа сервер
посылает сообщение POSITIVE NAME RELEASE RESPONSE (положительный
ответ на освобождение имени), получив которое клиент просто продолжает
операции по выключению, или NEGATIVE NAME RELEASE RESPONSE
(отрицательный ответ на освобождение имени), которое возникает только
если IP-адрес из записи сервера с этим именем NetBIOS не совпадает с IP-
адресом отправителя данного сообщения.
Как только процедура освобождения завершена, сервер WINS может
зарегистрировать данное имя NetBIOS для любой системы, которая запросит
выполнить регистрацию. Если же время TTL системы-клиента истекает, а сервер
не получает от нее никаких сообщений, он просто удаляет соответствующую
запись из своей базы данных и освобождает имя NetBIOS данной системы.
Методы разрешения имен
Разрешение имени (name resolution) представляет собой процесс, в ходе которого
система узнает IP-адрес компьютера сети, использующего конкретное имя
NetBIOS. Методы разрешения имен соответствуют методам их регистрации.
Глава 19. WINS и разрешение имен NetBIOS
643
Разрешение имен с помощью
кэша NetBIOS
Безусловно, самый быстрый метод разрешения NetBIOS-имен заключается в
использовании поисковой таблицы, хранящейся в памяти системы-клиента,
которая носит название кэша имен NetBIOS. Когда бы система не проводила
разрешение имени, применяя любой другой способ, информация об этом
всегда хранится в кэше в течение ограниченного времени, чтобы избежать
необходимости повторных процедур разрешения одного и того же имени.
Так как доступ к кэшу не требует никакого сетевого обмена или даже
обращения к жесткому диску, он намного быстрее, чем любой другой метод.
Системы на базе Windows всегда проверяют содержимое кэша имен
NetBIOS прежде, чем предпринимать любые попытки использования иных
методов разрешения имен.
Текущее содержимое кэша имен NetBIOS можно в любой момент времени
просматривать с помощью программы Nbtstat.exe, запускаемой из
командной строки с ключом -с, как показано ниже:
C:\>nbtstat -с
Node IpAdress: [192.168.2.5.] Scope Id: []
NetBIOS Remote Cache Name Table
Name Type Host Address Life [sec]
CZ3 <20> UNIQUE 192.168.2.3 360
CZ1 <20> UNIQUE 192.168.2.10 360
CZ1 <00> UNIQUE 192.168.2.10 360
CZ1 <03> UNIQUE 192.168.2.10 360
Число в угловых скобках, следующее за именем NetBIOS, представляет
собой значение идентификатора ресурса, присвоенное соответствующему
имени NetBIOS, то есть 16-й символ, определяющий функцию машины. Так
как Windows-системы могут выполнять несколько функций одновременно
(например, быть клиентом и сервером), можно видеть множественные
строки кэша для одного и того же компьютера, но с различными
идентификаторами ресурса.
Строки кэша имен NetBIOS имеют ограниченный срок существования,
поэтому устаревшая информация не хранится в кэше вечно. Однако возможна
предварительная загрузка в кэш строк файла LMHOSTS, помеченных тэгом
#pre. При загрузке Windows-системы происходит считывание файла
LMHOSTS и загрузка строк, помеченных тэгом #pre в кэш без назначения
им лимита времени. Это позволяет избежать применения других методов
для разрешения имен специфических систем и делает возможным
практически мгновенный доступ к информации о разрешении их имен.
644
Часть V. Сетевые службы соединений
Разрешение имен LMHOSTS
Файл LMHOSTS является наиболее простым способом разрешения имен,
поскольку не требует никаких дополнительных сетевых коммуникаций. Для
разрешения имени система просто открывает текстовый файл LMHOSTS
локального диска, проводит поиск требуемого имени NetBIOS и считывает
эквивалентный IP-адрес. Процесс проходит достаточно быстро, так как нет
задержек, связанных с сетевым трафиком, однако этот способ имеет один
очень большой недостаток.
Для правильного функционирования файл LMHOSTS должен содержать
имена NetBIOS и IP-адреса всех компьютеров сети. Но не существует
способа автоматического обновления этого файла. Пользователь или
администратор должен вручную вносить новую информацию в файл, всякий раз,
когда происходят изменения в конфигурации сети. Очевидно, что, когда число
машин сети начинает превышать некоторое значение, этот метод становится
слишком трудоемким.
В большинстве случаев файл LMHOSTS используется только в сочетании с
широковещательным методом разрешения имен. Так как распространение
широковещательных сообщений ограничено локальным сетевым сегментом,
администраторы применяют файл LMHOSTS для разрешения имен серверов
и иных ключевых систем, которые расположены в других сетях. Даже в этом
случае уровень затрат на обслуживание более значителен, чем может быть
приемлемо для большинства администраторов.
Разрешение имен с использованием
широковещательных сообщений
В рамках широковещательного метода разрешения имен система проводит
разрешение конкретного имени NetBIOS, генерируя серии сообщений
NAME QUERY REQUEST, которые распространяются как
широковещательные по всему сетевому сегменту. Каждая система сети анализирует
запрос и, если он содержит имя NetBIOS данной системы, отправляет в ответ
сообщение POSITIVE NAME QUERY RESPONSE (рис. 19.3). Если имя
системы не совпадает с именем в запросе, пакет просто отбрасывается.
Широковещательный метод работает достаточно хорошо в небольшой сети,
но основной проблемой остается избыточный трафик, генерируемый им.
Как и при широковещательной регистрации имен, любое успешное
разрешение имени приводит к неудачному разрешению имени для любой другой
машины данного сетевого сегмента.
Отрицательный эффект этих неудачных разрешений не ограничивается
дополнительным объемом трафика, передаваемого по сети.
Глава 19. WINS и разрешение имен NetBIOS
645
■п
Name Query
Request
(широковещательный запрос
относительно
имени)
(Возвращается !Р-адрес\«—
Positive Name
Query Response
(положительный
ответ на запрос
имени)
Рис. 19.3. Когда узел, сконфигурированный для широковещательного
процесса разрешения имен, получает сообщение NAME QUERY REQUEST,
содержащее его имя NetBIOS, он посылает в ответ свой IP-адрес
Протокол Канального уровня каждой системы, получающей сообщение
NAME QUERY REQUEST, должен передать его вверх по стеку протоколов
к более высоким уровням. Пока сообщение не достигнет интерфейса
NetBIOS, в общих чертах соответствующего Сеансовому уровню эталонной
модели OSI, система не сможет прочитать имя NetBIOS в запросе и не
определит, отвечать на него или отбрасывать. Это требует некоторого
количества циклов процессора клиентского компьютера, которое следует умножить
на общее число широковещательных сообщений, отправляемых всеми
системами сети.
Одним из факторов, позволяющих в некоторой степени уменьшить
подобную нагрузку, является наличие кэша имен NetBIOS в каждой Windows-
системе. Успешно завершив разрешения имени в IP-адрес, система вносит
эту информацию в кэш имен NetBIOS, поддерживаемый ей в памяти. Это
позволяет компьютеру избежать необходимости повторных процедур по
разрешению одного и того же имени при необходимости отправки большого
числа пакетов в одно место назначения. Однако этот кэш является
энергозависимым, а это означает, что информация, содержащаяся в нем,
уничтожается при каждом старте системы. Данный факт позволяет системе
избежать использования устаревшей информации о разрешении имен во время
передачи данных.
Другой недостаток широковещательного метода заключается в том, что он
ограничен локальным сетевым сегментом. Широковещательные сообщения
протоколов Канального уровня не передаются в другие сетевые сегменты
маршрутизаторами, коммутаторами и другими подобными устройствами.
Хотя теоретически есть возможность конфигурации маршрутизатора для
выполнения этой функции, объем трафика, создаваемого всеми Широкове-
646
Часть V. Сетевые службы соединений
щательными сообщениями всех сетевых сегментов, в масштабе целой
коммерческой сети будет поистине огромен.
Разрешение имен WINS
Как и при регистрации имен, WINS делает процесс разрешения имен более
эффективным за счет использования только однонаправленных сообщений.
Система, пытающаяся разрешить имя NetBIOS, передает сообщение NAME
QUERY REQUEST так же, как и при использовании широковещательного
метода, с той лишь разницей, что это сообщение адресовано
непосредственно серверу WINS, чей адрес указан в конфигурации TCP/IP клиента.
Сервер сверяется со своей базой данных и отвечает либо сообщением
POSITIVE NAME QUERY RESPONSE, содержащим IP-адрес,
соответствующий запрашиваемому имени NetBIOS, либо сообщением NEGATIVE
NAME QUERY RESPONSE, информирующим систему о том, что данное
имя не содержится в базе данных сервера.
rt
Дополнительный сервер WINS
Positive Name
Query Response
(положительный
ответ на запрос
имени)
Negative Name
Query Response
(отрицательный
ответ на запрос
имени)
ь/ Возвращается^
\ IP-адрес J
Positive Name
Query Response
(положительный
ответ на запрос
имени)
( Узел ждет р
Ожидание
подтверждения
Name Query Request
(однонаправленный
запрос относительно
имени к
дополнительному серверу
WINS)
Negative Name
Query Response
(отрицательный
ответ на запрос
имени)
(Разрешение имени ^v
сервером WINS )
закончилось неудачей/
Нет
Рис. 19.4. Процесс разрешения имени сервером WINS заключается
в однонаправленной передаче сообщений NAME QUERY REQUEST
обоим серверам WINS, если это необходимо
Глава 19. WINS и разрешение имен NetBIOS
647
Сервер также может посылать клиенту сообщения WAIT FOR
ACKNOWLEDGEMENT RESPONSE (WACK, ждите подтверждения
запроса), если возникает какая-либо задержка в удовлетворении запроса, чтобы
не допустить истечения времени ожидания клиента. Не получив ответа от
сервера или получив негативный ответ, клиент отправляет запрос того же
содержания дополнительному серверу WINS, адрес которого задан в его
конфигурации TCP/IP (рис. 19.4). В том случае, если дополнительный
сервер также не дает позитивного ответа, клиент переключается на другой
метод разрешения имени, в зависимости от типа узла.
Таким образом, использование WINS снижает объем сетевого трафика,
генерируемого процессом разрешения имен NetBIOS и позволяет системам
избежать необходимости обработки лишних широковещательных
сообщений. Так как однонаправленные сообщения (в отличие от
широковещательных сообщений) могут быть переданы в любое место сетевого комплекса,
WINS способен предоставить услуги по разрешению имен NetBIOS для сети
всего учреждения. Кроме того, поскольку WINS автоматически вносит
информацию об именах NetBIOS и IP-адресах в свою базу данных
непосредственно в процессе регистрации имен NetBIOS, отпадает необходимость
ручного обновления поисковой таблицы администратором.
WINS и просмотр внутренней сети
В дополнение к сервису по регистрации имен NetBIOS, WINS также делает
возможным просмотр клиентской системой ресурсов совместного
использования других сетевых сегментов, причем без необходимости какой-либо
ручной конфигурации со стороны администратора. Просмотр сети Windows
предполагает возможность видеть домены, рабочие группы, компьютеры и
ресурсы совместного использования в окне Сетевого окружения Windows.
Просмотр ресурсов совместного пользования принципиально отличен от
фактического получения доступа к ним. Например, пользователь может
быть лишен возможности просмотра ресурсов совместного пользования, но
при этом осуществлять к ним доступ, назначая букву имени диска
непосредственно UNC-имени ресурса.
|^ Примечание ^Д
Не следует путать понятия браузера сети Windows и браузера World Wide Web,
например, Internet Explorer или Netscape Navigator. Последние являются
приложениями, в то время как браузер сети Windows представляет собой сервис,
выполняемый Windows-системами.
В каждом сегменте сети Windows существует компьютер, избранный на роль
главного браузера. Главный браузер (master browser) отвечает за составление
648
Часть V. Сетевые службы соединений
полного списка всех компьютеров и всех ресурсов совместного пользования
в сети и репликацию его в другие системы сети, которые функционируют в
качестве резервных браузеров (backup browser). В том случае, если главный
браузер выходит из строя или выключен, новые выборы выдвигают другую
машину на его место.
Если в сети присутствует сервер WINS, главный браузер получает
информацию о системах сети от WINS, а не напрямую от компьютеров сети. WINS
также упрощает обмен информацией между браузерами различных сетевых
сегментов. Без участия WINS системы, выполняющие функции браузеров,
должны быть перечислены в файлах LMHOSTS браузеров других сетевых
сегментов, что сделает возможным разрешение их имен в процессе
репликации браузеров.
Типы узлов
Методы регистрации и разрешения NetBIOS-имен, используемые данной
системой, а также последовательность их применения, определяются типом
узла (node type) конкретного компьютера в соответствии со стандартами
NetBT. Каждый тип узла предусматривает метод регистрации имен,
основной метод разрешения имен, а также, в некоторых случаях,
последовательность действий при неудачном применении основного метода разрешения.
Три возможных типа узла, определенные стандартом, таковы.
□ B-node (broadcast node, широковещательный узел). Использует для
регистрации и разрешения имен исключительно широковещательный метод.
□ P-node (point-to-point node, двухточечный узел). Использует для
регистрации и разрешения имен исключительно серверы имен NetBIOS.
□ M-node (mixed mode node, узел смешанного типа). Использует для
регистрации имен исключительно широковещательный метод, для разрешения
имен применяет широковещание и серверы имен NetBIOS, если
широковещательное разрешение имени проходит неудачно.
Типы узлов Microsoft
Типы узлов, определенные стандартом, недостаточно хорошо соответствуют
возможностям систем на базе Windows. В системе, работающей в качестве
В-узла, разрешение имени будет проходить всегда неудачно, если машина с
запрашиваемым именем находится в другом сегменте сети. В системе,
функционирующей в качестве Р-узла, разрешение имени не сможет
осуществляться, если не действуют серверы имен NetBIOS. Системы типа М-узла
предназначены для случаев, когда сервер имен NetBIOS используется только
для разрешения имен, относящихся к другим сетевым сегментам. Это край-
Глава 19. WINS и разрешение имен NetBIOS
649
не непрактично в сети Windows, так как система WINS была разработана
для полной замены широковещательных сообщений. Вследствие этих
несоответствий фирма Microsoft разработала три дополнительных типа узлов,
специально для использования с операционными системами собственного
производства.
□ Modified B-node (модифицированный В-узел). Применяет только
широковещательный метод для регистрации имен, для разрешения имен
использует широковещание и файл LMHOSTS, если широковещанием не удается
разрешить имя. Это тип узла по умолчанию предназначен для Windows-
систем, не конфигурированных для использования WINS.
□ H-node (hybrid node, гибридный узел). Применяет только серверы имен
NetBIOS для регистрации имен, для разрешения имен использует
серверы имен NetBIOS и широковещательный метод, если разрешение имени
с помощью серверов NetBIOS проходит неудачно. Затем система снова
возвращается к серверам имен NetBIOS, как только они вновь становятся
доступны. Этот тип узла по умолчанию характерен для всех
потенциальных клиентов WINS.
□ Microsoft-Enchanced h-node (Н-узел, расширенный Microsoft). Системы на
базе Windows NT включают опции, способные обеспечить Н-узел
системы механизмом разрешения имен с использованием файла LMHOSTS,
наряду с запросами Windows Sockets к DNS-серверу и файлу HOSTS. Оба
эти метода могут использоваться, если разрешение имени с помощью
серверов WINS и широковещательных сообщений проходит неудачно.
|^ Примечание ^
Опция DNS, появляющаяся в качестве флажка Enable DNS For Windows
Resolution на вкладке WINS Address диалогового окна TCP/IP Properties в
системах на базе Windows NT, позволяет пользователям указывать DNS-имя в
UNC-пути. DNS-имя системы не обязано совпадать с ее именем NetBIOS, но
так как оба они ассоциированы с одним и тем же IP-адресом, конечный
результат будет одинаковым.
С включением всех опций Н-узел, расширенный Microsoft, использует все
доступные ему механизмы разрешения имен, как показано на рис. 19.5.
( Совет )
Системы, сконфигурированные для использования WINS, не отвечают на
широковещательные сообщения NAME REGISTRATION REQUEST, генерируемые
В-узлами, модифицированными В-узлами и М-узлами. По этой причине не
рекомендуется смешивать типы узлов в пределах одной сети.
650
Часть V. Сетевые службы соединений
Нет
'
Кэш имен NetBIC
jz>
^ <£ Имя разреи
" '"v успешнс
Рис. 19.5. Windows-системы могут использовать до шести различных
механизмов при попытке разрешения имени NetBIOS
Задание типов узлов
Тип узла Windows-систем зависит от статуса их клиента WINS и того, был
ли он активизирован вручную или с помощью DHCP. Вообще говоря,
системы, использующие WINS, являются Н-узлами, а системы, не
применяющие WINS, относятся к В-узлам.
Глава 19. WINS и разрешение имен NetBIOS
651
Когда для активизирования клиента WINS системы используется DHCP, то
есть задаются значения полей опции WINS/NBNS Servers (код 044), тип
узла по умолчанию устанавливается как Н-узел. Если же клиент WINS не
активизируется с помощью DHCP, система считается В-узлом. Однако тип
узла можно задать независимо от клиента WINS, модифицировав опцию
DHCP WINS/NBNS Node Type (код 046). При активизации клиента WINS
вручную с помощью указания адресов серверов WINS в диалоговом окне
TCP/IP Properties эти данные отменяют установки опций DHCP
относительно WINS и типа узла и превращают клиента в Н-узел.
Существует также возможность задать вручную тип узла рабочей станции,
не использующей DHCP, путем прямого редактирования системного
реестра. В системе на базе Windows NT или Windows 2000 потребуется создать в
реестре новый элемент под названием Node Type в следующем ключе:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters
Новому элементу можно присвоить одно из следующих значений типа
REG_DWORD:
□ Oxoooooooi для В-узла;
П 0x00000002 для Р-узла;
□ 0x00000004 для М-узла;
□ 0x00000008 для Н-узла.
В системах с Windows 95/98 необходимо создать элемент Node Type (если он
еще не существует) в качестве строкового значения в следующем ключе
системного реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
Возможно использование следующих значений элемента Node Type:
□ 1 для В-узла;
□ 2 для Р-узла;
□ 4 для М-узла;
□ 8 для Н-узла.
Механизм введения расширений Microsoft в установки типа узла зависит от
операционной системы, которую использует клиент. Например, Windows NT
и Windows 2000 имеют флажок на вкладке WINS Address диалогового окна
TCP/IP Properties, позволяющий разрешить поиск в файле LMHOSTS. При
помощи этого диалогового окна также можно включить импорт файла
LMHOSTS с сетевого диска, что упрощает размещение одинаковых файлов
LMHOSTS на всех компьютерах сети. С другой стороны, В-узлы на базе
Windows 95/98 анализируют файл LMHOSTS автоматически при старте
системы и не имеют опции его импорта (хотя есть возможность задать альтер-
652
Часть V. Сетевые службы соединений
нативное размещение для файла LMHOSTS, изменив значение элемента
LMHostFile в ключе системного реестра \mstcp).
^ Примечание j^
До настоящего времени существует проблема с TCP/IP-клиентом операционных
.систем Windows 95/98, которая не позволяет использовать файл LMHOSTS для
разрешения имен NetBIOS, если доступен клиент DNS. Однако операционная
система по-прежнему успешно загружает в кэш имен NetBIOS строки файла
LMHOSTS, помеченные тэгом #pre, при старте компьютера. Это можно
использовать в качестве обходного пути, пока не выйдет патч, исправляющий ошибку.
В большинстве случаев клиенты WINS в правильно сконфигурированной
сети крайне редко, если вообще когда-либо, прибегают к использованию
какого-нибудь механизма разрешения имен, кроме собственно WINS.
Правильно сконфигурированная реализация WINS состоит из множества
серверов, проводящих репликацию информации своих баз данных на регулярной
основе, поэтому, если один из серверов выходит из строя, клиенты могут
получить доступ к другому.
Форматы сообщений NetBT
Сообщения службы имен, используемые в процедурах регистрации и
разрешения имен Windows, имеют базовую форму пакетов для службы имен
доменов (Domain Name Service).
1234567812345678123456781234567;
NAME_TRN_ID
QDCOUNT
NSCOUNT
OPCODE
NM.FLAGS
RCODE
ANCOUNT j
ARCOUNT
QUESTION_NAME
QUESTION_TYPE
QUESTIONLCLASS
RR_NAME
RRJTYPE
RR_CLASS
TTL
RDLENGTH
RDATj
\
Раздел заголовка
Раздел запроса
Раздел записи о ресурсе
Рис. 19.6. Windows-системы используют одинаковый формат сообщений
службы имен для всех процедур регистрации и разрешения имен
Глава 19. WINS и разрешение имен NetBIOS
653
Как и DNS-сообщения, они обычно переносятся дейтаграммами UDP,
которые ограничивают их размер 567 байтами. Пакет состоит из полей
заголовка, содержащих коды, определяющие функцию сообщения, и раздела
записей о запросе и/или ресурсе, используемого для передачи информации
запроса или ответа (в данном случае имен NetBIOS и IP-адресов), как
показано на рис. 19.6. Формат сообщения обеспечивает возможность передачи
множественных записей о ресурсах в пакетах-ответах с использованием
самостоятельных разделов ответа (answer), полномочий (authority), а также
дополнительных разделов, но для сообщений сервера имен NetBIOS,
применяемых в сетях Windows, это не является необходимостью.
Функции полей сообщений службы имен обсуждаются в следующих
разделах данной главы.
Раздел заголовка
Каждое сообщение службы имен имеет раздел заголовка, определяющий
основной тип сообщения, транспортируемого в пакете, а также признак,
является ли оно запросом или ответом. Поля заголовка перечислены ниже.
□ NAMEjrRNJD (16 битов). Содержит идентификатор транзакции,
используемый для установления соответствия запросов и ответов.
□ OPCODE (5 битов). Первый бит представляет собой флаг R,
определяющий, является ли сообщение запросом или ответом, который может
принимать следующие значения:
• 0 — запрос (request);
• 1 — ответ (response).
Остальные четыре бита задают тип сообщения, содержащегося в пакете,
используя следующие значения:
• 0 — запрос (query);
• 5 — регистрация (registration);
• 6 — освобождение (release);
• 7 — ожидание подтверждения (WACK);
• 8 — обновление (refresh).
□ NM_FLAGS (7 битов). Содержит пять однобитовых флагов (и два
нулевых бита). Функции флагов перечислены ниже.
• АА — Authoritative Answer (надежный ответ). Показывает, исходит ли
данный ответ от надежного источника. В сообщениях-запросах (где
флаг R поля OPCODE имеет значение 0), значение данного флага
всегда равно 0. Серверы WINS всегда присваивают этому флагу значение 1.
654
Часть V. Сетевые службы соединений
• ТС — Truncation (усечение). Показывает, должно ли данное
сообщение подвергаться усечению, чтобы соответствовать размерам
дейтаграммы UDP, и служит сигналом повторной передачи с применением
протокола TCP. Так как длина пакета не является проблемой для
сообщений службы имен NetBIOS, значение этого флага всегда равно 0.
• RD — Recursion Desired (желательна рекурсия). Используется в
сообщениях-запросах NBNS для получения информации о возможностях
сервера по обеспечению рекурсии. Windows-клиенты всегда
присваивают этому флагу значение 1, подразумевая, что рекурсия желательна.
• RA — Recursion Available (рекурсия возможна). Используется в
сообщениях-ответах NBNS с целью показать, что сервер имен поддерживает
рекурсивные запросы, регистрации и освобождения. Для большинства
типов сообщений (за исключением WACK) серверы WINS задают
значение этого флага равным 1, показывая, что рекурсия доступна.
0 0 — нулевой бит;
0 0 — нулевой бит.
• В — Broadcast (широковещание). Определяет, является ли пакет
широковещательным или однонаправленным, используя следующие значения:
0 0 — однонаправленное;
0 1 — широковещательное или групповое.
□ RCODE (4 бита). Используется в пакетах-ответах для описания
результатов соответствующего запроса. Применяемые коды перечислены ниже.
• 0 — ошибок нет.
• 1 — FMTJERR (Format Error, ошибка формата). Запрос имел
некорректный формат.
• 2 — SRVJERR (Server Failure, неисправность сервера). Запрос не мог
быть обработан из-за неправильной работы NBNS.
• 3 — NAMJERR (Name Error, ошибка имени). Данное имя не
существует на сервере имен.
• 4 — IMPJERR (Unsupported Request Error, неподдерживаемая ошибка
запроса). Используется только, если NBNS получает
модернизированный тип запроса на регистрацию.
• 5 — RFSJERR (Refused Error, ошибка отказа). Политика запрещает
серверу регистрировать запрашиваемое имя для данного узла.
• 6 — ACTJERR (Active Error, активная ошибка). Запрашиваемое имя
уже принадлежит другому узлу.
• 1 — CFTJERR (Name in Conflict Error, ошибка конфликта имени).
Уникальное имя NetBIOS уже принадлежит другому узлу.
Глава 19. WINS и разрешение имен NetBIOS
655
D QDCOUNT (16 битов). Задает количество записей в разделе запроса
(question section) данного сообщения. Сообщения службы имен NetBIOS
для Windows (Windows NetBIOS Name Service) всегда содержат только
одну запись в этом разделе.
□ ANCOUNT (16 битов). Задает количество записей в разделе ответа (answer
section) данного сообщения. Сообщения службы имен NetBIOS для
Windows всегда содержат только одну запись в этом разделе.
□ NSCOUNT (16 битов). Задает количество записей о ресурсах в разделе
полномочий (authority section) данного сообщения. Раздел полномочий
не используется в сообщениях Windows NetBIOS Name Service.
□ NRCOUNT (16 битов) Задает количество записей о ресурсах в
дополнительном разделе данного сообщения. Дополнительный раздел не
используется в сообщениях службы имен NetBIOS для Windows.
^ Примечание J|
Сообщения службы имен, используемые в процедурах регистрации и
разрешения имен, практически одинаковы как при применении клиентской системой
широковещательного метода, так и с использованием WINS. Основное
различие между сообщениями в двух этих случаях сводится к значению бита
Broadcast поля NM_FLAGS.
По значениям описанных полей можно в точности определить, сообщение
какого типа включено в пакет. Например, сообщение со значением 0 флага
R, значением 0 поля OPCODE, значением 0 флага В и значением 1 поля
QDCOUNT, будет пакетом сообщения NAME QUERY REQUEST, который
отправлен серверу WINS и содержит имя NetBIOS в разделе запроса. Если
сервер WINS отвечает на него сообщением, где значение флага R меняется
на 1, значение поля QDCOUNT меняется на 0, а значение поля ANCOUNT
меняется на 1, то это будет уже POSITIVE NAME QUERY RESPONSE с IP-
адресом, соответствующим имени NetBIOS запроса, содержащемся в разделе
записи о ресурсе. Если данного имени нет в базе данных сервера, ответное
сообщение уже будет содержать поля QDCOUNT и ANCOUNT со
значениями 0 и поле RCODE со значением 3, что соответствует сообщению
NEGATIVE NAME QUERY RESPONSE.
Раздел запроса
Раздел запроса (question section) содержит имя NetBIOS, которое надлежит
зарегистрировать или разрешить1, и появляется только в пакетах-запросах,
либо пакетах-требованиях, а именно:
□ NAME REGISTRATION REQUEST (запрос регистрации имени);
□ NAME OVERWRITE DEMAND (требование перезаписи имени);
То есть преобразовать. — Ред.
656
Часть V. Сетевые службы соединений
О NAME QUERY REQUEST (запрос имени);
О NAME REFRESH REQUEST (запрос обновления регистрации имени);
О NAME RELEASE REQUEST (запрос на освобождение имени).
Раздел запроса содержит следующие поля:
□ QUESTION_NAME (запрашиваемое имя), переменный размер. Содержит
имя NetBIOS для регистрации или разрешения.
О QUESTION_TYPE (тип запроса), 16 битов. Задает тип запроса с
применением значений:
• 0x0020 NB (запись о ресурсе службы имен NetBIOS);
• 0x0021 NBSTAT (запись о ресурсе статуса узла NetBIOS).
□ QUESTION_CLASS (класс запроса), 16 битов. Определяет класс запроса,
для которого существует только одно значение:
• 0x0001 Internet Class.
Раздел записи о ресурсе
Раздел записи о ресурсе (resource record section) появляется в пакетах типа
POSITIVE RESPONSE, указанных ниже, а также в пакетах типа WACK:
О POSITIVE NAME REGISTRATION RESPONSE (положительный ответ на
регистрацию имени);
О POSITIVE NAME QUERY RESPONSE (положительный ответ на запрос
имени);
□ POSITIVE NAME REFRESH RESPONSE (положительный ответ на
обновление регистрации имени);
О POSITIVE NAME RELEASE RESPONSE (положительный ответ на
освобождение имени);
□ WAIT FOR ACKNOWLEDGEMENT RESPONSE (ожидание
подтверждения запроса).
Хотя записи о ресурсах могут появляться в любом из трех разделов: ответа,
полномочий или дополнительном, сообщения службы имен NetBIOS для
Windows содержат только одну запись о ресурсе, обычно в разделе ответа
или дополнительном. Раздел записи о ресурсе включает поля,
перечисленные ниже.
О RRJNAME (переменный размер). Содержит имя NetBIOS из запроса,
которому соответствует данный ответ.
□ RR_TYPE (16 бит). Задает тип записи о ресурсе. Применяются
следующие значения:
• 0x0001 А (IP-адрес);
Глава 19. WINS и разрешение имен NetBIOS
657
• 0x0002 NS (запись о ресурсе сервера имен);
• ОхОООА NULL (нулевая запись о ресурсе);
• 0x0020 NB (запись о ресурсе службы имен NetBIOS);
• 0x0021 NBSTAT (запись о ресурсе статуса узла NetBIOS).
О RR_CLASS (16 битов). Определяет класс записи о ресурсе, для которого
существует только одно значение:
• 0x0001 Internet Class.
□ TTL (32 бита). Задает время жизни (time-to-live) информации записи о
ресурсе.
□ RDLENGTH (16 битов). Определяет число битов в поле RDATA.
□ RDATA (переменный размер). Содержит IP-адрес системы,
идентифицированной в поле RRJNAME. Если поле RRJTYPE содержит код NB (как
в сообщениях-ответах сервера WINS), поле RDATA начинается с подполя
NBJFLAGS из 32 битов, разделнного на части, перечисленные ниже.
• G — Group Name Flag (флаг группового имени), 1 бит. Определяет,
является ли имя, содержащееся в поле RRJNAME уникальным или
групповым именем NetBIOS. Возможны следующие значения:
0 0 — уникальное;
0 1 — групповое.
• ONT — Owner Node Type (тип узла-владельца), 1 бит. Определяет тип
системы-узла, идентифицированной полем RRJNAME. Применяются
следующие значения:
0 00 — В-узел;
0 01 — Р-узел;
0 10 — М-узел;
0 11 — зарезервировано для использования в будущем.
3 Зарезервировано для использования в будущем (13 битов).
Пример транзакции
На рис. 19.7—19.13 приводится содержимое пакетов, перехваченных
программой-анализатором протоколов во время одной из типичных транзакций
службы имен NetBIOS, происходящих повседневно в сети Windows. На
рис. 19.7 показано сообщение NAME REGISTRATION REQUEST,
отправленное серверу WINS.
Стоит обратить внимание, что желаемое имя (CZ2) присутствует в разделе
запроса (question section), однако в дополнительном разделе есть еще
одно имя и IP-адрес, которые клиент хочет добавить имя в базу WINS.
658
Часть V. Сетевые службы соединений
\ HEADER SECTION:
\ Transaction Identifier: 4
\ Flags:
О я Request packet
.010 1... «OP Code is 0x05 - Registration
0.. - Non-Authoritative Answer
.0. «No Truncation Packet
..1 - Recursion Desired
... ■ Recursion Not.Available
.00 ■ Reserved Bits
. ■ unicast packet
0000 ■ Response Code is 0 - No Error
Section Entries:
Question Section: 1 Entrie(s)
Answer Section: 0 Entrie(s)
Authority Section: 0 Entrie(s)
Additional Section: 1 Entrie(s)
©QUESTION SECTI0N[1]:
f NetBios Name: CZ2 I
Question Type: 0x0020 - NB
Question Class: 0x0001 - IN
® ADDITIONAL SECTION[1]:
NetBios Name (w/Pointer): CZ2 I
RR Type: 0x0020 * NB - NetBios General Name Service Resource Record
RR Class: 0x0001 «IN - Internet class
RR Time To Live: 300000 second(s)
RR Data Length: 6 Octet(s)
0 ■ Group Name Flag - Unigue NetBios Name
.00 * Owner Node Type - В node
...0 0000 ■ Reserved Bits
0000 0000 « Reserved Bits
A NetBios address: 192.168.2.20
Calculate CRC: 0x4e00a566
■щ
NetBios General Name Service Resource Record
Internet
Рис. 19.7. Сообщение NAME REGISTRATION REQUEST, посланное серверу WINS
На рис. 19.8 изображено сообщение POSITIVE NAME REGISTRATION
RESPONSE сервера, содержащее точно такую же информацию в разделе
ответа (answer section), что предполагает успешное включение сведений
клиента в базу данных сервера WINS.
Следующие два примера пакетов демонстрируют ответы сервера WINS в
ходе неудачной попытки регистрации имени. Попробовав обработать
запрос, сервер отправляет клиенту пакет с сообщением WAIT FOR
ACKNOWLEDGEMENT RESPONSE или WACK, как показано на рис. 19.9.
Раздел ответа (answer section) этого сообщения содержит значение времени
жизни (TTL) в 5 секунд, поэтому лимит времени системы-клиента не
истекает, и он не переходит на широковещательный метод регистрации имени.
Когда сервер все-таки формулирует ответ, показанный на рис. 19.10, он
содержит в разделе ответа (answer section) точно такую же информацию, как
и сообщение POSITIVE NAME REGISTRATION RESPONSE, однако, по
сути, представляет собой NEGATIVE NAME REGISTRATION RESPONSE,
что демонстрируется значением поля RCODE. Это значение свидетельствует
о том, что выявлена активная ошибка (Active Error), так как запрашиваемое
имя уже используется другой системой.
Глава 19. WINS и разрешение имен NetBIOS
659
||Ш ЩЭ ETHER-II: 00-20-AF-37-B8-12 --> 00-60-97-В0-77-СА
|Т IP: 192.168.2.10->192.168.2.20,10-11950
fflgJUDP: NETBIOS Name Serviсе->NETBIOS Name Service,Len-70
B-K NETBIOS Name Service
t HEADER SECTION:
Transaction Identifier: 4
Flags:
Response packet
OP Code is 0x05 - Registration
Authoritative Answer
No Truncation Packet
Recursion Desired
Recursion Available
Reserved Bits
unicast packet
Response Code is 0 - No Error
II. . .
.010
.00.
_ .. 0000
S® Section Entries:
J -Ш Question Section: 0 Entrie(s)
• г |p Answer Section: 1 Entrie(s)
' ; да Authority Section: 0 Entrie(s)
! ' ® Additional Section: 0 Entrie(s)
Й® ANSWER SECTI0N[1]:
i NetBios Name: CZ2 I
RR Type: 0x0020 - NB
RR Class: 0x0001 « IN
RR Time To Live: 518400 second(s)
RR Data Length: 6 Octet(s)
0 ■ Group Name Flag - Unigue NetBios Name
.00 ■ Owner Node Type - В node
...0 0000 * Reserved Bits
0000 0000 * Reserved Bits
A NetBios address: 192.168.2.20
Calculate CRC: 0x757dal72
NetBios General Name Service Resource Record
Internet class
Рис. 19.8. Сообщение POSITIVE NAME REGISTRATION RESPONSE,
отправленное сервером WINS в ответ на запрос клиента
Ei^ETHER-II: 00-20-AF-37-B8-12 --> 0U-60-97-B0-77-CA
Й-Т IP: 192.168.2.10->192.168.2.20,ID-13230
S§3UDP: NETBIOS Name Serviсе->NETBIOS Name Service,Len-66
В Щ NETBIOS Name Service
HEADER SECTION:
Transaction Identifier: 18
Flags:
1 s Response packet
.011 1... - OP Code is 0x07 - WACK
. .. .1.. s Authoritative Answer
0. - No Truncation Packet
0 ■ Recursion Not Desired
0 s Recursion Not Available
.00 * Reserved Bits
... 0 .... - unicast packet
■ Response Code is 0 - No Error
_ . . 0000
ЁЙ Section Entries:
Question Section
Answer Sec t i on
Authority Section
Additional Section
$ ® ANSWER SECTION[1]:
NetBios Name: ADMINISTRATOR
RR Type: 0x0020 - NB
RR Class: 0x0001 - IN
RR Time To Live
RR Data Length
Flags:
ЦВ 0 - Request packet
U Calculate CRC: 0xb21c4d55
0 Entrie(s)
1 Entrie(s)
0 Entrie(s)
0 Entrie(s)
I
NetBios General Name Service Resource Record
Internet class
5 second(s)
2 Octet(s)
Рис. 19.9. Сообщение WAIT FOR ACKNOWLEDGEMENT RESPONSE,
сгенерированное сервером WINS при возникшей задержке
660
Часть V. Сетевые службы соединений
lETHER-II: 00-20-AF-37-B8-12 ««> 00-60-97-В0-77-СА
IT4IP: 192.168.2.10->192.168.2.20.ID-13998
)UDP: NETBIOS Name Service->NETBIOS Name Service,Len-70
[ NETBIOS Name Service
\ HEADER SECTION:
I Transaction Identifier: 18
В ©Flags:
I 1 ■ Response packet
.010 1... - OP Code is 0x05 - Registration
1.. ■ Authoritative Answer
No Truncation Packet
Recursion Desired
Recursion Available
.00 - Reserved Bits
unicast packet
Response Code is 6
Active Error
_ .. 0110
1=]^ Section Entries:
"^Question Section: 0 Entrie(s)
Answer Section: 1 Entrie(s)
Authority Section: 0 Entrie(s)
Additional Section: 0 Entrie(s)
Й-Щ ANSWER SECTION [ 1 ]:
NetBios Name: ADMINISTRATOR I
RR Type: 0x0020 ■ NB - NetBios General Name Service Resource Record
RR Class: 0x0001 "IN - Internet class
RR Time To Live: 43114464 second(s)
RR Data Length: 6 Octet(s)
0 " Group Name Flag - Unigue NetBios Name
.00 - Owner Node Type - В node
...0 0000 - Reserved Bits
0000 0000 > Reserved Bits
A NetBios address: 192.168.2.20
Calculate CRC: 0x5bbd8295
Рис. 19.10. Сообщение NEGATIVE NAME REGISTRATION RESPONSE,
генерируемое сервером WINS, когда NetBIOS-имя, которое пытается
зарегистрировать клиент, уже используется
ШЩ9 ETHER-II: 00-6Q-97-B0-77-CA ««> 00-20-AF-37-B8-12
V IP: 192.168.2.20->192.168.2.10.ID-11008
S3 UDP: HETBI0S Наже Service->NETBI0S Name Service,Len»58
bL_
header section:
Transaction Identifier: 28
B-S Flags:
Request packet
OP Code is 0x00 - QUERY
Non-Authoritative Answer
No Truncation Packet
Recursion Desired
Recursion Not Available
Reserved Bits
unicast packet
Response Code is 0 - No Error
.000 0.
|0. ..
.00.
_ .. 0000
Й--® Section Entries:
"**J Question Section: 1
} Answer Section: 0
| Authority Section: 0
) Additional Section: 0
В Ш QUESTION SECTION!1]:
Ш NetBios Name: CZ3
Ж Question Type: 0x0020 - NB
S§ Question Class: 0x0001 - IN
Ц0 Calculate CRC: 0х45Ы23Ье
Entrie(s)
Entrie(s)
Entrie(s)
Entrie(s)
NetBios General Name Service Resource Record
Internet
Рис. 19.11. Сообщение NAME QUERY REQUEST, отправленное серверу WINS
Глава 19. WINS и разрешение имен NetBIOS
661
=====
1Ж
вТ
ш
в
ETHER-II: 00-20-AF-37-B8-12 «> 00-60-97-В0-77-СА
IP: 192.168.2.10->192.168.2.20,ID-53453
UDP: NETBIOS Name Serviсе->NETBIOS Name Service.Len*70
.000 0. .
1.
Response packet
OP Code is 0x00 - QUERY
Authoritative Answer
.0. «No Truncation Packet
..Iе Recursion Desired
i1 * Recursion Available
.00 « Reserved Bits
... 0 .... « unicast packet
.... 0000 * Response Code is 0 - No Error
\ Section Entries:
\ Question Section: 0 Entrie(s)
\ Answer Section: 1 Entrie(s)
\ Authority Section: 0 Entrie(s)
| Additional Section: 0 Entrie(s)
JJ§ ANSWER SECTION[1]:
\ NetBios Name: CZ3
|RR Type: 0x0020 - NB
|RR Class: 0x0001 - IN
\ RR Time To Live: 0
\ RR Data Length: 6
|0
m
...» Group Name Flag
.00 e Owner Node Type - В node
...0 0000 « Reserved Bits
0000 0000 - Reserved Bits
A NetBios address: 192.168.2.3
Calculate CRC: 0xc2d0645c
NetBios General Name Service Resource Record
Internet class
second(s)
Octet(s)
Unigue NetBios Name
Рис. 19.12. Сообщение POSITIVE NAME QUERY RESPONSE, возвращаемое
сервером WINS при успешном разрешении имени NetBIOS
mm
тТ
&
ETHER-II: 00-80-29-EB-F7-2C «> FF-FFr-FF-FF-FF-FF
IP: 192.168.2.22->192.168.2.255,ID«49096
UDP: NETBIOS Name Service->NETBI0S Name Service.Len»58
\ HEADER SECTION:
\ Transaction Identifier:
| Flags:
41978
0 ■ Request packet
.000 0... - OP Code is 0x00 - QUERY
. ■ Non-Authoritative Answer
. e No Truncation Packet
1 ■ Recursion Desired
. ш Recursion Not Available
.00 » Reserved Bits
. * broadcast or multicast packet
0000 » Response Code is 0 - No Error
Section Entries:
■;-"J|j Question Section: 1 Entrie(s)
f Answer Section: 0 Entrie(s)
Authority Section: 0 Entrie(s)
Additional Section: 0 Entrie(s)
Й J§ QUESTION SECTI0N[1]:
t NetBios Name: NTD0MAIN3 I
Question Type: 0x0020 « NB
Question Class: 0x0001 - IN
й$ Calculate CRC: 0x4e88c0c8
NetBios General Name Service Resource Record
Internet
Рис. 19.13. Заголовок широковещательного сообщения NAME QUERY REQUEST
отличается от однонаправленной версии того же сообщения значением всего одного бита
662
Часть V. Сетевые службы соединений
Как только система-клиент WINS зарегистрировала собственное имя, она
может использовать сервер WINS для разрешения имен NetBIOS других
машин сети. Сообщение NAME QUERY REQUEST, направляемое серверу
WINS, как показано на рис. 19.11, содержит в разделе запроса (question
section) имя NetBIOS, которое система-клиент желает разрешить.
Сообщение POSITIVE NAME QUERY RESPONSE (рис. 19.12) содержит
раздел ответа, где указан IP-адрес, соответствующий запрошенному имени.
Как можно видеть на рис. 19.13, широковещательное сообщение NAME
QUERY REQUEST практически совпадает с однонаправленной версией
данного сообщения, переданной серверу WINS. Только флаг В показывает,
что сообщение широковещательное, а в остальном оба сообщения
совершенно идентичны.
Использование файла LMHOSTS
Чтобы применять файл LMHOSTS для разрешения имен NetBIOS,
потребуется сначала создать этот файл, перечислив в нем имена NetBIOS, которые
требуется сопоставлять и соответствующие им IP-адреса. Базовый формат
данного файла очень прост: каждый IP-адрес необходимо записать в
отдельную строку вместе с соответствующим ему именем NetBIOS, и они должны
быть разделены, по крайней мере, одним пробелом, как показано в
приведенном ниже листинге:
192.168.2.2 CZ2
192.168.2.3 CZ3
192.168.2.10 CZ1
Файл LMHOSTS также поддерживает использование тэгов для обеспечения
специальных функций для конкретных строк. В большинстве случаев
использование тэгов предполагает добавление их к строке файла LMHOSTS за
именем NetBIOS, после, по крайней мере, одного пробела. Набор тэгов,
распознаваемых Windows-системами, таков:
□ #pre. Добавление тэга #pre к строке файла LMHOSTS заставляет
компьютер предварительно загружать данную строку в кэш имен NetBIOS во
время старта системы. Разрешение имен, проводимое с помощью
кэширований информации, занимает намного меньше времени, чем любой
другой метод. Так как Windows-системы просматривают файл LMHOSTS
сверху вниз, целесообразно размещать строки, помеченные тэгом #pre, в
нижней части файла, чтобы обеспечить максимально возможную
скорость стандартных процедур разрешения имен.
□ #dom idomainnamB. Тэг #dom используется для идентификации
контроллеров доменов Windows NT, находящихся в других сегментах сети.
Переменная domainname соответствует имени домена. Данный тэг вносит
Глава 19. WINS и разрешение имен NetBIOS
663
строку в кэш имен доменов данной системы, что позволяет не-WINS-
системам посылать однонаправленные сообщения непосредственно
контроллерам доменов других сетевых сегментов. Комбинация тэгов #pre и
#dom позволяет предварительно загружать строки с именами
контроллеров доменов в кэш, например:
192.168.2.10 CZ1 #PRE#DOM:NTDOMAIN
□ #мн. Тэг #мн предназначен для групповых компьютеров (то есть
компьютеров, имеющих более одного IP-адреса). Возможно существование до 25
самостоятельных строк, помеченных тэгом #мн, содержащих различные
адреса для одного имени NetBIOS.
□ #SG: groupname. Тэг #sg используется для создания групп NetBIOS с
именем, обозначенным переменной groupname. Каждая группа может
содержать до 25 членов, каждый из которых должен иметь собственную строку
в файле LMHOSTS.
□ \0х##. Тэг \0х## можно использовать для задания шестнадцатеричного
значения непечатного символа как части имени NetBIOS. Для
применения тэга необходимо заключить полное имя NetBIOS в двойные кавычки
и поместить \0х## на место непечатного символа, где ## будет шестна-
дцатеричным значением для этого символа. Следует помнить, что,
заключая имя NetBIOS в кавычки, нужно позаботиться обо всех 16
символах этого имени. Например, задавая непечатный символ в качестве 16-го
символа имени, требуется заполнить предыдущие 15 мест пробелами или
другими символами.
□ #include filename. Тэг #include определяет местоположение
альтернативного файла LMHOSTS на сетевом диске совместного пользования.
Это позволяет администраторам сети содержать один файл LMHOSTS, к
которому будут осуществлять доступ множество клиентских систем.
Данный тэг выносится в отдельную строку файла LMHOSTS, переменная
filename соответствует полному UNC-пути к альтернативному файлу
LMHOSTS, как показано ниже. Если UNC-имя использует имя NetBIOS
для идентификации системы, следует убедиться, что оно предварительно
загружено в кэш имен NetBIOS, для чего необходимо создать отдельную
строку в файле LMHOSTS, пометив ее тэгом #pre.
#INCLUDE \\CZl\C\WINNT\UyiHOSTS
□ #BEGIN_ALTERNATE/#END_ALTERNATE. Тэг #BEGIN_ALTERNATE ДОЛЖеН зани-
мать отдельную строку, отмечая начало подпрограммы, состоящей из
множества строк с тэгами #include. Завершает подпрограмму тэг
#end_alternate, также размещенный в отдельной строке. Просматривая
файл LMHOSTS, система будет пытаться получить доступ к каждому из
альтернативных файлов LMHOSTS, указанных в командах #include, по-
664
Часть V. Сетевые службы соединений
ка не обнаружит один из них. Это позволяет обеспечить
отказоустойчивость в случае, если система, содержащая файл LMHOSTS, по каким-
либо причинам недоступна.
#BEGIN__ALTERNATE
#INCLUDE \\CZl\C\WINNT\LMHOSTS
#INCLUDE \\CZl\D\WINNT\LMHOSTS
#INCLUDE \\CZl\C\WINDOWS\LMiOSTS
#END__ALTERNATE
Использование широковещательных
сообщений
Широковещательный метод разрешения имен NetBIOS используется по
умолчанию Windows-системами, которые не сконфигурированы для
применения WINS. В относительно небольшой сети, состоящей из одного
сегмента, широковещательные сообщения являются эффективным решением и не
оказывают негативного влияния на производительность сети (если только ее
пропускная способность еще не приближается к своему пределу). Для сети
из более чем одного сегмента можно применять широковещание в
комбинации с файлами LMHOSTS (для разрешения имен машин других
сегментов). Однако это быстро перерастает в серьезную административную
проблему, наилучшим решением которой будет добавление одного или
нескольких серверов WINS.
Использование WINS
Развертывание одного сервера WINS представляет собой довольно легкую
задачу. Достаточно просто инсталлировать сам сервис на сервере с
операционной системой Windows NT или Windows 2000, и установки по умолчанию
обеспечат достаточную эффективность работы для большинства сетей.
Однако рекомендуется, чтобы в каждой сети работало, по крайней мере, два
сервера WINS, чтобы обеспечить отказоустойчивость на случай выхода из
строя одного из серверов.
В простой сети из одного сегмента наличие двух серверов WINS не является
строгой необходимостью, так как системы-клиенты прибегнут к
широковещательному методу разрешения имен, если не смогут получить доступ к
серверу WINS. Однако если сеть состоит из нескольких сегментов, WINS
очень быстро становится уже практически необходимым элементом
конфигурации сети, если только администраторы не продолжают поддерживать
файлы LMHOSTS, которые могут пригодиться при отказе WINS.
Глава 19. WINS и разрешение имен NetBIOS
665
Репликация WINS
Для обеспечения настоящей отказоустойчивости серверы WINS одной сети
должны осуществлять репликацию своей информации. Это позволяет
клиенту, проводившему регистрацию своего имени NetBIOS у одного сервера
WINS, быть зафиксированным в базах данных всех серверов WINS в сети.
Репликация серверов не является автоматической. Администраторы сети
должны выработать подходящую стратегию репликации, чтобы обеспечивать
обновление баз данных серверов через приемлемые интервалы времени, не
перегружая при этом сеть избыточным трафиком.
Трафик, связанный с репликацией серверов WINS, является
однонаправленным. Можно конфигурировать сервер, чтобы он передавал (push) свои
данные другому серверу или получал (pull) данные от третьего сервера. Для
репликации в обоих направлениях потребуется сконфигурировать трафик
каждого направления по отдельности. Эти особенности позволяют
размещать группы серверов WINS в виде колец репликации (replication ring).
В кольце репликации WINS каждый сервер передает свои данные
следующему (downstream) соседу по направлению сетевого трафика и получает
данные от своего предыдущего (upstream) соседа по направлению трафика,
как показано на рис. 19.14. Отношения между двумя серверами WINS носят
название партнерства (partnership), где один из серверов является
передающим партнером (push partner), а другому отводится роль принимающего
партнера (pull partner). Важно понимать, что кольцо партнерства представляет
собой чисто логическую конструкцию, не имеющую ничего общего с
физическим расположением серверов.
ИЕ
Прием -;
Передача
Передача
гага
Прием
Прием
Передача
П
Прием
Передач
Рис. 19.14. Кольцо репликации
WINS использует прием и передачу,
которые приводят к тому, что
каждый сервер имеет одинаковую
информацию в своей базе данных
666
Часть V. Сетевые службы соединений
Архитектура WINS
В сети, где все сегменты связаны звеньями ЛВС, необходимое число серверов
WINS определяется исключительно количеством клиентов, которых требуется
обслуживать. Фирма Microsoft утверждает, что один сервер WINS может
поддерживать до 1500 регистрации имен в минуту и 4500 запросов в минуту.
Принимая во внимание существование часов пик (например, специфическое
время дня, когда множество пользователей почти одновременно прибывают в
офис и включают свои компьютеры, что вызывает отправку большого
количества запросов на регистрацию имен), можно рассчитать, что один сервер
WINS сможет обеспечить обслуживание около 10 000 пользователей.
Таким образом, два сервера WINS (причем наличие второго сервера будет
продиктовано исключительно соображениями отказоустойчивости) смогут
поддерживать любую сеть, сосредоточенную в одном месте, кроме самых
больших из них. Так как обмен сообщениями между серверами WINS и
клиентами WINS, а также между самими серверами WINS, осуществляется
только с помощью однонаправленных сообщений, серверы могут быть
расположены в различных сетевых сегментах, в любом месте сетевого комплекса.
Когда сетевой комплекс состоит из нескольких сегментов, расположенных в
различных местах и соединенных каналами связи глобальной сети, дизайн
архитектуры WINS становится намного более сложным. Так как линии
связи глобальной сети обычно являются более медленными и более дорогими,
чем соединение посредством участка ЛВС (а иногда значительно медленнее
и дороже), присутствие, по крайней мере, двух серверов WINS в каждом из
удаленных сегментов сети позволит всем клиентам сети регистрировать и
разрешать имена NetBIOS без необходимости отправки информации через
каналы связи глобальной сети.
С другой стороны, для фирмы, состоящей из большого числа отдельных
офисов, это решение может оказаться непрактичным. Важно принимать во
внимание конкретный объем сетевого трафика, фактически пересылаемый из
одного сегмента сети в другой. Если основная часть сетевого трафика не
покидает границ отдельного сетевого сегмента, расположенного в одном
месте, то оптимальным выбором будет использовать удаленные серверы WINS,
позволяя маленьким изолированным ЛВС прибегать к широковещательному
методу разрешения имен при нарушении связи по линии глобальной сети.
Однако трафик, связанный с репликацией серверов, обязательно будет
проходить по каналам связи глобальной сети, поэтому серверы должны быть
сконфигурированы таким образом, чтобы обеспечить репликацию с
использованием резервных соединений, когда один или несколько каналов связи
глобальной сети выйдут из строя. Схема кольцевого типа, когда каждый
сервер принимает информацию от другого сервера и передает свои данные
третьему серверу, в данном случае не будет работать достаточно хорошо, так
как нарушение связи по каналу глобальной сети между любыми двумя сер-
Глава 19. WINS и разрешение имен NetBIOS
667
верами разрушит всю цепочку репликации и не позволит всем серверам
иметь одинаковую информацию в базах данных.
Один из способов поддерживания репликации баз данных при сбоях
каналов связи заключается в создании двойной кольцевой конструкции,
показанной на рис. 19.15. Если информация станет перемещаться в обоих
направлениях, все серверы будут продолжать обновление своих баз данных,
даже если какой-либо из каналов связи глобальной сети выйдет из строя.
Передача
/^ ■
П\Щ Прием
Прием Передача
Прием
Передача щиГ
рием
Передача у^
;nrill flft.fl
Прием Передача
Прием
Передача
Рис. 19.15. Когда в двойном
кольце трафик распространяется
в обоих направлениях, отказ
отдельного соединения не сможет
помешать репликации серверов
Если в каком-то из сегментов находится более двух серверов WINS, то нет
никакой необходимости включать их все в кольцевую (или двойную
кольцевую) структуру, соединенную каналами связи глобальной сети. Для больших
сетей наилучшим решением представляется создание отдельных колец
репликации в каждом из отдельно расположенных сегментов сети, а затем
объединение всех сегментов общим кольцом. С другой стороны, любой из
сегментов, расположенный в изолированной области, должен иметь более чем
один компьютер, проводящий репликацию своей базы данных с
компьютерами других таких же областей. Это позволит серверам WINS в конкретной
области не быть отрезанными от всей сети при отказе одного компьютера.
^ Примечание ^Д
Более подробную информацию о разработке архитектуры WINS для большой
коммерческой сети можно получить в официальном издании фирмы Microsoft
под названием Windows Internet Naming Service Architecture and Capacity
Planning по адресу: http://www.microsoft.com/ntserver/nts/techdetails/techspecs/
WINSwp98.asp
668
Часть V. Сетевые службы соединений
Прокси-системы WINS
Смешивание систем В-узлов и Н-узлов в одной сети не является
правильным решением, но иногда возникает ситуация, когда отдельный сегмент из
В-узлов соединен с сетью WINS. Вместо использования файлов LMHOSTS
систем В-узлов для разрешения имен NetBIOS компьютеров других
сегментов сети, существует возможность конфигурации машины с операционной
системой Windows NT в сегменте В-узлов для функционирования в качестве
прокси-системы WINS.
Прокси-система WINS представляет собой систему-клиента WINS,
сконфигурированную для ожидания получения широковещательных сообщений
NAME QUERY REQUEST из локальной сети и ответа на них. Когда В-узел
осуществляет широковещательный запрос, прокси-система WINS пытается
удовлетворить его, используя информацию своего кэша имен NetBIOS. Если
это невозможно, прокси-система передает данный запрос в качестве
однонаправленного сообщения серверу WINS (вероятно, в другом сегменте
сети), заданному в ее конфигурации TCP/IP. Сервер WINS отвечает прокси-
системе, которая затем ретранслирует сообщение POSITIVE NAME QUERY
RESPONSE исходному В-узлу.
В сущности, прокси-системы WINS позволяют большому количеству В-
узлов пользоваться преимуществами WINS, без необходимости в
конфигурации каждой отдельной машины для роли клиента WINS. Конечно, дро-
цесс разрешения имени, проходящий с использованием прокси-системы
WINS, занимает чуть больше времени, но в качестве временной меры это
может быть очень полезно.
Чтобы сконфигурировать компьютер с операционной системой Windows NT
для выполнения функции прокси-системы WINS, потребуется сначала
сконфигурировать обычного клиента WINS, задав IP-адреса одного или
нескольких серверов WINS на вкладке WINS Address диалогового окна TCP/IP
Properties. Затем необходимо отредактировать системный реестр, создав
элемент под названием Enable Proxy со значением типа regdword, равным
1 в следующем ключе реестра:
HKEY LOCAL MACHINE\CurrentControlSet\Services\NetBT\Parameters
Глава 20
Система доменных имен
Компьютеры оперируют числами, в то время как люди более комфортно
себя чувствуют, когда используют слова. Это фундаментальное различие и
явилось причиной, которая привела к появлению Domain Name System
(DNS, система доменных имен). В те далекие времена начала 1970-х годов,
когда Интернет еще носил скромное название ARPANET, и вся
экспериментальная сеть включала всего несколько сотен систем, возникла
необходимость создания механизма, который бы позволил пользователям
обращаться к компьютерам сети по именам, а не по адресам. Разработка
протоколов TCP/IP в начале 1980-х годов привела к активному использованию
32-разрядных IP-адресов, трудных для запоминания, даже в десятичной
записи, разделенной точками.
Таблицы хостов
Самый первый механизм назначения адресам имен, удобных для человека,
назывался таблицей хостов (host table) и имел форму файла /etc/hosts в UNIX-
системах. Таблица хостов представляла собой обычный текстовый файл в
формате ASCII, содержащий список адресов систем сети и их эквивалентных
хост-имен. Когда пользователь желал получить доступ к ресурсам другой
машины сети, он задавал имя этой машины в приложении, затем система
проводила разрешение этого имени в соответствующий адрес, просматривая
таблицу хостов. В наши дни таблица хостов по-прежнему сохраняется в TCP/IP-
системах, обычно в виде файла под названием Hosts, расположенного где-
либо на локальном диске. Даже если никакой другой информации таблица
хостов не содержит, она обязательно включает следующую строку,
назначающую стандартному IP-адресу обратной связи хост-имя locaihost:
127.0.0.1 locaihost
В настоящее время доменная система имен практически повсеместно
заменила таблицы хостов, но когда TCP/IP-системы производят попытку
разрешения имени хоста в IP-адрес, они по-прежнему могут использовать файл
Hosts, прежде чем прибегнуть к помощи DNS, если были соответствующим
образом конфигурированы. В относительно небольшой TCP/IP-сети, не
связанной с Интернетом, администраторы могут использовать таблицы хос-
670
Часть V. Сетевые службы соединений
тов машин сети для обеспечения удобных хост-имен компьютерам. При
этом процесс разрешения имен станет протекать очень быстро, так как для
него не будет требоваться никакой сетевой коммуникации, а также не
возникнет необходимости в существовании сервера DNS.
Проблемы таблицы хостов
Использование таблиц хостов в TCP/IP-системах вызывало несколько
проблем, которые обострялись по мере того, как недавно образованная сеть
Интернет росла из маленькой "семьи" объединенных компьютеров в значительно
более глобальный объект. Наиболее фундаментальная проблема заключалась в
том, что каждый компьютер должен был иметь собственную таблицу хостов,
где перечислялись имена и адреса всех остальных компьютеров сети. Если к
сети присоединялся новый компьютер, доступ к нему с некоторого
компьютера сети был возможен только после добавления в его таблицу хостов
соответствующей информации о вновь появившемся компьютере.
В целях поддержания обновленных таблиц хостов на всех компьютерах сети,
администраторам очень важно знать обо всех добавлениях новых машин в
сеть, а также изменениях имен и адресов. Заставлять каждого
администратора ARPANET-системы всякий раз информировать по электронной почте
всех остальных администраторов о произведенных им в структуре сети
изменениях не могло считаться практичным решением, поэтому было
необходимо создать централизованное регистрационное бюро, где содержался бы
главный список систем сети с указанием их адресов и хост-имен.
Задача по поддержке такого регистрационного архива была возложена на
Network Information Center (NIC, Сетевой Информационный Центр) в
Standard Research Institute (SRI, Институт по выработке стандартов),
расположенном в городе Менло Парк (Menlo Park) штата Калифорния. Главный
список хранился в файле под названием Hosts.txt в компьютере с хост-именем
SRI-NIC. Администраторы ARPANET-систем направляли информацию о
произведенных изменениях по электронной почте непосредственно NIC, a
тот уже проводил периодическое обновление файла Hosts.txt. Чтобы
поддерживать свои системы в обновленном состоянии, администраторы должны
были, используя FTP, загрузить последнюю версию файла Hosts.txt из
компьютера SRI-NIC и компилировать в новый файл Hosts для своих систем.
С самого начала это решение было достаточно адекватным, но, по мере
продолжавшегося роста сети, оно постепенно становилось все более и более
непригодным для работы. С добавлением новых машин в сеть росли
размеры файла Hosts.txt и увеличивалось число людей, стремившихся получить
доступ к компьютеру SRI-NIC и регулярно загружать новые версии этого
файла. Объем сетевого трафика, создаваемого этой простой технической
процедурой, стал чрезвычайно велик, а изменения в сети происходили уже
Глава 20. Система доменных имен
671
со скоростью, затруднявшей задачу администраторов по поддержанию их
систем в обновленном состоянии.
Другая серьезная проблема заключалась в отсутствии контроля за хост-
именами, использовавшимися для представления машин в сети. Когда
протоколы TCP/IP стали широко использоваться, NIC взял на себя ответственность
по назначению сетевых IP-адресов, но хост-имена для компьютеров своих
сетей администраторы по-прежнему выбирали самостоятельно. Случайные
совпадения хост-имен приводили к неправильной маршрутизации трафика и
нарушениям связи. Стоит только представить себе, какой хаос возникнет в
наши дни, если кто-либо получит разрешение на создание Web-сервера в
Интернете и станет использовать для него имя www.microsoft.com. Понятно, что
требовалось лучшее решение данного вопроса в целом, и в конечном итоге
это и привело к созданию системы доменных имен (Domain Name System).
Цели DNS
Для решения проблем, возникавших при использовании таблиц хостов для
регистрации и разрешения имен, люди, отвечавшие за разработку
ARPANET, приняли решение о создании совершенно нового механизма. Их
начальные установки на первый взгляд кажутся противоречивыми: создать
механизм, который позволил бы администраторам назначать хост-имена
своим собственным системам без риска повторения имен, и в тоже время
сделать информацию о хост-именах глобально доступной другим
администраторам, не опираясь при этом на единственную точку доступа, которая
может стать "узким местом" при прохождении трафика или критическим
элементом, приводящим к нарушению работы всего механизма в целом.
Кроме того, предполагаемый механизм должен иметь возможность
поддерживать информацию о системах, использующих различные протоколы со
всевозможными типами адресов, а также обладать способностью к
адаптации для работы с разными типами приложений.
Решением всех этих вопросов и стала система доменных имен (DNS, Domain
Name System), разработанная Питером Мокапетрисом (Peter Mockapetris) и
опубликованная в 1983 г. в виде двух документов IETF. Документы были
следующими: RFC 882 под названием "Domain Names: concept and Facilities" и
RFC 883 под названием "Domain Names: Implementation Specification". Эти
документы были обновлены в 1987 г. и опубликованы как RFC 1034 и
RFC 1035 соответственно, а также утверждены в качестве стандарта IETF. С
этого времени вышло огромное количество других RFC-документов,
дополнивших информацию стандартов в свете возникавших конкретных проблем
сетевого взаимодействия. Некоторые из этих дополнительных документов
представляют собой рекомендуемые стандарты, другие же являются
экспериментальными. Эти документы включают следующие:
□ RFC 1101 DNS Encoding of Network Names and Other Types;
672
Часть V. Сетевые службы соединений
□ RFC 1183 New DNS RR Definitions;
□ RFC 1348 DNS NSAP RRs;
□ RFC 1794 DNS Support for Load Balancing;
□ RFC 1876 A Means for Expressing Location Information in the Domain Name
System;
□ RFC 1982 Serial Number Arithmetic;
□ RFC 1995 Incremental Zone Transfer in DNS;
□ RFC 1996 A Mechanism for Prompt Notification of Zone Changes (DNS
NOTIFY);
□ RFC 2052 A DNS RR for Specifying the Location of Services (DNS SRV);
□ RFC 2181 Clarifications to the DNS Specification;
□ RFC 2136 Dynamic Updates in the Domain Name System (DNS UPDATE);
□ RFC 2137 Secure Domain Name System Dynamic Update;
□ RFC 2308 Negative Caching of DNS Queries (DNS NCACHE);
□ RFC 2535 Domain Name System Security Extensions.
Система DNS, созданная Питером Мокапетрисом, состоит из трех основных
элементов:
□ иерархическое пространство имен, способное делить базу данных хост-
системы на отдельные части, которые носят названия доменов (domain);
□ серверы имен доменов, содержащие информацию о хостах и
подчиненных доменах (subdomain) в пределах конкретного домена;
□ распознователи (resolver), генерирующие запросы на информацию для
серверов имен доменов.
Все эти элементы обсуждаются в следующих разделах.
Построение доменных имен
Система доменных имен достигла задач, поставленных перед ней,
посредством применения иерархической системы, как в пространстве имен, так и в
базе данных, содержащей информацию о хост-именах. До того, как была
разработана DNS, администраторы назначали обычные хост-имена
компьютерам своих сетей. Иногда имя отражало функцию компьютера, иногда его
определенное расположение (как, например, в случае с компьютером SRI-
NIC), но не существовало правила, которое обязывало бы делать именно
так. В те времена в составе сетей было достаточно мало компьютеров, чтобы
такое решение оказалось вполне практичным.
Для поддержки сети по мере ее роста Питер Мокапетрис разработал
иерархическое пространство имен, позволявшее индивидуальным сетевым адми-
Глава 20. Система доменных имен
673
нистраторам назначать имена компьютерам в своих сетях и одновременно
предоставлявшее возможность идентификации всей организации, в сеть
которой входят вышеуказанные машины, а также предотвращавшее
повторение имен в Интернете. Пространство имен DNS основано на доменах,
существующих в рамках иерархической структуры, не слишком отличающейся
от дерева каталогов файловой системы. Домен можно рассматривать в
качестве эквивалента каталога, который способен содержать как поддомены
(подкаталоги), так и хосты (файлы), формируя структуру под названием
дерево DNS (рис. 20.1). Делегируя полномочия по управлению конкретными
доменами сетевым администраторам по всей сети Интернет, можно
получить результат в виде распределенной базы данных, рассеянной по многим и
многим компьютерам сети.
Корень
г-Г
ооо ооо о
I I Подчиненные
1 1 домены
Хосты
Рис. 20.1. DNS использует древовидную структуру, аналогичную
той, что применяется файловой системой
^ Примечание ^Д
Термин "домен" имеет более одного значения, применительно к индустрии
компьютерных сетей. Например, операционная система Windows NT использует это
понятие при описании процесса формирования административных групп
компьютеров в частной сети, идентифицируемых NetBIOS-именами. Этот тип домена
является совершенно независимым и не имеет ничего общего с доменом DNS.
Система в сети на базе Windows NT может являться членом как домена Windows NT,
так и домена DNS, а также входить в оба домена одновременно. Однако эти типы
доменов выполняют совершенно разные функции и могут иметь различные
имена. Network Information Service (NIS, Сетевая информационная служба) фирмы
Sun Microsystems также использует термин "домен" для обозначения группы
хостов, но он не является синонимом домена DNS.
Для назначения уникальных IP-адресов всем компьютерам Интернета была
разработана двухуровневая система, когда администраторы получали
идентификаторы сети, формировавшие первую часть IP-адресов, а затем
самостоятельно назначали хост-идентификаторы отдельным компьютерам,
формируя, таким образом, вторую часть IP-адресов. Это позволило распреде-
674
Часть V. Сетевые службы соединений
лить задачи по назначению IP-адресов между тысячами администраторов
сетей по всему миру. Пространство имен DNS функционирует по
аналогичному принципу: администраторам предоставляются имена доменов, и на
них возлагается дальнейшая ответственность за назначение хост-имен
компьютерам в пределах конкретного домена.
Результатом этого является то, что любой компьютер в Интернете
уникально идентифицируется DNS-именем, которое состоит из хост-имени данной
системы и имен всех ее родительских доменов, вплоть до корня дерева
DNS, разделенных точками. Каждое имя может иметь длину до 63
символов, при этом максимальная длина полного DNS-имени, включая имя хоста
и имена всех родительских доменов, не должна превышать 255 символов.
Имена доменов и хостов нечувствительны к регистру и могут принимать
любое значение, кроме нулевого (отсутствие символов), которое отражает
структуру ветви дерева DNS.
Как можно видеть на рис. 20.2, компьютер домена mycorp функционирует в
качестве Web-сервера, поэтому администратор присвоил ему хост-имя www.
Этот администратор несет ответственность за домен mycorp, поэтому он
имеет возможность назначать компьютерам этого домена любые имена,
которые сочтет нужными. Так как домен mycorp является подцоменом по
отношению к домену com, полное DNS-имя этого Web-сервера будет
записываться как www.mycorp.com. Таким образом, DNS-имя представляет собой
нечто вроде почтового адреса, в котором домен верхнего уровня
соответствует государству, домен второго уровня эквивалентен названию города, а
хост-имя представляет собой название улицы и дома.
о ооо
Рис. 20.2. DNS-имя www.mycorp.com отражает место
данной системы в иерархии доменов
Поскольку полное DNS-имя прослеживает весь путь домена вверх по
структуре дерева DNS вплоть до корня, теоретически оно должно заканчиваться
точкой, показывая границу между доменом верхнего уровня и корнем.
Несмотря на это, концевая точка практически всегда опускается при повсе-
Глава 20. Система доменных имен
675
дневном использовании DNS-имен, кроме тех случаев, когда она служит
для разграничения абсолютного доменного имени от относительного
доменного имени. Абсолютное имя домена (absolute domain name), также
называемое полностью определенным именем домена (FQDN, fully qualified domain
пате), задает полный путь домена до корня, в то время как относительное
имя домена (relative domain name) определяет только поддомен, относящийся
к контексту специфического домена. Например, работая с комплексной
сетью под названием zacker.com, которая использует несколько уровней
доменов, автор этих строк может обращаться к системе, применяя относительное
имя mail.paris (без точки). В данной ситуации ему и его коллегам ясно, что
на самом деле он имеет в виду систему с абсолютным именем
mail.paris.zacker.com. (с точкой).
Важно также понимать, что DNS-имена непосредственно не связаны с IP-
адресами или любым другим типом адресов. Теоретически, хост-системы,
входящие в конкретный домен, могут быть расположены в различных сетях
на расстоянии многих тысяч миль друг от друга.
Домены верхнего уровня
В каждом DNS-имени первое слово справа представляет домен самого
верхнего уровня дерева DNS, который носит название домена верхнего уровня
(top-level domain). Эти домены верхнего уровня, по сути, функционируют в
качестве регистрационных бюро для доменов второго уровня. Например,
администратор zacker.com обращался в домен верхнего уровня com и
зарегистрировал там имя zacker, уплатив за это определенную сумму. Теперь
данный администратор имеет исключительное право использовать имя
zacker.com и может создавать любые имена поддоменов и хост-имена, какие
сочтет необходимыми, в рамках этого домена. Не имеет значения, что
тысячи администраторов других сетей будут называть свои Web-серверы www,
так как все они имеют собственные индивидуальные доменные имена. Хост
имя www может повторяться где угодно, пока DNS-имя www.zacker.com
остается уникальным.
Оригинальное пространство имен DNS предусматривает существование
семи доменов верхнего уровня, предназначенных для специфических целей, а
именно:
□ com — коммерческие организации;
□ edu — четырехгодичные, присваивающие ученую, степень
образовательные учреждения в Северной Америке;
□ gov — правительственные учреждения Соединенных Штатов Америки;
□ int — организации, созданные в соответствии с международными
соглашениями;
676
Часть V. Сетевые службы соединений
П mil — военные организации Соединенных Штатов Америки;
□ net — сетевые организации;
□ org — некоммерческие организации.
Домены edu, gov, int и mil зарезервированы для использования
сертифицированными организациями, но домены com, org и net носят названия
глобальных доменов (global domain), так как любые организации в любой стране
мира могут зарегистрировать собственные домены второго уровня в этих
доменах. С 1993 года эти домены верхнего уровня находятся под
управлением компании под названием Network Solutions Inc. (NSI, ранее известная
как InterNIC, Internet Network Information Center) как результат совместного
соглашения с правительством Соединенных Штатов Америки. На Web-сайте
этой компании по адресу http://www.networksolutions.com можно
зарегистрировать имена в упомянутых доменах верхнего уровня.
В 1998 году это соглашение с правительством США было изменено, чтобы
разрешить и другим организациям соревноваться с NSI за право проведения
регистрации имен доменов. Организация под названием Internet Corporation
for Assigned Names and Numbers (ICANN) отвечает за аккредитацию служб по
регистрации имен доменов. В соответствии с этой новой политикой,
процедуры и стоимость регистрации имен в доменах com, org и net могут отличаться в
некоторой степени, но не будет никакой разницы в функциональности
доменных имен, а также не будет допускаться повторение имен доменов.
Г Примечание ^Д
Кроме NSI, список организаций, занимающихся в настоящее время
регистрацией доменных имен в рамках доменов com, org и net, включает следующие:
□ CORE http://www.corenic.org
□ Register.com http://www.register.com
□ Oleane (France Telecom) http://www.oleane.com
□ Melbourne IT http://www.internetnamesww.com
Конфликты, связанные с доменом com
Из всех доменов верхнего уровня с доменом com связано наибольшее
количество коммерческих интересов в Интернете, поэтому некоторые типы имен
в рамках домена com становятся все более дефицитными. Например, в наши
дни крайне трудно придумать броское имя для компании, занимающейся
разработками в сфере Интернет-технологии, которое бы включало слово
"net" и не было бы уже зарегистрировано в домене com.
Также продолжаются конфликты между организациями, полагающими, что
они имеют одинаковые права на использование конкретного доменного
имени. Законы об авторском праве на торговые марки не запрещают двум компа-
Глава 20. Система доменных имен
677
ниям иметь одинаковые названия, пока они не конкурируют напрямую в
одной и той же области рынка. Однако, компании Al Auto Parts (Запчасти для
автомобилей Al) Al Software, Inc. (Программное обеспечение А1), обе могут
посчитать, что имеют право на регистрацию домена al.com, и в некоторых
случаях в связи с этим возникают судебные процессы. В других случаях,
слишком предусмотрительные частные лица, заранее зарегистрировавшие
домены, используя собственные имена, через несколько лет сталкиваются с
корпорациями с такими же именами, испытывающими непреодолимое
желание включиться в модное Интернет-движение и имеющими твердое
убеждение, что у них есть права именно на эти имена доменов. Если некий
индивидуум шотландского происхождения зарегистрировал свой домен, и по
прошествии определенного количества лет обнаружил, что компания (например),
содержащая сеть экспресс-закусочных очень хочет получить именно это
доменное имя, конечным результатом может стать как полезное приобретение
для индивидуума, так и мучительный судебный процесс.
Этот феномен также положил начало особой группе тунеядцев от Интернета
самого низкого уровня, известных как спекулянты доменными именами
(domain name speculator). Эти люди регистрируют большое количество
доменных имен, которые, как им кажется, какие-либо компании могут
захотеть использовать в будущем, и надеются, что смогут получить большие
суммы после продажи заинтересованным компаниям имен доменов, уже
зарегистрированных ими. Другая недобросовестная практика заключается в
том, что компания, работающая в определенной области бизнеса,
регистрирует домены, используя при этом названия своих непосредственных
конкурентов. В таком случае, когда пользователь Интернета обращается на
www.pizzaman.com, ожидая увидеть Web-сайт известной компании Ray the
Pizza Man, он с удивлением обнаруживает, что попал на сайт некой
компании Bob's Pizza Palace. Оба рассмотренных варианта приводят к
гражданским искам, но ни один вариант не является незаконным.
Родовые домены верхнего уровня
Компания ICANN также изыскивает возможные пути создания
дополнительных доменов верхнего уровня для устранения ощутимого истощения
доступных имен. От нее уже поступало несколько предложений о создании
родовых доменов верхнего уровня (gTLD, generic top-level domain), которые
представляют собой домены, отражающие определенные области рынка.
Некоторые из предложенных имен доменов таковы: shop, arts, store, sex,
news, firm и law. Решение о том, будут ли родовые домены верхнего уровня
воплощены в реальность, компанией ICANN еще не принималось, хотя уже
есть некоторые компании, зарезервировавшие себе имена в этих доменах.
Компании, которым не удается получить имя, отражающее ее название или
торговую марку, в домене верхнего уровня com, в некоторых случаях
обращаются в домены верхнего уровня net или org, или же пользуются одним из
доменов с кодировкой страны.
678
Часть V. Сетевые службы соединений
Домены с кодировкой страны
Существует 191 так называемый домен с кодировкой страны (country-code
domain). Такие домены также известны в качестве международных доменов
(international domain), называемых в конкретных странах на родном языке,
например fr во Франции (от France) или de в Германии (от Deutschland).
Восемьдесят доменов из 191 разрешают бесплатную регистрацию доменов
второго уровня всем желающим без каких-либо ограничений. В остальных
111 странах, чтобы иметь возможность зарегистрировать домен второго
уровня, организация должна соответствовать определенным требованиям в
области налогообложения и торговых марок или обеспечивать некоторую
степень своего местного присутствия. Каждый из этих доменов с
кодировкой страны управляется определенной организацией в своей стране, которая
проводит свою собственную индивидуальную политику по регистрации
доменных имен.
^ Примечание ^|
Список кодировок стран, поддерживаемый ISO (International Organization for
Standardization, Международная организация по стандартизации) можно
увидеть на http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp/enJistp1 .html.
Некоторые страны, разрешающие бесплатную регистрацию доменов второго
уровня, просто проводят более агрессивную политику по привлечению
компаний к регистрации своих доменов именно у них, что приводит к
достаточно частому появлению доменов верхнего уровня из отдаленных
островных государств, таких, например, как пи (от Niue), to (от Tonga) или сс (от
Cocos-Keeling Islands).
Существует также домен верхнего уровня us, представляющий реальную
альтернативу для организаций, не имеющих возможности получить желаемое
имя в домене com. Домен us находится под управлением Института
информационных технологий (Information Science Institute) Университета Южной
Калифорнии (University of Southern California) и разрешает регистрацию
доменов второго уровня фирмам, частным лицам, а также правительственным
агентствам, образовательным учреждениям и другим организациям.
Единственное ограничение состоит в том, что все имена доменов us должны
соответствовать иерархии имен, использующей двухбуквенные сокращения
названий штатов на третьем уровне и названия городов на четвертом уровне.
Таким образом, пример правильно сформированного имени us-домена будет
что-либо похожее на zacker.chicago.il.us.
Домены второго уровня
Службы регистрации в доменах верхнего уровня отвечают за регистрацию
имен доменов второго уровня, беря соответствующую плату. До тех пор, пока
Глава 20. Система доменных имен
679
организация продолжает вносить плату за имя домена, она обладает
исключительным правом на использование данного имени. Служба регистрации
поддерживает записи, идентифицирующие собственника каждого домена второго
уровня и определяющие механизмы трех видов контактов с организацией или
лицом, зарегистрировавшим данный домен, а именно административный
контакт, финансовый контакт и технический контакт. Кроме того, служба
регистрации должна иметь IP-адреса двух DNS-серверов, которые будут
функционировать в качестве источников дальнейшей информации о домене второго
уровня. Это вся информация, поддерживаемая доменом верхнего уровня.
Администраторы сети того лица или организации, которая зарегистрировала
домен, могут создать любое количество поддоменов и хостов в рамках домена
второго уровня, причем без всякой необходимости уведомления об этом
службы регистрации домена верхнего уровня.
Для формирования домена второго уровня организация должна иметь как
минимум два DNS-сервера. DNS-сервер представляет собой специальную
программу, исполняемую компьютером. Существуют версии DNS-серверов
для всех основных сетевых операционных систем. DNS-сервер совсем не
обязан находиться в пределах сети, чей владелец зарегистрировал домен.
Многие компании предпочитают переложить обязанности по рутинной
работе с Интернет-серверами на внешние по отношению к ним организации и
пользуются DNS-серверами своих провайдеров услуг Интернета. DNS-
серверы, указанные в записях домена верхнего уровня, считаются
авторитетными источниками информации (authority) для домена второго уровня.
Это означает, что они представляют собой единственные источники полной
информации о конкретном домене. Когда администраторы сети хотят
добавить в свою сеть еще один хост или создать новый поддомен, они
обязательно отражают эти изменения в своем DNS-сервере. Кроме того, когда
пользователь или приложение где-либо в сети Интернет пытается выяснить
IP-адрес, ассоциированный с конкретным хост-именем, его запрос в
конечном итоге оказывается у одного из авторитетных серверов домена, к
которому это имя принадлежит.
Таким образом, говоря самыми простыми словами, работа системы
доменных имен по удовлетворению запросов об адресах, соответствующих
конкретным хост-именам, сводится к направлению этих запросов серверу
домена верхнего уровня, который в свою очередь передает их далее,
авторитетным серверам доменов второго уровня, а они уже обеспечивают ответ в
виде требуемой информации. Именно поэтому DNS описывается в качестве
распределенной базы данных. Информация об отдельных хостах, входящих в
конкретный домен, хранится на его авторитетных серверах, которые могут
быть расположены где угодно. Не существует отдельного полного списка
хост-имен всей сети Интернет. Но это на самом деле очень хорошо, так как
во времена создания DNS никто не мог предположить, что сеть Интернет
достигнет тех размеров, которые она имеет в наши дни.
680
Часть V. Сетевые службы соединений
Распределенная природа базы данных DNS устраняет проблему, связанную
с перегрузками в связи с избыточным объемом сетевого трафика, при
использовании таблицы хостов, поддерживаемой единичным компьютером.
Сервер домена верхнего уровня обрабатывает миллионы запросов в сутки,
но это всего лишь запросы для DNS-серверов, ассоциированных с
доменами второго уровня. Если бы домены верхнего уровня должны были
поддерживать записи о каждой хост-системе каждого домена второго уровня,
который был ими зарегистрирован, то результирующий трафик легко "поставил
бы на колени" всю систему в целом.
Распределение базы данных подобным образом также позволяет разделить
нагрузку по рутинной административной деятельности между тысячами
сетевых администраторов по всему миру. Каждое из физических лиц или
организаций, зарегистрировавших собственный домен, отвечает за свою
область пространства имен и может управлять ей по собственному
усмотрению, абсолютно автономно.
Поддомены
Структура многих доменов сети Интернет исчерпывается двумя уровнями,
это подразумевает, что домены второго уровня содержат только
хост-системы. Однако администраторы домена второго уровня имеют полную
возможность создания поддоменов, формирующих дополнительные уровни.
Например, домен us предполагает наличие как минимум трех уровней: код
государства, код штата и код города. Не существует никаких ограничений на
количество подуровней, которые могут быть созданы в пределах
конкретного домена, за исключением элементарной практичности использования, а
также максимальной длины DNS-имени в 255 символов.
В некоторых случаях большие организации используют поддомены для
подразделения собственных сетей в соответствии с географическими, либо
организационными границами. Большая корпорация может создавать домены
третьего уровня для каждого города или страны, где находятся офисы ее
подразделений, например, paris.zacker.com и neyork.zacker.com, а также для
каждого из функциональных отделов, например, sales.zacker.com или
mis.zacker.com. Конкретные организационные принципы для каждого
домена полностью зависят исключительно только от его администраторов.
Использование поддоменов может существенно облегчить процессы
идентификации хостов в сети большого размера, но многие организации
используют поддомены для распределения и делегирования рутинных обязанностей
по обслуживанию доменов. DNS-серверы любого домена верхнего уровня
содержат адреса авторитетных DNS-серверов всех доменов второго уровня,
входящих в данный домен. Аналогично, DNS-серверы любого домена
второго уровня могут опираться на авторитетные DNS-серверы,
поддерживаемые администраторами любого домена третьего уровня.
Глава 20. Система доменных имен
681
Для того чтобы обеспечить возможность подобного делегирования
обязанностей, DNS-серверы могут разбивать пространство имен доменов на
административные единицы, называемые зонами (zone). Домен, состоящий
только из двух уровней, включает лишь одну зону, которая, в данном случае,
может считаться эквивалентом домена. Однако домен третьего уровня может
быть разделен на множественные зоны. Зоной может быть любая смежная
ветвь дерева DNS, и она способна включать домены различных уровней.
Например, на схеме, показанной на рис. 20.3, домен paris.zacker.com со
всеми своими поддоменами и хостами составляет одну зону, представляемую
собственными DNS-серверами. Остальная часть домена zacker.com, включая
newyork.zacker.com, chicago.zacker.com и собственно zacker.com, вошла в
другую зону.
-] Корень \-
Рис. 20.3. Зона представляет собой административную
единицу, которая содержит ветвь дерева DNS
Таким образом, зону можно определить как любую часть домена, включая ее
поддомены, которые не были обозначены как части иных зон.
Каждая зона должна быть представлена DNS-серверами, которые являются
авторитетными серверами для этой зоны. Один DNS-сервер может быть
авторитетным для нескольких зон, поэтому, например, вполне можно создать
отдельную зону для каждого домена третьего уровня в рамках домена
zacker.com, по-прежнему ограничившись при этом двумя наборами DNS-
серверов.
Функции DNS
DNS-серверы повсеместно являются неотъемлемой частью сетей TCP/IP,
даже если это и не очень заметно. При соединении с Интернетом DNS-серверы
682
Часть V. Сетевые службы соединений
используются каждый раз, когда пользователь указывает имя сервера или
URL, для разрешения имени заданной системы в ее IP-адрес. Когда
пользователь одиночного компьютера связывается со своим Интернет-провайдером
услуг, сервер провайдера обычно сообщает системе-клиенту адреса DNS-
серверов, которые система и будет применять. В сети TCP/IP администраторы
или пользователи задают адреса DNS-серверов, которыми системы сети будут
пользоваться, еще при конфигурации клиентов TCP/IP. Это может
осуществляться вручную для каждой рабочей станции или же с помощью
автоматизированного процесса, обеспечиваемого таким сервисом, как DHCP (Dynamic
Host Configuration Protocol, Протокол динамической конфигурации хоста).
Коммуникации TCP/IP базируются исключительно на IP-адресах. Прежде
чем одна система сможет взаимодействовать с другой, она должна выяснить
ее IP-адрес. Обычно пользователь задает приложению-клиенту
дружественное имя (например, DNS-имя) сервера. Приложение должно после этого
провести разрешение этого имени сервера в IP-адрес, до того, как оно
сможет отправить серверу какое бы то ни было сообщение. Если механизм
разрешения имени по каким-либо причинам не пройдет успешно, любое
взаимодействие с сервером будет невозможно.
Практически все сети TCP/IP используют какую-либо форму
дружественных имен для хост-систем и включают механизм для разрешения этих имен
в IP-адреса, необходимые для начала взаимодействия между системами.
Если же сеть соединена с Интернетом, то разрешение DNS-имен становится
уже необходимостью. С другой стороны, частные сети не обязательно
нуждаются в этом. Например, сети Microsoft Windows пользуются NetBIOS-
именами для идентификации своих систем и имеют собственные механизмы
разрешения этих имен в IP-адреса. Эти механизмы включают WINS
(Windows Internet Naming Service, Служба имен Интернета для Windows), a
также передачу широковещательных сообщений каждой системе сети.
NetBIOS-имена и механизмы разрешения имен не занимают место DNS,
они предназначены для использования в относительно небольших, частных
сетях и совершенно не подходят для такой огромной сети, как Интернет.
Компьютер может иметь как NetBIOS-имя, так и хост-имя DNS и
использовать оба типа механизмов разрешения имен.
|[^ Примечание ^|
Для получения более подробной информации об именах NetBIOS и
разрешении имен в сетях Windows см. главу 19.
Записи о ресурсах
DNS-серверы по сути представляют собой серверы базы данных, хранящие
информацию о хостах и подцоменах, за которые несут ответственность, в
виде так называемых записей о ресурсах (RRs, resource records). При создании
Глава 20. Система доменных имен
683
DNS-сервера формируется запись о ресурсе для хост-имени каждой
системы, к которой предполагается доступ из остальной части сети. Существует
несколько типов записей о ресурсах, используемых DNS-серверами.
Наиболее важные из них перечислены ниже.
□ SOA (Start of Authority, авторитетный источник). Показывает, что данный
сервер представляет собой наилучший авторитетный источник
информации о конкретной зоне. Каждая зона должна иметь собственную SOA-
запись, и только одна SOA-запись может находиться в одной зоне.
□ NS (Name Server, сервер имен). Идентифицирует DNS-сервер,
функционирующий в качестве авторитетного сервера для данной зоны. Каждый
DNS-сервер данной зоны (как ведущий (primary master), так и
подчиненный (slave)) должен быть представлен NS-записью.
□ A (Address, адрес). Представляет собой отображение соответствия имени
и адреса, которое определяет IP-адрес, соответствующий конкретному
DNS-имени. Этот тип записей обеспечивает первичную функцию DNS,
позволяя конвертировать имена в соответствующие им адреса.
□ PTR. Обеспечивает отображение соответствия адресов и имен,
необходимое для нахождения DNS-имени по известному IP-адресу в домене
in-addr.arpa. Представляет собой функциональную противоположность
А-записи, используется только при обратном просмотре (reverse lookup).
□ CNAME (Canonical Name, каноническое имя). Создает альтернативное имя
(alias), указывающее на каноническое имя (то есть "настоящее" имя) хоста,
который идентифицирован А-записью. CNAME-записи применяются для
обеспечения альтернативных имен, с помощью которых системы могут
быть идентифицированы. Например, в сети может присутствовать система
с именем serverl.zacker.com, функционирующая в качестве Web-сервера.
Изменение хост-имени системы может запутать пользователей данной
сети, но администратор все же хочет, чтобы в зарегистрированном домене
эта система по традиции носила имя www, используемое для
идентификации Web-серверов. Как только создана CNAME-запись для имени
www.zacker.com, указывающая на имя serverl.zacker.com, данная система
может быть идентифицирована обоими именами.
□ MX (Mail Exchanger, система обмена почтой). Идентифицирует систему,
которая будет направлять трафик электронной почты, посылаемый по
адресам домена, индивидуальным получателям, почтовому шлюзу или
другому почтовому серверу.
В дополнение к работе в качестве авторитетного источника для небольшой
области именного пространства DNS, серверы также обрабатывают запросы
клиентов, связанные с разрешением имен, путем обращения к собственным
записям о ресурсах, либо пересылки этих запросов другим DNS-серверам
сети. Процесс пересылки запросов носит название перенаправления (referral)
684
Часть V. Сетевые службы соединений
и отражает то, как DNS-серверы всей сети Интернет работают сообща для
обеспечения объединенного информационного ресурса для всего
пространства доменных имен.
Разрешение имен DNS
Несмотря на то, что все Интернет-приложения используют DNS для
разрешения хост-имен в IP-адреса, процесс разрешения DNS-имени в IP-адрес
проще всего продемонстрировать на примере использования браузера
Microsoft Internet Explorer для получения доступа к какому-либо Web-сайту.
Когда пользователь набирает URL, содержащий DNS-имя (например,
www.microsoft.com) в поле адреса Web-браузера и нажимает клавишу
<Enter>, то, если он достаточно быстро посмотрит на строку текущего
состояния в левом нижнем углу, то сможет увидеть сообщение, гласящее
"Finding Site: www.microsoft.com" (Идет поиск сайта). Через несколько
секунд появится сообщение "Connecting to" (Устанавливается соединение), за
которым будет следовать IP-адрес. Именно в этот промежуток времени и
происходит процесс разрешения DNS-имени.
С точки зрения клиента, процедура, осуществляемая в течение этих
нескольких секунд, заключается в том, что приложение отправляет запрос
DNS-серверу, который содержит имя, подлежащее разрешению. Затем
сервер отвечает сообщением, где содержится IP-адрес, соответствующий
данному DNS-имени. Используя обнаруженный адрес, приложение уже может
отправить сообщение по требуемому месту назначения. Только после
изучения роли DNS-сервера в этом процессе можно понять, насколько сложным
на самом деле он является.
Распознаватели
Компонент в клиентской системе, генерирующий DNS-запрос, носит
название распознавателя (resolver). В большинстве случаев распознаватель
представляет собой просто набор стандартных библиотек операционной системы,
которые генерируют запросы, отправляемые серверу DNS, считывают
запрошенную информацию из ответов сервера и снабжают требуемыми сведениями
то приложение, которое изначально их запрашивало. Кроме того,
распознаватель может повторно направить запрос серверу, если ответ от последнего не
приходит в течение определенного периода времени, а также имеет
возможность обрабатывать сообщения об ошибках, возвращаемые сервером,
например, когда процесс разрешения имени проходит неудачно.
Запросы DNS
Обычно при конфигурации клиента TCP/IP ему предоставляются адреса
двух серверов DNS, которым он может посылать запросы. Клиент может
отправлять сообщения любому DNS-серверу, он не обязан использовать ав-
Глава 20. Система доменных имен 685
торитетный сервер домена, к которому принадлежит сам, при этом сервер
не обязательно должен находиться в пределах локальной сети. Однако
использование ближайшего к клиенту DNS-сервера представляется
наилучшим решением, так как позволяет свести к минимуму время, необходимое
на прохождения сообщений от одной системы до другой. Клиенту
достаточно доступа всего к одному DNS-серверу, но обычно задаются адреса двух
серверов в целях обеспечения резервного варианта на тот случай, если один
из них вдруг станет недоступен.
Существуют два основных типа DNS-запросов: рекурсивные (recursive) и
итерационные (iterative). Когда сервер получает рекурсивный запрос, он
отвечает за попытку разрешения требуемого имени и за передачу ответа системе,
запрашивавшей у него информацию. Даже если сам сервер не владеет
необходимой информацией, он должен посылать свои собственные запросы
другим DNS-серверам, пока не получит либо саму информацию, либо
сообщение об ошибке, поясняющее, почему информация недоступна, а затем
передать ответ обратно клиенту. Таким образом, система, сгенерировавшая
запрос, получает ответ только от того сервера, которому она его изначально
направила. Распознаватели в клиентских системах практически всегда
направляют DNS-серверам именно рекурсивные запросы.
Когда сервер получает итерационный запрос (также называемый
нерекурсивным запросом), он может ответить как используя информацию своей базы
данных, так и отослать инициатора запроса к другому DNS-серверу.
Получатель запроса формулирует наилучший ответ, с учетом информации,
которой он в данный момент владеет, но не несет ответственности за поиск
информации, как в случае рекурсивного запроса. DNS-сервер,
обрабатывающий рекурсивный запрос клиента, обычно сам применяет итерационные
запросы для получения информации от других серверов. Для DNS-сервера
также существует возможность самому отправить рекурсивный запрос
другому серверу, что суммарно соответствует эффекту "передачи фишки",
заставляя уже другой сервер заниматься поисками требуемой информации.
Однако эта практика была признана порочной и крайне редко применяется
без специального разрешения.
Один из вариантов, когда DNS-сервер все-таки посылает другим серверам
рекурсивные запросы, предусматривает конфигурацию данного
DNS-сервера для работы в качестве маршрутизатора (forwarder). В сети, имеющей
несколько DNS-серверов, администраторы могут не желать, чтобы все они
посылали запросы другим серверам в сети Интернет. Например, если
данная сеть имеет сравнительно медленное соединение с сетью Интернет,
несколько серверов, постоянно передающих запросы, могут использовать
слишком большую часть пропускной способности доступного канала связи.
Во избежание этого некоторые реализации DNS позволяют
конфигурировать один из серверов в качестве маршрутизатора для всех
Интернет-запросов, генерируемых всеми остальными серверами сети. Каждый раз, когда
686
Часть V. Сетевые службы соединений
сервер хочет разрешить DNS-имя системы в Интернете и не может найти
данную информацию в своем кэше, он передает рекурсивный запрос
маршрутизатору, который уже отвечает за отправку собственных итерационных
запросов через соединение с глобальной сетью. Как только маршрутизатору
удается разрешить имя, он посылает ответ исходному DNS-серверу, а тот
уже ретранслирует ответ клиенту.
Линия поведения, связанная с маршрутизацией запросов, имеет отношение
только к функции исходного сервера DNS. Сам маршрутизатор просто
получает стандартные рекурсивные запросы от оригинального сервера и
обрабатывает их обычным образом. Сервер может быть конфигурирован для
использования маршрутизатора как в исключающем режиме, так и в неисключающем.
При работе в исключающем режиме (exclusive mode) сервер опирается только на
маршрутизатор в процессе разрешения требуемого имени. Если все попытки
маршрутизатора разрешить данное имя заканчиваются неудачно и он передает
оригинальному серверу сообщение о таком результате, сервер просто
ретранслирует это сообщение клиенту. Сервер, использующий маршрутизатор для
разрешения имен, носит название подчиненного (slave). В неисключающем
режиме (nonexclusive mode), если маршрутизатору не удается разрешить
запрашиваемое имя и он передает оригинальному серверу сообщение о неудаче, этот
сервер сначала предпринимает собственную попытку разрешения имени,
прежде чем посылать ответ клиенту.
Корневые серверы имен
В большинстве случаев DNS-серверы, не владеющие информацией,
необходимой для разрешения запрашиваемого клиентом имени, отправляют
первый итерационный запрос одному из корневых серверов имен сети
Интернет. Корневые серверы имен (root name server) содержат информацию обо
всех доменах верхнего уровня, присутствующих в пространстве имен DNS.
Сразу после установки DNS-сервера единственные адреса, которые
необходимы ему для обработки запросов клиентов, представляют собой адреса
корневых серверов имен, так как эти серверы могут направить запрос на
разрешение имени в любой домен верхнего уровня и далее по пути его
следования к авторитетному источнику информации.
Корневые серверы имен содержат адреса авторитетных серверов всех
доменов верхнего уровня Интернета. Фактически корневые серверы имен
являются авторитетными серверами для некоторых доменов верхнего уровня, но
могут также посылать запросы соответствующему серверу любого другого
домена верхнего уровня, включая домены с кодировкой страны, рассеянные
по всему миру. В настоящее время существуют 13 корневых серверов имен,
и они обрабатывают миллионы запросов каждые сутки. Эти серверы также
широко разбросаны по всемирной сети и используют различные каналы
связи, поэтому шансы на то, что все они одновременно станут недоступны-
Глава 20. Система доменных имен
687
ми, сводятся к минимуму. Если же это все-таки случится, любое разрешение
DNS-имен практически прекратится, и вся сеть Интернет не сможет
функционировать.
Разрешение доменного имени
Уяснив вещи, о которых шла речь в предыдущих разделах, становится легко
понять, как же DNS-серверы работают совместно в целях разрешения
имени сервера в сети Интернет (рис. 20.4). Процесс идет следующим образом:
1. Пользователь клиентской системы задает DNS-имя Интернет-сервера в
приложении типа Web-браузера или FTP-клиента.
2. Приложение генерирует API-вызов для распознавателя клиентской
системы, после чего распознаватель создает сообщение, содержащее
рекурсивный DNS-запрос с указанием имени сервера.
3. Клиентская система передает это сообщение с рекурсивным запросом
DNS-серверу, идентифицированному в ее конфигурации TCP/IP.
4. Получив запрос, DNS-сервер данного клиента просматривает
собственные записи о ресурсах, чтобы определить, является ли он сам
авторитетным источником информации для зоны, содержащей имя искомого
сервера. Если именно он и есть авторитетный сервер данной зоны, DNS-
сервер генерирует ответное сообщение и передает его обратно клиенту.
Если данный DNS-сервер не является авторитетным сервером для
домена, к которому принадлежит запрашиваемый сервер, он генерирует
итерационный запрос и посылает его одному из корневых серверов имен.
5. Корневой сервер имен исследует имя, запрашиваемое оригинальным
DNS-сервером, и просматривает собственные записи о ресурсах для
идентификации авторитетных серверов домена верхнего уровня, к
которому данное имя принадлежит. Так как корневой сервер имен получает
итерационный запрос, он не отправляет свой собственный запрос
соответствующему авторитетному серверу. Вместо этого передает исходному
DNS-серверу ответ, содержащий ссылку на адреса авторитетных серверов
нужного домена верхнего уровня.
6. После получения этого ответа оригинальный DNS-сервер генерирует
новый итерационный запрос и передает его авторитетному серверу
необходимого домена верхнего уровня. Сервер домена верхнего уровня выясняет
имя домена второго уровня из запрашиваемого имени и передает
оригинальному DNS-серверу сообщение, содержащее адреса авторитетных
серверов соответствующего домена второго уровня.
7. Оригинальный DNS-сервер в очередной раз генерирует итерационный
запрос и передает его серверу нужного домена второго уровня. Если
запрашиваемое имя содержит имена дополнительных доменов, сервер до-
688
Часть V. Сетевые службы соединений
мена второго уровня отвечает очередной ссылкой с адресами серверов
домена третьего уровня. Сервер домена второго уровня может также
отослать оригинальный DNS-сервер к авторитетным серверам другой зоны.
Этот процесс продолжается до тех пор, пока оригинальный DNS-сервер
не получит ссылку на сервер, являющийся авторитетным сервером для
домена или зоны, к которой принадлежит хост, идентифицируемый
запрашиваемым именем.
BL .Л
Корневой
сервер имен
Клиент
DNS-сервер
Мусогр-сервер
Рис. 20.4. DNS-серверы взаимодействуют между собой
для нахождения информации, запрошенной клиентом
8. Как только авторитетный сервер домена или зоны, к которой
принадлежит данный хост, получает запрос от оригинального DNS-сервера, он
просматривает свои записи о ресурсах для определения IP-адреса,
соответствующего данному имени, и передает ответное сообщение обратно
оригинальному серверу.
9. Оригинальный DNS-сервер получает ответ от авторитетного сервера и
передает выявленный IP-адрес распознавателю системы-клиента.
Распознаватель же ретранслирует адрес приложению, которое после этого уже
может начинать взаимодействие с системой, чье имя было в самом
начале задано пользователем.
Эта схема подразумевает, что процедура разрешения имени завершается
успешно. Если любой из авторитетных DNS-серверов возвращает
оригинальному серверу сообщение об ошибке, означающее, например, что один из
доменов имени не существует, это сообщение об ошибке передается
обратно системе-клиенту, и процесс разрешения имени уже может считаться
неудачным.
Глава 20. Система доменных имен
689
Кэширование DNS-серверов
Описанный выше процесс может показаться излишне долгим и сложным.
Однако, во многих случаях, DNS-серверу клиента нет никакой
необходимости посылать запросы серверам каждого домена, присутствующего в
запрашиваемом DNS-имени. Это связано с тем, что DNS-серверы обладают
способностью сохранять информацию о пространстве имен, которую им
удалось выяснить в процессе разрешения имен, и удерживать ее в кэше на
локальном жестком диске.
DNS-сервер, получающий запросы от клиентов, кэширует, например,
адреса запрашиваемых систем так же, как и адреса авторитетных серверов
конкретных доменов. В следующий раз, когда клиент будет посылать серверу
запрос с именем, разрешение которого уже было проведено, сервер сможет
ответить немедленно, пользуясь кэшированной информацией. Кроме того,
если клиент запрашивает имя, принадлежащее к тому же домену, что и уже
разрешенное, сервер может отправить запрос прямо авторитетному серверу
данного домена, а не корневому серверу имен. Таким образом, пользователи
часто могут обнаружить, что разрешение имен доменов, постоянно
используемых для доступа, проходит значительно быстрее, так как один из
серверов, участвующих в разрешении имен, уже имеет информацию об этом
домене в своем кэше. С другой стороны, разрешение имен неизвестных
доменов занимает существенно больше времени, так как для этого требуется
применение полного процесса запросов и ссылок.
Отрицательное кэширование
Кроме хранения информации, способствующей ускорению процесса
разрешения имен, большинство современных реализаций DNS-серверов также
обладают способностью к отрицательному кэшированию. Отрицательное
кэширование (negative caching) осуществляется, когда DNS-сервер фиксирует
информацию об именах, которые не существуют в определенных доменах.
Например, если клиент посылает DNS-серверу запрос, содержащий имя, где
домен второго уровня не существует, сервер домена верхнего уровня ответит
на соответствующий запрос DNS-сервера сообщением об ошибке. После
этого DNS-сервер будет хранить информацию этого сообщения об ошибке в
своем кэше. В следующий раз, когда клиент станет запрашивать имя из
этого же домена, DNS-сервер сможет сразу ответить собственным
сообщением об ошибке, без необходимости консультирования с сервером домена
верхнего уровня.
Продолжительность кэширования данных
Кэширование является одним из жизненно важных элементов архитектуры
DNS, так как позволяет значительно уменьшить число запросов,
направляемых корневым серверам имен и серверам доменов верхнего уровня,
которые, находясь на вершине дерева DNS, с большой вероятностью могут
690
Часть V. Сетевые службы соединений
стать "узким местом" всей системы. Однако кэшированная информация
серверов должна периодически очищаться, и граница между эффективным и
неэффективным кэшированием проходит по очень тонкой линии. Так как
DNS-серверы кэшируют записи о ресурсах, в любом авторитетном сервере
для изменений потребуются часы или даже дни, чтобы распространиться по
всей сети Интернет. В течение же этого периода пользователи могут
получать некорректную информацию в ответ на свои запросы. Если информация
остается в кэше DNS-серверов слишком долгое время, то изменения,
производимые администраторами в базах данных DNS-серверов, будут
распространяться по глобальной сети очень медленно. Если кэш DNS-серверов
очищается слишком быстро, стремительно возрастает количество запросов,
направляемых корневым серверам имен и серверам доменов верхнего уровня.
Конкретное время, в течение которого DNS-данные будут сохраняться в
кэше сервера, носит название времени жизни (time to live). В отличие от
большинства остальных способов кэширования информации,
администратор сервера, на котором создается кэш, не имеет возможности задать время
жизни данных DNS. Вместо этого администраторы каждого авторитетного
DNS-сервера указывают, насколько долго информация записей о ресурсах
соответствующего домена или зоны должна будет храниться в том сервере,
где будет кэширована. Это позволяет администраторам задавать время
жизни информации в зависимости от скорости изменения данных конкретного
авторитетного DNS-сервера. В сети, где часто происходит смена IP-адресов
и добавление новых записей о ресурсах, маленькое значение времени жизни
будет увеличивать вероятность того, что клиенты получат достоверную
информацию, соответствующую текущему состоянию сети. В сети, где
изменения происходят редко, можно пользоваться большим значением времени
жизни, чтобы уменьшить число запросов, направляемых серверам
родительских, по отношению к данному домену или зоне, доменов.
Распределение нагрузки в DNS
В большинстве случаев DNS-серверы содержат информацию только об
одном IP-адресе для каждого хост-имени. Несмотря на это, иногда возникают
ситуации, когда системе требуется более одного IP-адреса. Например, в
случае сильно загруженного трафиком Web-сайта, одного сервера может быть
недостаточно для обслуживания всех клиентов. Однако для того, чтобы
иметь множественные идентичные серверы с собственными адресами,
содержащие один и тот же сайт, необходим механизм, позволяющий
убедиться, что работа по обработке запросов клиентов распределена между
отдельными машинами.
Один из способов осуществления этого заключается в контроле над тем, как
авторитетные серверы домена, к которому принадлежит сайт, проводят
разрешение DNS-имени конкретного Web-сервера. Некоторые реализации
DNS-серверов позволяют создавать множественные записи о ресурсах с раз-
Глава 20. Система доменных имен
691
личными IP-адресами для одного хост-имени. Когда сервер получает
запросы на разрешение данного имени, он использует имеющиеся записи о
ресурсах в циклическом режиме, чтобы предоставлять каждому следующему
клиенту IP-адрес другой машины.
Следует обратить внимание, что кэширование информации DNS-серверами
приводит к снижению эффективности подобного циклического механизма,
так как сервер скорее использует данные о сайте, содержащиеся в его кэше,
чем будет генерировать новый запрос и возможно получит в ответ IP-адрес
иной системы. В результате, обычно целесообразно использовать
относительно малые величины времени жизни для информации дублирующихся
записей о ресурсах.
Обратное разрешение имен
Система доменных имен была разработана для обеспечения разрешения
DNS-имен в IP-адреса, но возникают также ситуации, когда требуется
разрешать уже известные IP-адреса в DNS-имена. Такие случаи относительно
редки. Например, в log-файлах некоторые системы конвертируют IP-адреса
в DNS-имена, чтобы сделать содержимое файлов более удобным для людей,
которые будут их читать. Некоторые системы используют обратное
разрешение имен в ходе процедур аутентификации.
Структура пространства имен DNS и метод, с помощью которого оно
распределено между различными серверами, основаны на иерархии имен
доменов. Когда вся база данных находится на одном компьютере, например как
при использовании файла hosts, процесс поиска конкретного адреса для
выяснения имени, ассоциированного с ним, ничем принципиально не
отличается от поиска имени для определения соответствующего ему адреса. С
другой стороны, поиск конкретного имени в пространстве имен DNS, как
представляется, потребует просмотра информации всех DNS-серверов сети
Интернет, что, конечно же, не может считаться практичным.
Чтобы обеспечить обратное разрешение имен, не прибегая к массивному
поиску по всей сети Интернет, дерево DNS включает специальную ветвь,
которая использует десятичные значения IP-адресов с точечным
разделением в качестве имен доменов. Эта ветвь берет начало от домена под
названием in-addr.arpa, расположенного сразу после корня дерева DNS, как показано
на рис. 20.5. Непосредственно за доменом in-addr.arpa располагаются 256 под-
доменов, имеющих имена от 0 до 255, которые представляют возможные
значения первого байта IP-адреса.
Каждый из этих поддоменов включает по 256 собственных поддоменов,
представляющих возможные значения второго байта IP-адреса. Следующий
уровень содержит еще по 256 поддоменов, каждый из которых может
включать до 256 пронумерованных хостов, что позволяет представлять третий и
четвертый байты IP-адреса.
692
Часть V. Сетевые службы соединений
агра
Корень
^oj ч1/ v£j ч£/ vL-
Рис. 20.5. Иерархия домена in-addr.arpa
С учетом структуры домена in-addr.arpa, каждый хост, представленный на
DNS-сервере стандартным DNS-именем, также имеет эквивалентное DNS-
имя, сконструированное с использованием IP-адреса. Таким образом, если
система с IP-адресом 192.168.214.23 входит, по информации базы данных
DNS-сервера, в домен zacker.com под хост-именем www, то одновременно
существует и другая запись о ресурсе для данной системы, где фигурирует
DNS-имя 23.214.168.192.in-addr.arpa. Такое имя подразумевает, что
существует хост под номером 23 в домене под названием 214.l68.192.in-addr.arpa
(рис. 20.6).
Корень
агра
^
in-addr
z:
zacker
192
-^
168
^ZL
214
®
Рис. 20.6. Для каждого хоста в базе данных DNS имеется
две записи о ресурсе
Структура этого домена позволяет системе вести поиск IP-адреса хоста в
домене (зоне) без необходимости консультирования с другими серверами
Глава 20. Система доменных имен
693
дерева DNS. В большинстве случаев существует возможность
конфигурировать DNS-сервер для автоматического создания эквивалентной записи о
ресурсе в домене in-addr.arpa при включении каждого нового хоста в
стандартное пространство имен DNS.
Значения байтов IP-адреса отображаются в домене in-addr.arpa в обратном
порядке, так как в DNS-имени слово наименьшего разряда всегда стоит
первым, в то время как в IP-адресе байт наименьшего разряда находится на
последнем месте. Другими словами, структура DNS-имени отображает
структуру дерева DNS, причем его корень остается справа, а имя хоста слева. В
IP-адресе, наоборот, идентификатор хоста находится справа, а
идентификатор сети занимает крайнее левое положение.
Теоретически возможно создание структуры подобного домена с
использованием естественного порядка байтов IP-адреса, но это значительно
усложнит процесс администрирования, так как создаст дополнительные трудности
при делегировании тех полномочий по техническому обслуживанию,
которые основаны на IP-адресах.
Если, например, в корпоративную сеть входят три дочерних офиса, каждый
из которых имеет собственный IP-адрес класса С (192.168.1, 192.168.2 и
192.168.3), существует возможность, что доменами по обратному
разрешению имен будут управлять разные люди. Это становится понятно, если
перечислить имена этих гипотетических доменов:
1.168.192.in-addr.агра
2.168.192.in-addr.агра
3.168.192.in-addr.агра
Если пространство имен домена in-addr.arpa было сконструировано с учетом
обычного порядка следования байтов IP-адреса, домен третьего уровня получит
имя, соответствующее хост-идентификатору (то есть четвертому байту) IP-
адреса. Для полного представления трех указанных сетей может потребоваться
до 256 доменов третьего уровня вместо одного. Распределение рутинных
операций по обслуживанию доменов между администраторами отдельных сетей
станет практически невозможным, в силу того что домен 72.in-addr.arpa
(например) сможет содержать хост, входящий в любую из трех сетей.
Регистрация имен DNS
Как можно было понять из предыдущих разделов, разрешение DNS-имен
представляет собой процесс, с помощью которого информация об имени
хоста извлекается из базы данных DNS. Процесс же, в ходе которого имена
хостов и IP-адреса включаются в базу данных, носит название регистрации
имен (name registration). Понятие регистрации имен имеет отношение к
созданию новых записей о ресурсах в базе сервера DNS, что делает их
доступными для всех DNS-серверов.
694
Часть V. Сетевые службы соединений
Процедура регистрации имен в базе обычного сервера DNS технологически
предельно проста. Не существует способа, с помощью которого сервер мог
бы обнаруживать системы сети и фиксировать их хост-имена и IP-адреса в
виде записей о ресурсах. Фактически компьютер может даже не знать
собственного имени, ведь все взаимодействия он проводит, опираясь на IP-
адреса, и никогда не обязан называть себя по имени.
Для регистрации хоста в пространстве имен DNS администратор должен
вручную создать запись о ресурсе на сервере. Сама методика создания
записей о ресурсах варьируется в зависимости от конкретной реализации сервера
DNS. DNS-серверы на базе операционных систем UNIX требуют
редактирования текстового файла, в то время как DNS-сервер Microsoft использует
графический интерфейс.
Ручная регистрация имен
Процесс ручной регистрации имени в своей основе является адаптацией
таблицы хостов для использования в DNS-сервере. Сейчас можно очень
просто представить, как в прошлом администраторы могли реализовывать
DNS-серверы в своих сетях, используя таблицы хостов с небольшими
модификациями. Несмотря на это, ручная регистрация имен может в
настоящее время превратиться в серьезную проблему для некоторых сетей.
Если в сети имеется большое количество хостов, создание вручную записей
о ресурсах для всех них может оказаться крайне утомительным занятием,
даже с применением графического интерфейса. Однако, в зависимости от
природы сети, может отсутствовать необходимость регистрации каждого
хост-имени в DNS. Например, если сеть состоит из рабочих станций на базе
операционных систем Windows, а также использует нерегистрируемые IP-
адреса, можно совсем отказаться от специализированного DNS-сервера для
такой сети, кроме случаев предполагаемой обработки запросов клиентов на
разрешение имен. Сети Windows имеют свою собственную систему имен и
механизмов их разрешения, а именно NetBIOS, поэтому крайне редко
возникает острая необходимость обращаться к ним с применением DNS-имен.
Исключением из этого принципа должны стать системы, имеющие
зарегистрированный IP-адрес, и используемые в качестве Web-серверов или
других типов Интернет-серверов. Эти системы должны быть доступны
пользователям сети Интернет, и, следовательно, обязаны иметь хост-имя в домене
DNS. Несмотря на это, в большинстве ситуаций число систем,
выполняющих подобные функции в одной сети, невелико, поэтому создание для них
записей о ресурсах вручную не составляет слишком уж серьезную проблему.
С другой стороны, имея сеть, включающую компьютеры на базе
операционных систем UNIX, все-таки придется использовать DNS для
идентификации их по именам, в связи с чем будет необходимо создание
соответствующих записей о ресурсах.
Глава 20. Система доменных имен
695
Динамическое обновление
По мере увеличения сети в размерах и возрастания степени сложности ее
структуры, самая большая проблема, связанная с применением ручной
регистрации DNS-имен, возникает при использовании DHCP для
динамического присвоения IP-адресов рабочим станциям сети. Ручная конфигурация
TCP/IP-клиентов представляет собой другой существующий издавна вид
рутинной административной деятельности, который постепенно
вытесняется автоматизированным решением. С другой стороны, динамическое
назначение адресов рабочим станциям будет означать, что конкретная система
станет менять свой IP-адрес изо дня в день, поэтому обычный стандарт
DNS не сможет так быстро отражать эти изменения.
В сетях, где всего несколько серверов предназначаются для доступа из
Интернета, не составит большого труда сконфигурировать их вручную,
оснастив статическими IP-адресами, a DHCP применять для конфигурации
компьютеров с нерегистрируемыми адресами. Однако, с появлением
операционной системы Windows 2000 с ее новой революционной службой
каталогов Active Directory, ситуация несколько изменилась. Сети на базе
операционной системы Windows NT используют WINS для разрешения имен
NetBIOS в IP-адреса, но регистрация имен в WINS проходит автоматически.
WINS автоматически обновляет записи своей базы данных о рабочей
станции, получившей новый IP-адрес с помощью DHCP-сервера, поэтому
никакого вмешательства администратора не требуется. Active Directory, напротив,
в процессе разрешения имен систем сети и отслеживания контроллеров
доменов, доступных для использования рабочими станциями-клиентами, в
значительной степени опирается на DNS вместо WINS.
Чтобы сделать более практичным использование DNS совместно с такими
технологиями, как Active Directory, требующими регулярного обновления
записей о ресурсах, участники IETF разработали новую спецификацию,
которая была опубликована в документе RFC 2136 под названием "Dynamic
Update in the Domain Name System" (динамическое обновление DNS). В
настоящее время этот документ представляет собой рекомендуемый стандарт.
Он определяет новый тип сообщений DNS, а именно Update, которые могут
генерировать такие системы, как DHCP-серверы или контроллеры доменов,
после чего отправлять их DNS-серверу. Сообщения типа Update могут
модифицировать или уничтожать существующие записи о ресурсах и создавать
новые записи, в зависимости от предварительных установок, заданных
администратором. Для Active Directory сообщения типа Update могут
содержать информацию для нового типа записи о ресурсе (SVR), описанного в
документе RFC 2052, который позволяет фиксировать в базе данных места
расположения серверов, выполняющих определенные функции.
^ Примечание jj
Для получения более подробной информации об Active Directory см. главу 23.
696
Часть V. Сетевые службы соединений
Зонная передача
Большинство сетей использует, как минимум, два сервера DNS из
соображений обеспечения отказоустойчивости, а также для того, чтобы
предоставлять клиентам доступ к ближайшему серверу. Так как записи о ресурсах (в
большинстве случаев) должны создаваться и обновляться администраторами
вручную, стандарт DNS определяет механизм, с помощью которого
происходит репликация базы данных DNS между серверами, что позволяет
производить все изменения лишь на одном сервере.
Стандарт определяет две роли серверов DNS, а именно: основной сервер и
дополнительный сервер, также называемый подчиненным. Основной сервер
(primary master) передает свои записи о ресурсах и иную информацию
файлов базы данных на локальном диске. Дополнительный (secondary master) или
подчиненный (slave) сервер принимает данные от другого сервера в процессе
так называемой зонной передачи (zone transfer), которую дополнительный
сервер осуществляет при каждом своем старте и периодически в дальнейшем.
Сервер, от которого подчиненный сервер получает информацию, носит
название главного сервера (master server), при этом он не обязан быть основным
сервером (primary master). Подчиненный сервер может получать
информацию как от основного сервера, так и от другого подчиненного сервера.
Зонные передачи осуществляются для индивидуальных зон, а так как один
сервер способен быть авторитетным источником информации для
нескольких зон, может потребоваться более одной зонной передачи для
обеспечения полного обновления базы данных конкретного подчиненного сервера.
Кроме того, роли главного сервера и дополнительного (подчиненного)
сервера также специфичны для каждой зоны. Сервер вполне может быть
главным сервером для одной зоны и подчиненным сервером для другой зоны,
хотя в подобной практике обычно необходимости не возникает и она легко
может приводить к некоторым недоразумениям.
Несмотря на то, что подчиненные серверы периодически осуществляют
зонные передачи со. своими главными серверами, они также имеют возможность
загружать файлы базы данных с собственных локальных дисков. Когда
подчиненный сервер принимает зонную передачу, он проводит обновление
локальных файлов базы данных. Каждый раз, когда происходит старт подчиненного
сервера, он проводит загрузку наиболее новых записей о ресурсах из файлов
базы данных, имеющихся на его локальных дисках, а затем сравнивает эту
информацию с той, что присутствует у главного сервера, чтобы выяснить,
необходимо ли ее обновление. Это позволяет предотвратить проведение зонной
передачи, если в ней на данный момент отсутствует необходимость.
Сообщения DNS
В транзакциях, связанных с разрешением DNS-имен, используется
дейтаграммы протокола UDP, порт сервера под номером 53 и переменные номера
Глава 20. Система доменных имен
697
портов клиентов. В процессе обмена сообщениями между двумя серверами
на обеих машинах применяется порт номер 53. В тех случаях, когда данные,
которые требуется передать, превышают по объему размер одной
стандартной UDP-дейтаграммы, например, при зонной передаче, две системы
устанавливают обычное TCP-соединение и проводят передачу данных,
пересылая друг другу столько пакетов, сколько требуется.
Система доменных имен использует единый формат сообщения для всех
коммуникаций. Сообщение состоит из пяти разделов.
□ Header (Заголовок). Содержит информацию о характере сообщения.
□ Question (Запрос). Содержит информацию, запрашиваемую у сервера
назначения.
□ Answer (Ответ). Содержит записи о ресурсах, обеспечивающие
информацию, запрошенную в разделе Question.
□ Authority (Авторитетный источник). Содержит записи о ресурсах,
указывающие на авторитетный источник информации, запрошенной в разделе
Answer.
□ Additional (Дополнительный). Содержит записи о ресурсах, хранящие
дополнительную информацию для ответа на запрос, фигурирующий в
разделе Question.
Каждое сообщение DNS содержит раздел заголовка (Header), остальные же
разделы включаются в него, только если они содержат информацию.
Например, сообщение-запрос будет иметь в разделе Question DNS-имя,
которое требуется разрешить, а в разделах Answer, Authority и Additional просто
нет необходимости. Когда сервер получает такой запрос и конструирует
ответ на него, он несколько модифицирует раздел заголовка, оставляя без
изменений раздел запроса, и помещает данные в один или более из трех
оставшихся разделов. Каждый раздел может хранить множественные данные,
поэтому сервер имеет возможность отправлять несколько записей о ресурсах
в одном сообщении.
Раздел Header
Раздел Header (Заголовок) DNS-сообщения содержит коды и флаги,
определяющие функцию данного сообщения и тип сервиса, запрашиваемый у
сервера или обеспечиваемый сервером. Формат раздела Header показан на
рис. 20.7.
Функции полей раздела заголовка перечислены ниже.
П ID (Идентификатор), 2 байта. Содержит значение идентификатора,
используемое для связи запросов с ответами.
□ Flags (Флаги), 2 байта. Включает биты флагов, применяемые для
определения функций и свойств сообщения.
698
Часть V. Сетевые службы соединений
QR
OPCODE
ID
АА I ТС I RdI RA
RCODE
QDCOUNT
ANCOUNT
NSCOUNT
ARCOUNT
Рис. 20.7. Формат раздела Header сообщения DNS
• QR, 1 бит. Определяет, относится ли сообщение к запросам (значение
0) или ответам (значение 1).
• OPCODE, 4 бита. Задает тип запроса, сгенерированного данным
сообщением. Сообщения-ответы сохраняют в этом поле то же значение,
что и соответствующие им запросы. Возможные значения таковы:
0 0 — стандартный запрос (QUERY);
О 1 — обратный запрос (IQUERY);
О 2 — запрос о статусе сервера (STATUS);
О 3—15 — не используются.
□ АА (Authoritative Answer, авторитетный источник), 1 бит. Показывает, что
сообщение-ответ сгенерировано сервером, который является
авторитетным источником информации для домена или зоны, где находится
запрашиваемое имя.
□ ТС (Truncation, сокращение), 1 бит. Демонстрирует, что сообщение было
подвергнуто усечению, так как объем данных превышал максимально
допустимый размер для текущего транспортного механизма. В большинстве
реализаций DNS данный бит функционирует в качестве сигнала того, что
сообщение должно передаваться с применением TCP-соединения, вместо
UDP-дейтаграммы.
□ RD (Recursion Desired, желательна рекурсия), 1 бит. В сообщении-
запросе свидетельствует о том, что сервер-получатель должен будет
воспринимать данное сообщение в качестве рекурсивного запроса. В
сообщении-ответе показывает, что данное сообщение представляет собой
ответ на рекурсивный запрос. Отсутствие этого флага говорит о том, что
запрос является итерационным.
□ RA (Recursion Available, рекурсия доступна), 1 бит. Поясняет,
сконфигурирован ли сервер для обработки рекурсивных запросов.
□ Z, 3 бита. Не используется.
Глава 20. Система доменных имен
699
П RCODE (Response Code, код ответа), 4 бита. Определяет вид сообщения-
ответа, показывая, возникла ли ошибка, и какого типа эта ошибка, если
она все-таки возникла. Возможны значения, перечисленные ниже.
• 0. Ошибок не возникло.
• 1 — Format Error (Ошибка формата). Показывает, что серверу не
удалось понять запрос.
• 2 — Server Failure (Сбой сервера). Показывает, что сервер не смог
обработать запрос.
• 3 — Name Error (Ошибка имени). Используется только авторитетными
серверами для того, чтобы показать, что данное имя или поддомен не
существуют в рамках конкретного домена, для которого этот сервер
является авторитетным источником.
• 4 — Not Implemented (Функция не реализована). Используется только
авторитетными серверами для демонстрации того, что полученный
тип запроса не поддерживается данным сервером.
• 5 — Refused (Отказ). Показывает, что политики сервера (такие как,
например, политика безопасности) не позволяют обрабатывать
данный запрос.
• 6—15. Не используются.
□ QDCOUNT (2 байта). Задает количество записей в разделе Question.
□ ANCOUNT (2 байта). Задает количество записей в разделе Answer.
□ NSCOUNT (2 байта). Задает число записей о ресурсах сервера имен в
разделе Authority.
□ ARCOUNT (2 байта). Задает количество записей в разделе Additional.
Раздел Question
Раздел Question (запрос) сообщения DNS содержит количество записей,
которое определено значением поля QDCOUNT раздела Header. В
большинстве случаев такая запись всего одна. Каждая запись имеет формат,
показанный на рис. 20.8.
Функции полей перечислены ниже.
□ QNAME (Запрашиваемое имя), переменный размер. Содержит DNS-имя
домена, зоны или хоста, о котором требуется получить информацию.
□ QTYPE (Запрашиваемый тип), 2 байта. Содержит код, определяющий тип
записи о ресурсе, требуемой в качестве ответа на данный запрос.
□ QCLASS (Запрашиваемый класс), 2 байта. Содержит код, определяющий
класс записи о ресурсе, требуемой в качестве ответа на данный запрос.
700
Часть V. Сетевые службы соединений
I _ JL - 1 _ _А « 5 _ _Л _ 7 _ _ 8_ _ J _ _ 2 _ _3_ _ 4 _ _5__ _ 6 _ _7_ _ 8
l QNAME '
QTYPE
J QCLASS J
Рис- 20.8. Формат раздела Question сообщения DNS
Разделы с записями о ресурсах
Каждый из трех оставшихся разделов сообщения DNS, то есть Answer
(Ответ), Authority (Авторитетный источник) и Additional (Дополнительный),
содержит записи о ресурсах, использующие формат, показанный на
рис. 20.9. Число записей о ресурсах в каждом из разделов определяется в
разделе Header значениями полей ANCOUNT, NSCOUNT и ARCOUNT
соответственно.
i_A_2_A_5_-i-Z__l_J__2_^__4__5__6__7____8
i NAME |
| TYPE J
CLASS
TTL
RDLENGTH
RDATA
Рис. 20.9. Формат разделов Answer, Authority и Additional сообщения DNS
Функции полей перечислены ниже.
□ NAME (Имя), переменный размер. Содержит имя DNS, зоны или домена,
о котором предоставляется информация.
□ TYPE (Тип), 2 байта. Содержит код, задающий тип записи о ресурсе,
содержащейся в сообщении.
□ CLASS (Класс), 2 байта. Содержит код, определяющий класс записи о
ресурсе.
Глава 20. Система доменных имен
701
О TTL (Время жизни), 4 байта. Задает время (в секундах)
продолжительности кэширования конкретной записи о ресурсе сервером имен, которому
данная информация предоставляется.
□ RDLENGTH (Длина данных), 2 байта. Задает длину (в байтах) поля
RDATA.
□ RDATA (Данные), переменный размер. Содержит собственно информацию
записи о ресурсе, характер которой зависит от типа и класса записи о
ресурсе. Например, для записи типа А и класса IN это поле будет
содержать IP-адрес, ассоциированный с DNS-именем, указанным в поле
запрашиваемого имени (NAME).
Различные типы записей о ресурсах выполняют различные функции,
поэтому они могут содержать разные виды информации в поле RDATA.
Большинство типов записей о ресурсах, например, NS, A, PTR и CNAME, имеют
единственное имя или адрес в этом поле, в то время как другие типы
записей предполагают наличие множества подполей. Записи о ресурсах типа
SOA имеют наиболее сложную структуру во всей системе доменных имен.
Для этого типа записей поле RDATA разбивается на семь подполей, как
показано на рис. 20.10.
1234567812345678
I — 1
i
• MNAME ]
I
. \
. I
I RNAME !
SERIAL
REFRESH
RETRY
EXPIRE
MINIMUM
Рис. 20.10. Подполя поля RDATA записи о ресурсе типа SOA
702
Часть V. Сетевые службы соединений
Функции подполей поля RDATA записи о ресурсе типа SOA описаны ниже.
□ MNAME (Имя основного сервера), переменный размер. Задает DNS-имя
основного сервера DNS, который будет служить источником
информации о зоне.
□ RNAME (Почтовый адрес администратора), переменный размер. Задает
адрес электронной, почты администратора, ответственного за
информацию о зоне. Данное поле не играет никакой роли в плане деятельности
сервера, оно является только информационным. Значение этого поля
принимает форму DNS-имени. Обычная практика требует замены первой
точки в этом имени на символ @, чтобы использовать данное значение в
качестве адреса электронной почты. Например, значение
administrator.zacker.com эквивалентно адресу электронной почты
administrator@zacker.com.
□ SERIAL (Серийный номер), 4 байта. Содержит серийный номер,
используемый для отслеживания изменений информации о зоне на основном
сервере. Значение этого поля увеличивается (вручную или
автоматически) основным сервером при каждом изменении данных, а подчиненный
сервер сравнивает имеющееся у него значение этого параметра с тем,
которое предоставляет ему главный сервер, чтобы определить, есть ли
необходимость в зонной передаче.
□ REFRESH (Обновление), 4 байта. Задает временной интервал (в
секундах), по прошествии которого подчиненный сервер должен отправить
собственный SOA-запрос основному серверу для определения
необходимости в зонной передаче.
□ RETRY (Повторные попытки), 4 байта. Определяет интервал времени (в
секундах), через который подчиненный сервер должен провести
повторные попытки соединения с основным сервером, после того, как
начальная попытка оказалась неудачной.
□ EXPIRE (Устаревание данных), 4 байта. Указывает интервал времени (в
секундах), после которого данные подчиненного сервера должны
считаться устаревшими, если он не может установить связь с основным
сервером. Как только это время действительности данных истекает,
подчиненный сервер перестает отвечать на запросы.
□ MINIMUM (Минимальное время жизни), 4 байта. Задает
продолжительность периода времени жизни (в секундах), которое сервер должен
указывать во всех своих ресурсных записях, посылаемых в качестве ответов
на запросы.
Запись сообщений DNS
Последние четыре раздела сообщения DNS в основном совпадают с точки
зрения записи информации в их полях. DNS-имена, имена зон и доменов
всегда отображаются одинаково, и все разделы используют одни и те же
Глава 20. Система доменных имен
703
значения для написания кодов типов и классов ресурсных записей.
Исключение состоит лишь в применении нескольких дополнительных кодов в
разделе Question, которые носят названия QTYPE и QCLASS соответственно.
Следующие разделы описывают представление этих значений в сообщении
DNS более подробно.
Запись DNS-имени
В зависимости от функции конкретного сообщения, любой или даже
одновременно все четыре раздела, могут содержать полностью определенное
доменное имя хост-системы, имя домена или имя зоны определенного сервера.
Эти имена представляются в виде последовательностей единиц, называемых
метками (label), каждая из которых отображает одно конкретное слово имени.
Точки между метками не ставятся, поэтому, для разграничения отдельных
слов, каждая метка начинается со значения, определяющего длину слова (в
байтах), после которого следует обозначенное количество байтов. Это
повторяется для каждого слова имени. Вслед за последним словом полностью
определенного доменного имени следует байт со значением 0, соответствующий
нулевому значению корневого домена. Таким образом, отражение DNS-имени
www.zacker.com в значениях полей QNAME или NAME будет выглядеть (в
десятичной записи) следующим образом:
3www6mycorp3com0
Типы записей о ресурсах
Вся информация, распространяемая системой доменных имен, хранится в
виде записей о ресурсах. Сообщения-запросы требуют отправки серверами
определенных записей о ресурсах, и серверы включают требуемые записи о
ресурсах в свои ответы на запросы. Значение поля запрашиваемого типа
(QTYPE) раздела Question сообщения DNS определяет тип записи о ресурсе,
запрашиваемой у сервера, в то время как значения полей типа записей
(TYPE) в разделах Answer, Authority и Additional описывают тип каждой
записи о ресурсах, поставляемых сервером в данном сообщении. В табл. 20.1
перечислены типы записей о ресурсах и коды, используемые для
представления их в указанных полях. В табл. 20.2 показаны четыре дополнительных
значения, представляющие наборы записей о ресурсах, которые могут
применяться только в записях поля QTYPE раздела Question.
Таблица 20.1. Типы записей о ресурсах DNS и соответствующие коды,
используемые в значениях полей ТУРЕ и QTYPE
Тип Код типа Функция
А 1 Адрес хоста
NS 2 Имя авторитетного сервера
704
Часть V. Сетевые службы соединений
Таблица 20.1 (окончание)
Тип
Код типа Функция
Почтовый адресат (устарел)
Механизм продвижения почты (устарел)
Каноническое имя для альтернативных имен
Начало зоны авторитетного источника информации
Доменное имя почтового ящика (экспериментальный)
Член почтовой группы (экспериментальный)
Доменное имя переименования почты (экспериментальный)
Нулевая запись о ресурсе
Описание хорошо известного сервиса
Указатель доменного имени
Информация хоста
Информация почтового ящика или почтового листа
Почтовый обмен
Текстовая строка
Сервер сети
MD
MF
CNAME
SOA
MB
MG
MR
NULL
WKS
PTR
HINFO
MINFO
MX
TXT
SVR
3
4
5
6
7
8
9
10
11
12
13
14
15
16
33
Таблица 20.2. Дополнительные значения, представляющие наборы записей
о ресурсах, которые используются только в поле QTYPE
Тип QTYPE Код QTYPE Функция
AXFR
MAILB
MAILA
252
253
254
255
Запрос на передачу целой зоны
Запрос на записи, относящиеся к почтовому ящику
(MB, MG или MR)
Запрос на записи о ресурсах почтового агента
(устарел)
Запрос на все записи
Типы классов
Поле QCLASS раздела Question и поля CLASS разделов Answer, Authority и
Additional задают тип сети, для которой запрашивается, либо
предоставляется информация. Хотя в свое время они и выполняли достаточно важную
функцию, к настоящему моменту эти поля в основном бесполезны, так как
практически все сообщения DNS относятся к классу IN. Сети классов
Глава 20. Система доменных имен
705
CSNET и CHAOS относятся к уже безнадежно устаревшим, класс сетей
Hesiod используется только несколькими экспериментальными сетями в
Массачусетском технологическом институте (MIT, Massachussets Institute of
Technlogies). Исключительно из академических соображений возможные
варианты значения полей CLASS и QCLASS приведены в табл. 20.3 и 20.4.
Таблица 20.3. Значения для полей CLASS и QCLASS записей о ресурсах
Класс Код класса Функция
IN 1 Internet
CS 2 CSNET
CH 3 CHAOS
HS 4 Hesiod
Таблица 20.4. Дополнительное значение только для поля
QCLASS записей о ресурсах
Значение QCLASS Код QCLASS Функция
* 255 Любой класс
Сообщения разрешения имен
Процесс разрешения DNS-имени в IP-адрес начинается с того, что
распознаватель системы-клиента генерирует запрос. На рис. 20.11 показан пример
подобного сообщения-запроса, перехваченного программой-монитором
сети, которое было сгенерировано Web-браузером при попытке соединения с
URL http://www.zacker.com. Значение флага OPCODE данного сообщения
равно 0, то есть показывает, что данное сообщение представляет собой
обычный запрос, при этом значение 1 флага RD демонстрирует, что это
именно рекурсивный запрос. В результате, DNS-сервер (он будет
называться CZ1), который получит данный запрос, будет нести полную
ответственность за разрешение указанного DNS-имени и отправку результата клиенту.
Значение поля QDCOUNT показывает, что в сообщении содержится только
одна запись в разделе Question и ни одной записи в остальных трех разделах
с записями о ресурсах, что является стандартом для всех сообщений-
запросов. В разделе Question указано DNS-имя, которое требуется
разрешить (www.zacker.com), а также тип (1 — А) и класс (1 — IN)
запрашиваемой записи о ресурсе.
Сервер CZ1 не является авторитетным сервером домена zacker.com, а также
не имеет запрашиваемой информации в своем кэше, поэтому вынужден
сгенерировать свои собственные запросы. Сначала сервер CZ1 создает со-
706
Часть V. Сетевые службы соединений
общение-запрос (рис. 20.12) и передает его одному из корневых серверов
имен (198.41.0.4), адрес которого входит в конфигурацию программного
обеспечения сервера CZ1. Запись в разделе Question этого сообщения
идентична таковой в исходном запросе клиента. Единственные различия состоят
в том, что сервер включает иное значение в поле идентификатора (4114) и
изменяет значения флага RD на 0, показывая, что данный запрос является
итерационным.
ШЩ ETHER-II: 00-00-C0-D3-6A-7B ==> 00-20-AF-37-B8-12
SlT IP: 192.168.2.22->192.168.2.10,ID=39168
liiJpUDP: 1030->Domain Name Server,Len=40
S"S© Domain Name Service
S HEADER SECTION:
£3 Identifier: 1
. В 15 Flags:
So
ij .000 0. . .
a о..
: a o.
a....
Do...
13 .ooo
Request packet
OP Code is 0x00 - Query
Non-Au t hor i t a t i ve Answer
No Truncation Packet
Recursion Desired
Recursion Not Available
Reserved Bits
Response Code is 0
No Error
_ 0000
j_3 Section Entries:
j3 Question Section: 1 Entrie(s)
13 Answer Section: 0 Entrie(s)
ij Authority Section: 0 Entrie(s)
>S 3 Additional Section: 0 Entrie(s)
R Q QUESTION SECTION[1]:
^ШШШЕШШШШШЖШ
У Query Type: 1 = A - a host address
13 Query Class: 1 = IN - the ARPA internet
Щ Calculate CRC: 0xe2daaf52
Рис. 20.11. Сообщение-запрос на разрешение DNS-имени, сгенерированное
распознавателем
"3
В-Щ Domain Name Service
. ,-jlp HEADER SECTION:
: S Identifier: 4114
■ Ei S Flags:
i 0. . .
t .000
.000
Request packet
OP Code is 0x00 - Query
Non-Aut hor i t a t i ve Answer
No Truncation Packet
Recursion Not Desired
Recursion Not Available
Reserved Bits
Response Code is 0 - No Error
1 ,ANCount=0 ,NSCount=0 ,ARCount=0
13 . . . . 0000
13 Section Entries: QDCount
©QUESTION SECTIONfl]:
. 13 Domain Name: www.zacker.com
ИЗ Query Type: 1 s A - a host address
Q Query Class: 1 s IN - the ARPA internet
zi
Рис. 20.12. Сообщение-запрос, направленное корневому серверу имен
Глава 20. Система доменных имен
707
Ответ, получаемый сервером CZ1 от корневого сервера имен, обходит одну
из стадий процесса, так как данный корневой сервер имен является
одновременно и авторитетным сервером для домена верхнего уровня com. В
результате, ответ содержит запись о ресурсе, которая идентифицирует
авторитетный сервер домена zacker.com. Если запрошенное DNS-имя
принадлежало бы домену, для которого корневой сервер имен не являлся бы
авторитетным сервером, например, одному из доменов с кодировкой страны, тогда
ответ на данный запрос содержал бы запись о ресурсе, идентифицирующую
соответствующие авторитетные серверы.
Сообщение-ответ корневого сервера имен (рис. 20.13) имеет бит QR со
значением 1, и это подразумевает, что данное сообщение представляет собой
ответ. Значение идентификатора сообщения-ответа корневого сервера имен
совпадает с тем значением, которое имел идентификатор
сообщения-запроса сервера CZ1, что позволяет последнему ассоциировать эти два
сообщения. Поле QDCOUNT снова содержит значение 1, так как ответ включает
раздел Question из соответствующего сообщения-запроса без каких-либо
изменений.
\-} jfk| Domain Name Service ~^Jj
О HEADER SECTION:
У Identifier: 4114
I +* ijj Flags:Resp,Query,Non-Auth,Recu Not Ava,RCode=No Error j]
I +< >ЦЗ Section Entries: QDCount = l ,ANCount=0 ,NSCounts2 ,ARCount-2 1
+] L5 QUESTION SECTION[1]:Type=A,Class=IN,www.zacker.com
Я ij AUTHORITY SECTI0N[1]:
jM} Domain Name: ZACKER.COM
I >|_5 RR Type: 2 * NS - an authoritative name server
0) RR Class: 1 = IN - the ARPA internet
i_3 RR Time To Live: 172800 second(s)
U RR Data Length: 16 Octet(s)
I ij} Domain Name: NS1.SECURE.NET is a host has the Name Server 1
R £3 AUTHORITY SECTI0N[2]:
I £j Domain Name (w/Pointer): ZACKER.COM
I Q RR Type: 2 s NS - an authoritative name server
Q RR Class: 1 = IN - the ARPA internet
ГЗ RR Time To Live: 172800 second(s)
>P RR Data Length: 6 Octet(s)
ij Domain Name (w/Pointer): NS2.SECURE.NET is a host has the Name Server
>hQ ADDITIONAL SECTI0N[1]:Type=A.Class-IN,192.41.1.10
I .+. Q ADDITIONAL SECTI0N[ 2] :Type=A, Class=IN,161. 58 . 9 .10 jj
Рис. 20.13. Раздел Authority из сообщения-ответа корневого сервера имен
Значения полей NSCOUNT и ARCOUNT показывают, что сообщение
содержит четыре записи, по две в разделах Authority и Additional. Первая из
записей, присутствующих в разделе Authority, представляет собой запись о
ресурсе типа NS для одного из авторитетных серверов домена zacker.com,
известного корневому серверу имен/серверу домена верхнего уровня, а
вторая запись аналогично отражает информацию о другом авторитетном
сервере данного домена. Значения типа и класса указанных сообщений соответ-
708
Часть V. Сетевые службы соединений
ствуют тем, что запрашивались в сообщении-запросе. Значение времени
жизни у обеих записей одинаково и составляет 172 800 секунд (48 часов).
Поле RDATA первой записи имеет длину в 16 байтов и содержит DNS-имя
первого авторитетного сервера (nsl.secure.net). Длина поля RDATA второй
записи составляет всего 6 байтов и содержит только хост-имя (ns2) второго
авторитетного сервера, так как он принадлежит к тому же домену, что и
первый авторитетный сервер.
Упомянутые записи в разделе Authority идентифицируют серверы, к
которым надлежит обращаться серверу CZ1 для разрешения доменного имени
www.zacker.com, но он будет так поступать, используя их DNS-имена. Чтобы
избежать необходимости повторного проведения сервером CZ1 всей
процедуры разрешения имен nsl.secure.net и ns2.secure.net в соответствующие IP-
адреса, в разделе Additional присутствуют две записи о ресурсах типа А,
содержащие информацию об этих двух серверах, которые включают их IP-
адреса, как показано на рис. 20.14.
IЩ J)| Domain Name Service jjj
: J-Л HEADER SECTION:
: [©Identifier: 4114
I « Й-JB Flags:Resp,Query,Non-Auth,Recu Not Ava,RCodeeNo Error 11
Й ft Section Entries: QDCount-1 ,ANCount-0 ,NSCount-2 ,ARCount-2
ffl-S QUESTION SECTI0N[1]:Type=A,Class=IN,www.zacker.com M
Ш-Щ AUTHORITY SECTI0N[1]:Type-NS,Class=IN,NS1.SECURE.NET
h ®Ц AUTHORITY SECTI0N[2]:Type-NS,Class»IN,NS2 .SECURE.NET
I a © ADDITIONAL SECTI0N[1]:
t Domain Name (w/Pointer): NS1.SECURE.NET
RR Type: 1 ■ A - a host address I]
| Л) RR Class: 1 ■ IN - the ARPA internet
- Q RR Time To Live: 172800 second(s)
; . Щ RR Data Length: 4 Octet(s)
• SJ An ARPA internet address: 192.41.1.10
! &Ш ADDITIONAL SECTI0N[2]:
~@ Domain Name (w/Pointer): NS2.SECURE.NET
I '■ -Q ^ Type: 1 ■ A - a host address I
; Jg) RR Class: 1 - IN - the ARPA internet
} :' ©RR Time To live: 172800 second(s) II
i 5 RR Data Length: 4 Octet(s)
I ©An ARPA internet address: 161.58.9.10 jj
Рис. 20.14. Раздел Additional сообщения-ответа корневого сервера имен
Используя информацию, содержащуюся в предыдущем ответе, сервер CZ1
посылает запрос первому авторитетному серверу домена zacker.com
(nsl.secure.net— 192.41.1.10).
Кроме IP-адреса назначения это сообщение идентично тому, которое сервер
CZ1 посылал корневому серверу имен. Сообщение-ответ (рис. 20.15),
которое сервер CZ1 получает (в итоге) от сервера nsl.secure.net, содержит
именно ту информацию, что первоначально запрашивал клиент. Это сообщение
включает исходную запись в разделе Question и по две записи в разделах
Answer, Authority и Additional.
Глава 20. Система доменных имен
709
,Domain Name Service ^|
"~I HEADER SECTION:
Identifier: 4114
iFlags:Resp,Query,Auth,Recu Ava,RCodeeNo Error
iSection Entries: QDCountel ,ANCounts2 ,NSCounts2 «ARCounts2
_iQUESTION SECTI0N[1]:Type=A,Class=IN,www.zacker.com
Й® ANSWER SECTION [ 1 ] :
iDomain Name (w/Pointer): www.zacker.com
i RR Type: 5 - CNAME - the canonical name for an alias
RR Class: 1 « IN - the ARPA internet
__ RR Time To live: 86400 second(s)
S RR Data Length: 12 Octet(s)
Щ Domain Name: zacker.com is an alias for a Canonocal Name
iANSWER SECTI0N[2]:
\ Domain Name (w/Pointer): zacker.com
RR Type: 1 ■ A - a host address
!RR Class: 1 - IN - the ARPA internet
RR Time To live: 86400 second(s)
iRR Data Length: 4 Octet(s)
An ARPA internet address: 192.41.15.74
AUTHORITY SECTI0N[1]:Type-NS.Class=IN.nsl.secure.net
iAUTHORITY SECTI0N[2]:Type-NS,Class-IN,ns2.secure.net
ADDITIONAL SECTI0N[1]:Type=A,Class«IN,192.41.1 10
ADDITIONAL SECTI0N[2]:Type-A,Class=IN,161.58.9.10 zl
Рис. 20.15. Сообщение-ответ от авторитетного сервера требуемого домена
Первая запись раздела Answer представляет собой запись о ресурсе со
значением 5 в поле типа (то есть тип CNAME), а также значение времени
жизни в 86 400 секунд (24 часа). Включение записи о ресурсе типа CNAME в
ответ на запрос, требующий запись типа А, показывает, что имя
www.zacker.com существует в домене zacker.com только в качестве
канонического имени (то есть как альтернативное имя для другого имени),
обозначенного в поле RDATA как zacker.com. Вторая запись в разделе Answer
является записью о ресурсе типа А, содержащей IP-адрес 192.41.15.74 в поле
RDATA. Это именно тот IP-адрес, который система-клиент должна будет
использовать для доступа к Web-серверу www.zacker.com. Записи в разделах
Authority и Additional задают имена и адреса авторитетных серверов для
домена zacker.com и идентичны соответствующим записям в сообщении-
ответе корневого сервера имен.
Обнаружение корневого сервера имен
При каждом старте DNS-сервер производит загрузку информации,
хранящейся в файлах его базы данных. Один из этих файлов называется Cache.dns
и содержит указания относительно корневого сервера имен. Фактически
этот файл содержит имена и адреса всех корневых серверов имен.
Однако DNS-сервер, вместо того, чтобы опираться только на эту
информацию, использует ее для отправки сообщения первому из корневых серверов
имен, запрашивая у него идентификацию авторитетных серверов корневого
домена.
710
Часть V. Сетевые службы соединений
Domain Name Service jjj
J HEADER SECTION:
Identifier. 2061
.3
Flags
...» Request packet
О 000 0.,. * OP Code is 0к00 - Query
(L^ . 0 . . - Non-Authoritative Answer
JJ) . . 0 . » No Truncation Packet
Q ...0 ■ Recursion Not Desired
О 0 .... ■ Recursion Not Available
О 000 .... - Reserved Bits
О 0000 ■ Response Code is 0 - No Error
V} Section Entries: QDCount-1 ,ANCount-0 ,NSCount-0 ,ARCount=0
jj QUESTION SECTION[l]:
Д_5 Domain Name:
|_5 Query Type: 2 ■ NS - an authoritative name server
Ц$ Query Class: 1 = IN - the ARPA internet
f% Frame Padding : (1 bytes) jj
Рис. 20.16. Запрос корневому серверу имен, создаваемый DNS-сервером
сразу после старта
Domain Name Service"jjj
l| HEADER SECTION:
Identifier: 2061
Flags:Resp,Query,Auth.Recu Not Ava,RCode=No Error
Section Entries: QDCount»l ,ANCount«13 ,NSCount»0 ,ARCount-13
QUESTION SECTION!1] Type=NS,Class=IN,
ANSWER SECTI0N[1]:
JJI Domain Name:
i Л RR Type: 2 - NS - an authoritative name server
!•■ -Ж RR Class: 1 * IN - the ARPA internet
UЖ RR Time To Live: 518400 second(s)
. •■ jjj RR Data Length: 20 Octet(s)
^Domain Name: A.ROOT-SERVERS NET is a host has the Name Server
© ANSWER SECTION[2]:Type-NS,Class-IN,H.ROOT-SERVERS.NET
В ANSWER SECTION[3]:Type-NS.Class»IN.С.ROOT-SERVERS.NET
A ANSWER SECTION[4]:Type-NS.Class»IN.G.ROOT-SERVERS.NET
Q ANSWER SECTION[S]:Type=NS,Class-IN,F.ROOT-SERVERS.NET
,1} ANSWER SECTION[6]:Type=NS.Class-IN,B ROOT-SERVERS.NET
l£ ANSWER SECTION[7]:Type-NS,Class-IN,J.ROOT-SERVERS.NET
Q ANSWER SECTION[8]:Type-NS,Class-IN.К.ROOT-SERVERS.NET
U ANSWER SECTION[9]:Type-NS,Class-IN,L.ROOT-SERVERS.NET
1$ ANSWER SECTION[10]:Type-NS,Class-IN,M.ROOT-SERVERS.NET
43 ANSWER SECTION[11]:Type-NS.Class-IN,I.ROOT-SERVERS NET
J3 ANSWER SECTION[12]:Type-NS,Class-IN,E.ROOT-SERVERS.NET
£} ANSWER SECTION[13]:Type-NS.Class-IN,D.ROOT-SERVERS.NET
^ADDITIONAL SECTION[l]:
Q Domain Name (w/Pointer): A.ROOT-SERVERS.NET
ДЛ RR Type: 1 - A - a host address
jp RR Class: 1 - IN - the ARPA internet
;-Щ RR Time To Live: 3600000 second(s)
fRR Data Length: 4 Octet(s)
An ARPA internet address: 198.41.0.4
Q ADDITIONAL SECTION[2]:Type-A.Class-IN,128.63.2.53
£3 ADDITIONAL SECTION[3]:Type-A,Class-IN,192.33.4.12
A ADDITIONAL SECTI0N[4]:Type=A,Class-IN,192.112.36.4
:+. 5 ADDITIONAL SECTION[5] :Type-A,Class-IN, 192.5.5.241
■f C^ ADDITIONAL SECTI0N[6 ]:Type-A,Class-IN, 128 . 9 . 0 .107
,+ О ADDITIONAL SECTION[7]:Type-A,Class-IN,198.41.0.10
■+ P ADDITIONAL SECTION[8]:Type-A,Class-IN,193 . 0.14 .129
+■ A ADDITIONAL SECTION[9]:Type-A,Class«IN,198.32.64.12
i+ S ADDITIONAL SECTI0N[ 10] :Type-A,Class-IN, 202 .12 . 27 . 33
Ж & ADDITIONAL SECTION[ll]:Type-A,Class-IN,192.36.148 .17
+' L& ADDITIONAL SECTION[12]:Type-A,Class-IN,192 . 203 . 230 .10
л ^ADDITIONAL SECTION[13] .Type-A, Class-IN. 128 . 8 .10 . 90 jj
Рис. 20.17. Сообщение-ответ корневого сервера имен, содержащее записи
о ресурсах для всех 13 корневых серверов имен
Глава 20. Система доменных имен
711
Смысл этого заключается в том, чтобы DNS-сервер мог использовать
наиболее свежую информацию по данному вопросу. Этот запрос (рис. 20.16) в
точности совпадает с запросом на разрешение имени, за исключением того,
что не содержит значения в поле имени.
Ответ, пересылаемый корневым сервером имен, содержит по 13 записей в
разделах Authority и Additional, которые соответствуют 13 корневым
серверам имен, используемым в настоящее время (рис. 20.17). Каждая запись в
разделе Answer представляет собой запись о ресурсе типа NS для одного из
корневых серверов имен, определяющую его DNS-имя, а соответствующая запись
в разделе Additional относится к записям типа А и задает IP-адрес этого
сервера. Все корневые серверы имен принадлежат к домену root-server.net и имеют
возрастающие хост-имена от а до т. В силу, того, что информация об этих
серверах меняется крайне редко, если это вообще происходит, значения
времени жизни соответствующих записей о ресурсах могут быть очень
большими. Так, например, для записи типа NS это значение может
составлять 518 400 секунд (144 часа или 6 суток), а для записи типа А даже
3 600 000 секунд (1000 часов или 41,67 суток).
Сообщения зонной передачи
Процесс зонной передачи инициируется DNS-сервером,
функционирующим в качестве подчиненного сервера для одной или нескольких зон, при
каждом запуске программного обеспечения сервера. Процедура начинается с
итерационного запроса, требующего запись о ресурсе типа SOA, который
подчиненный сервер отправляет основному серверу с целью убедиться, что
именно последний является наилучшим источником информации о зоне
(рис. 20.18). Единственная запись в разделе Question этого сообщения
содержит имя зоны в поле QNAME и значение 6 в поле QTYPE,
подразумевающее, что сервер запрашивает запись о ресурсе типа SOA.
3 j^ Domain Name Service jjj
О HEADER SECTION:
iJ Identifier: 24576
'-j £_5 Flags:
I ^ 0 » Request packet
tl5 .000 0. . . - OP Code is 0x00 - Query
£jj 0.. * Non-Authoritative Answer
jJj 0. -No Truncation Packet
^j} 0 * Recursion Not Desired
Z.% 0 - Recursion Not Available
£$ .000 .... - Reserved Bits
U .... 0000 * Response Code is 0 - No Error
F Q Section Entries: QDCount*l ,ANCount*0 ,NSCount«0 ,ARCount=0
S Q QUESTION.SECTIOHCl]:
Г?} Query Type: 6 * SOA - marks the start of a zone of authority
аЭ Query Class: 1 * IN - the ARPA internet jj
Рис. 20.18. Сообщение-запрос типа SOA, сгенерированное подчиненным сервером
для определения необходимости осуществления зонной передачи
712
Часть V. Сетевые службы соединений
После этого основной сервер отправляет подчиненному серверу сообщение-
ответ, где имеется единственная исходная запись в разделе Question, а также
одна запись в разделе Answer, содержащая запись о ресурсе типа SOA для
данной зоны (рис. 20.19).
J Domain Name Service*
■•Ц HEADER SECTION:
•j§ Identifier: 24576
' I Flags:
.... " Response packet
OP Code is 0x00 - Query
Authoritative Answer
No Truncation Packet
Recursion Not Desired
Recursion Available
Reserved Bits
Response Code is 0 - No Error
J Section Entries: QDCount=l ,ANCount = l ,NSCount-0 ,ARCount=Q
I QUESTION SECTI0N[1] Type=SOA,Class*IN.zl
\ ANSWER SECTION[1]:
\ Domain Name (w/Pointer): zl
\ RR Type: 6 » SOA - marks the start of a zone of authority
l RR Class: 1 - IN - the ARPA internet
| RR Time To Live: 3600 second(s)
\ RR Data length: 52 Octet(s)
0000
| Domain Name (w/Pointer): administrator.zacker.com is a mailbox of responsible person
| Serial Number: 0
\ Refresh Time: 131072 second(s)
| Retry Time: 235929600 second(s)
| Expire Time: 39321601 second(s)
| Minimum TTL: 20864 second(s)
d
Рис. 20.19. Сообщение-ответ основного сервера, содержащее запись
о ресурсе типа SOA
Подчиненный сервер использует информацию в ответе для того, чтобы
верифицировать авторитетность основного сервера, а также определить, есть
ли необходимость в зонной передаче. Если значение поля SERIAL в
сообщении основного сервера больше соответствующего значения, имеющегося
у подчиненного сервера, тогда требуется осуществление зонной передачи.
Запрос на зонную передачу представляет собой стандартное сообщение-
запрос DNS со значением 252 поля QTYPE, что соответствует типу AXFR.
Сокращением AXFR обозначается набор записей о ресурсах, состоящий из
всех записей для данной зоны. Однако, в большинстве случаев, все записи о
ресурсах не удается поместить в единственную UDP-дейтаграмму. Протокол
UDP относится к ненадежным протоколам без установления соединения,
которые допускают только один ответ на каждое сообщение-запрос, так как
ответ функционирует в качестве подтверждения запроса.
Поскольку основной сервер почти всегда вынужден будет использовать
множество пакетов для пересылки подчиненному серверу всех записей о
ресурсах данной зоны, необходимо применение другого протокола.
Глава 20. Система доменных имен
713
вЩ
Domain Na»e Service
Ц HEADER SECTION:
в Тер Length: 22
■Л Identifier: 0
В Flags:
**" 0 * Request packet
.000 0... = OP Code is 0x00 - Query
0., - Hon-Authoritative Answer
0. = Ho Truncation Packet
0 - Recursion Not Desired
0 - Recursion Not Available
.000 .... ■ Reserved Bits
.. . 0000 s Response Code is 0 - No Error
iSection Entries. QDCount»l ,ANCount=0 ,N5Count=0 ,ARCount»0
iQUESTION SECTI0N[1]:
"3
\ Domain Name
)Query Type
) Query Class
zl
252
1 -
- AXFR - a request for
IN - the ARPA internet
a transfer of an entire zone of authority
-d
Рис. 20.20. AXFR-сообщение, содержащее запрос зонной передачи,
отправляемое основному серверу с использованием соединения TCP
Domain Name Service
" HEADER SECTION:
Tcp Length: 216
Identifier: 0
Flags:Resp,Query,Non-Auth,Recu Ava,RCode-No Error
Section Entries: QDCount-1 ,ANCount-4 ,NSCount-0 ,ARCount»0
QUESTION SECTI0N[1]:Type-AXFR,Class-IN,zl
ANSWER SECTI0N[1]:
Domain Name (v/Pointer):
RR Type: 6 - SOA - marks the start of a zone of authority
RR Class: 1 - IN - the ARPA internet
RR Time To Live: 3600 second(s)
RR Data Length: 62 Octet(s)
Domain Name: czl.zacker.com is a Name Server of original source
Domain Name: administrator.zacker.com is a mailbox of responsible person
I Serial Number: 0
\ Refresh Time: 131072 second(s)
\ Retry Time: 235929600 second(s)
\ Expire Time: 39321601 second(s)
I Minimum TTL: 20864 second(s)
\ ANSWER SECTI0N[2] :Type-MINFO, Class—, I
\ ANSWER SECTI0N[3]:
\ Domain Name (v/Pointer): czl
i RR Type: 1 - A - a host address
|RR Class: 1 = IN - the ARPA internet
\ RR Time To Live: 3600 second(s)
| RR Data Length: 4 Octet(s)
I An ARPA internet address: 192.168.2.10
| ANSWER SECTI0N[4]:
| Domain Name (w/Pointer):
iRR Type: 6 - SOA - marks the start of a zone of authority
\ RR Class: 1 - IN - the ARPA internet
I RR Time To Live: 3600 second(s)
\Ш Data Length: 62 Octet(s)
\ Domain Name: czl.zacker.com is a Name Server of original source
\ Domain Name: administrator.zacker.com is a mailbox of responsible person
\ Serial Number:
\ Refresh Time:
\ Retry Time:
\ Expire Time:
Minimum TTL:
131072 second(s)
235929600 second(s)
39321601 second(s)
20864 second(s)
a
Рис. 20.21. Один из пакетов, передаваемых основным сервером в процессе
зонной передачи
714
Часть V. Сетевые службы соединений
Поэтому, перед отправкой сообщения-запроса на зонную передачу,
подчиненный сервер инициирует установление TCP-соединения с основным
сервером с использованием стандартного трехстороннего квитирования
установления связи. Как только соединение установлено, подчиненный сервер
передает AXFR-запрос в пакете TCP, используя для этого порт 53
(рис. 20.20).
В ответ на запрос основной сервер передает все записи о ресурсах
требуемой зоны в качестве записей в разделе Answer, как показано на рис. 20.21.
После того, как переданы все данные, две системы разрывают соединение
TCP в обычном порядке, и процесс зонной передачи на этом завершается.
Организация службы DNS
Корпоративная сеть, соединенная с сетью Интернет, вполне может
использовать DNS-серверы поставщика услуг Интернета, а также иметь
собственные серверы DNS. Если владельцы сети не имеют своего домена, то ей
требуются только клиентские возможности для разрешения DNS-имен в IP-
адреса. Организация же, владеющая доменом, должна иметь собственные
DNS-серверы, которые будут функционировать в качестве авторитетных
серверов для этого домена. Сетевые информационные службы (NIS, Network
Information Services) и другие службы регистрации доменов нуждаются в
наличии, по крайней мере, двух DNS-серверов из соображений
отказоустойчивости. С другой стороны, даже если сеть поддерживает собственный
домен, она по-прежнему может использовать DNS-серверы своего поставщика
Интернет-услуг. Однако размещение базы данных домена на DNS-сервере
провайдера, как правило, требует дополнительной оплаты, в то время как
стоимость клиентского доступа к серверам практически всегда заранее
включается в плату за предоставление доступа в сеть Интернет.
Внешние источники услуг DNS
К преимуществам использования DNS-серверов провайдеров услуг
Интернет относятся удобство, доступность и отказоустойчивость. Естественно,
администраторам домена намного проще оставить всю работу по
поддержанию записей о ресурсах, касающихся данного домена, на откуп поставщику
услуг Интернета, чем заниматься этим самостоятельно. Кроме того,
надежный провайдер всегда имеет высокоскоростной канал доступа в сеть
Интернет с большим запасом функционального резерва, который сможет
обеспечить постоянную доступность домена для пользователей сети Интернет.
Хороший провайдер Интернет также использует различные механизмы
обеспечения отказоустойчивости для поддержания непрерывной работы своих
серверов, например, резервные источники питания и избыточные дисковые
массивы.
Глава 20. Система доменных имен
715
Среди недостатков применения внешних источников для осуществления
рутинной деятельности по поддержке домена можно назвать более высокую
стоимость, а также возможное возникновение задержек в обслуживании.
Чтобы произвести какие-либо изменения DNS-конфигурации сети, ее
администраторы обязательно должны связаться с поставщиком услуг
Интернета, который, в свою очередь, может внести требуемые изменения в базу
данных своего DNS-сервера своевременно, а может и не сделать этого в
предписанные сроки. Кроме того, некоторые Интернет-провайдеры взимают
определенную плату за каждое изменение, вносимое в записи о ресурсах
DNS, в дополнение к обычной ежемесячной оплате обслуживания домена.
Это означает, что каждый новый хост или новый адрес электронной почты,
который владельцы сети захотят добавить к своему домену, будет стоить им
определенную сумму.
Другой важный момент, на который следует обратить внимание, связан с
присутствием на рынке Интернет-услуг провайдеров, предлагающих полные
пакеты по обслуживанию домена. Смысл таких полных пакетов заключается
в том, что провайдеры сами заполняют все необходимые документы по
регистрации имени домена и отправляют их службе регистрации доменов,
причем все за одну цену, включающую и стоимость собственно регистрации
имени. Это может быть очень удобно, но некоторые провайдеры в таких
случаях обозначают самих себя в качестве всех трех контактов, требуемых
службой регистрации имен. Только у трех человек, обозначенных в качестве
лиц для финансового, административного и технического контактов,
имеются полномочия для изменения записи о регистрации домена. При смене
по какой-либо причине поставщика услуг Интернета, регистрационная
запись домена должна быть изменена, чтобы обозначить другие DNS-серверы.
Однако "старый" Интернет-провайдер вполне может отказаться выполнить
это после того, как от его услуг отказались в пользу конкурента. Это может
привести к тому, что владелец домена утратит контроль над именем, за
которое уже заплатил.
Чтобы избежать возникновения подобных неприятностей, владельцу домена
всегда следует регистрировать его имя самостоятельно. NSI предоставляет
регистрационные формы на своем сайте в режиме on-line, что делает
процесс регистрации предельно простым, при этом оплату за регистрацию
можно производить по кредитной карточке. В список имен для контакта
имеет смысл вносить только те лица, которые будут связаны с данной
организацией еще достаточно длительное время.
Создание собственных серверов DNS
Практическая выгода от наличия DNS-серверов в конкретной сети зависит
от нескольких факторов, включающих реализацию DNS-сервера, которую
планируется использовать, размеры сети, а также объем необходимых меро-
716
Часть V. Сетевые службы соединений
приятии по обслуживанию. Например, в сети на основе операционных
систем UNIX каждая рабочая станция должна быть зарегистрирована в базе
данных сервера DNS, в то время как сети Windows или NetWare вполне
могут обойтись всего несколькими зарегистрированными хостами.
В настоящее время большинство DNS-серверов сети Интернет используют
различные варианты операционных систем UNIX, Windows NT или
Windows 2000. Фирма Novell также выпускает версию DNS-сервера для
сервера NetWare. Все эти серверы соответствуют основным стандартам DNS и
обеспечивают в основном одни и те же функции примерно одинаковым
образом, но с применением различных интерфейсов. DNS-серверы для
Windows NT или Windows 2000 наиболее просты в установке, конфигурации и
обслуживании, так как обеспечивают графический интерфейс файлам базы
данных сервера. Программа DNS Manager из Windows NT Server 4.0 и
оснастка для Microsoft Management Console в Windows 2000 Server позволяют
просматривать информацию базы данных DNS и содержимое кэша DNS
(рис. 20.22). Создание и изменение записей о ресурсах сводится к простым
манипуляциям со стандартными диалоговыми окнами и средствами
управления Windows.
I 1 Domain Name Service Manager
__
~ mmm\
DNS View Options Help |
|g SefverList 1
В-ф czl
\ ф Cache
:-LfjJ 0.in-addr.arpa
; Ш 127.in-addr.arpa
! Щ 2.168.192.in-addr.arpa
Ой 255.in-addr.arpa
Records for zacker.com
All Records
Name
zacker.com
2acker.c0m
cz1
cz3
(Ready ~~~
I Type
NS
SOA
A
A
Zone Info
"3
I Data
cz1.zacker.com.
czl.2acker.c0m.
192.168.2.10
192.168.2.3
1
administrat0r.2acker.com.
—1 2
Рис. 20.22. Главный экран программы DNS Manager в Windows NT
Как обычно, версии DNS-серверов, включенные в различные варианты
операционных систем UNIX, отличаются от аналогичных продуктов для
операционных систем Windows большей мощностью, большей гибкостью, а
также менее дружественным интерфейсом. Наиболее популярная из них
носит название BIND (Berkley Internet Name Domain).
Первоначально она была предназначена для использования с операционной
системой BSD UNIX, но с тех пор была портирована на многие другие
операционные системы, включая и Windows NT. Как и все UNIX-программы,
BIND не имеет дружественного интерфейса. Для конфигурирования сервера
и добавления или изменения записей о ресурсах требуется напрямую редак-
Глава 20. Система доменных имен
717
тировать файлы базы данных сервера, а используемый при этом синтаксис
может оказаться достаточно сложным. Почти любой может создавать новые
записи о ресурсах с помощью такой программы, как DNS Manager из
Windows NT, в то время как работа с BIND намного сложнее, и последствия
ошибок могут быть более катастрофическими.
С другой стороны, несмотря на свою простоту в применении, DNS-серверы
для Windows NT/2000 сохраняют совместимость с реализациями этих
серверов для операционных систем UNIX, так как хранят большинство своих
данных в точно таких же файлах базы данных, что использует программа
BIND. Фактически основная функция утилиты Microsoft DNS Manager и
оснастки для Windows 2000 сводится к обеспечению графического
интерфейса редактора для этих файлов.
Удобство DNS-сервера для Novell NetWare находится примерно посередине
между двумя рассмотренными противоположностями, то есть DNS-серверами
для Windows NT и UNIX. Конфигурация программы и создание записей о
ресурсах проводятся с помощью утилиты под названием UNICON,
исполняемой сервером NetWare. Эта утилита имеет текстовый интерфейс и
управляется посредством системы меню.
За одним важным исключением, в конкретной сети можно применять
любые реализации DNS-серверов или даже какие угодно их комбинации. Пока
DNS-сервер сохраняет совместимость со стандартами документов RFC 1034
и RFC 1035, он будет способен взаимодействовать с любым DNS-сервером,
совместимым с теми же стандартами. Поэтому, вполне допустима ситуация,
когда основной сервер DNS использует Windows NT, в то время как
подчиненный сервер "предпочитает" UNIX, или же любое другое сочетание
операционных систем, применяемых для работы DNS-серверов.
Исключение же относится к сети на базе Windows 2000, использующей
Active Directory. Active Directory в значительной степени опирается на DNS,
и DNS-сервер, входящий в Windows 2000 Server, совместим со стандартами
RFC 2052 (описывает тип SVR записей о ресурсах) и RFC 2136 (вводит
сообщение Update). Для работы Active Directory необходимы именно эти
новые возможности, чтобы осуществлять регистрацию контроллеров доменов в
базе данных DNS и вносить текущие изменения в эту информацию.
Поэтому в данном случае следует строго придерживаться использования DNS-
серверов для Windows 2000, если только применяется Active Directory.
ЧАСТЬ VI.
СЕТЕВЫЕ СЛУЖБЫ
КАТАЛОГОВ
Глава 21
Служба каталогов Novell
Как изначально задумывалось, Novell NetWare является операционной
системой, разработанной для предоставления многочисленным пользователям
доступа к файлам и принтерам общего сервера. Для управления доступом к
серверу NetWare включает однородный файл базы данных, называющийся
bindery, который состоит из учетных записей пользователей, паролей и
других основных элементов. Администраторы предоставляют доступ к
определенным ресурсам на сервере, выбирая пользователей из этой базы
регистрационных данных.
С ростом популярности NetWare для организаций стало обычным делом
иметь несколько серверов, каждый из которых обладает собственной
регистрационной базой. Чтобы добавить нового пользователя администраторам
раньше приходилось создавать учетную запись для него в базе
регистрационных данных каждого сервера, к которому пользователь мог иметь доступ.
Если в сети было лишь небольшое количество серверов, эта рутинная работа
вызывала раздражение, но все-таки была выполнима. Если же большая сеть
достигала размеров, когда в ней были уже десятки и сотни серверов
NetWare, поддержка отдельных регистрационных баз для каждой машины
становилась фактически неосуществимой.
Чтобы решить эту проблему, Novell создала службу каталогов, которая
осуществляет функции централизованного хранилища информации обо всей
корпоративной сети. Администраторы создают для каждого пользователя
одну учетную запись в службе каталогов и затем могут использовать эту
запись для предоставления пользователю прав доступа к ресурсам,
расположенным в любом месте сети. По большей части основанная на стандарте
Х.500, разработанном Международной Организацией по стандартизации
(ISO), NetWare Directory Services (NDS, служба каталогов NetWare) впервые
была реализована в 1993 г. как часть операционной системы NetWare 4.
Поначалу включавшая кое-какие недоработки, NDS имела достаточно времени
для совершенствования, а также изменила название с NetWare Directory
Services на Novell Directory Services (Служба каталогов Novell), которое
отражает возможность использования этого программного продукта для
приложений и операционных систем, отличных от NetWare.
В коммерческой сетевой индустрии NDS стала моделью для разработки,
развертывания и преобразования службы каталогов в сетевое средство об-
722
Часть VI. Сетевые службы каталогов
щего назначения. Служба Active Directory фирмы Microsoft, впервые
представленная в Windows 2000, несомненно, построена на фундаменте,
заложенном NDS. Использование одного хранилища для информации обо всем
аппаратном и программном обеспечении сети, ее человеческих и
организационных ресурсах, значительно упрощает работу администратора сети, и
Novell была первой компанией, создавшей коммерческую версию службы
каталогов для корпоративной сети и применившей ее в больших масштабах.
Сейчас NDS может работать на серверах UNIX и Windows NT точно также,
как на серверах NetWare, и является наиболее распространенной службой
каталогов. Популярность NetWare, безусловно, претерпит изменения из-за
конкуренции с Windows NT и Windows 2000, но Novell имеет огромное
преимущество за счет того, что ее служба каталогов существует уже давно, и
NDS остается далеко впереди благодаря своей гибкости и стабильности.
Даже несмотря на то, что Active Directory имеет большой потенциал, нельзя
не учитывать, что Novell и ее партнеры уже несколько лет эксплуатируют
возможности NDS, в то время как AD находится только на старте.
Архитектура NDS
NDS фактически является базой данных, составленной из объектов,
выстроенных в иерархическое дерево, похожее на то, что использует файловая
система (рис. 21.1). На вершине дерева находится абстрактный объект [Root],
от которого ответвляются все остальные объекты. Объект (object) — это
логический элемент, который может представлять пользователей,
оборудование, программное обеспечение и организационные компоненты. Каждый
объект состоит из набора свойств (properties), которые содержат
информацию об объекте. Например, объект, представляющий
пользователя John Doe, может быть назван как jdoe, и
характеризоваться свойством Telephone Number (номер
телефона), а в качестве значения этого свойства должен
использоваться телефонный номер данного
пользователя. Иные свойства для объекта пользователя содержат
идентификационную информацию о нем, а также
список групп, к которым принадлежит пользователь, права
доступа к другим объектам дерева NDS и какие-нибудь
ограничения для данной учетной записи.
°Ш Chicago
h°SNY
°S Marketing
°SMIS
°@ Sales
°S Inside
Й PS-Inside
J|Q1
& jdoe
Ajsmith
°S Outside
LD@ Paris
Рис. 21.1. База данных NDS имеет форму
иерархического дерева
Администраторы могут использовать любое из трех средств для создания
объектов и изменения их свойств. Administrator for NetWare является
приложением Windows, доступным для Windows 3.x, 9.x, NT и 2000. Оно
обеспечивает графическое представление дерева NDS и его элементов (рис. 21.2).
Глава 21. Служба каталогов Novell
723
NetWare Administrator — наиболее простое и разностороннее средство для
решения многих задач обслуживания NDS. Каждый объект дерева имеет
свое собственное диалоговое окно, содержащее подробные сведения,
позволяющие изменять значения свойств объекта.
И NetWare Administrator • [[Root) (NWTREE)]
Щ\ fibject View Options loots Window tieip
-lOlxl
-uixj
®[Root]
I-& global
Hfcus
*-& corpnct
fclNTGATEWAY
j-lNWSERVER
PI
|-Й PS-co rpnct
JIQ1
HQ2
Ш\ User : Admir
Identification
|- & Administrator
£ craigz
Ql NWSERVER_SYS
E]NWAdmin32
E3 SnapShot
EWReg16
E3WReg32
JLlJ
Tree: NWTREE
Login name:
fiiven name:
Last name:
FyB name:
Generational
flualifier:
Other name:
Tjtle:
description.'
Location:
Department:
lelephone:
£ax number:
bdmin. coronet
•
'
Middle initial: |
a^j
aj
.±1
ёы
a^j
ёы
вы
1 Identification
Environment
Login Restrictions
3
4
Password Restrictions
Login Time Restrictions
|| Network Address
II Restriction
Login Script
Intruder Lockout
Rights to Files and
Directories
II firniin Mpmhet«hin
3
3
3
Z)
"4
1
J
d
| OK. I Cancel | PageOptions... | Help |
Рис- 21-2- Диалоговое окно с подробностями и представление дерева
в NetWare Administrator
Netadmin.exe — это текстовая утилита, основанная на выпадающих меню,
которая запускается из командной строки в любой операционной системе,
базирующейся на DOS (рис. 21.3). Ее интерфейс не столь интуитивно
понятен, как у NetWare Administrator, и не выполняет всех его функций, но
преимуществом данной программы является скорость работы.
Программа ConsoleOne является консолью администрирования на основе
Java (рис. 21.4), впервые представленной в NetWare 5, разработанной для
использования в больших корпоративных сетях. ConsoleOne предоставляет
возможности администрирования NetWare и NDS для любой платформы,
которая поддерживает Java, включая серверы NetWare. Версия ConsoleOne
для Web-браузера позволяет любому пользователю работать с базой NDS с
помощью браузера, обладающего возможностями Java, даже если на
рабочую станцию не установлены другие клиенты NDS.
724
Часть VI. Сетевые службы каталогов
5 NET ADMIN
"as 3 а|«ь|в| ш\ g|g aJ
ШШ
NetAdmin4.66
Context: corpnet
Login Name: с raigfz .corpnet
Sunday December 19, 1999 2:23pm
NetAdnin options
IJ.M !ti ИЧ ЯЕРВЗПИ
Manage according to search pattern
Change context
Search
'ress <Enter> to
: truettire ,
nterw»eiocc csc»txit
elect an obj«
manage by navigating the directory
г1Mneip I
Рис- 21.3- Главный экран Netadmin.exe
ITaj Novell Consoledne
File ВШ View Tools Help
ШШШ
Ш
\®
ie
|® My World
• ®TheNeuvork
о jjj Novell Directory Services
• B© DEVED3
О & Novell
О ВФ NOVELLJNC
• В© ORM-DEVINFO-LAB
О ^ ndl-lab
1 PRV-DEVED3
Д Admin
1 PRV-DEVED3_SYS
1 PRV-DEVED3.ST0RAGE
«4 Address Book
A API Prototypes
(User: Admin
(Tree: DEVED3
Рис. 21.4. Главный экран
ConsoleOne
Контейнеры и листья
Существуют два типа объектов, используемых для построения дерева NDS:
объекты-контейнеры (container objects) и объекты-листья (leaf objects). Как
свидетельствуют названия, объект-контейнер имеет подчиненные ему
объекты, формирующие ветвь дерева. Объекты-листья не могут содержать
другие объекты, напоминая листья настоящего дерева, которые являются
конечными точками ветки.
Большинство контейнерных объектов в дереве NDS — чисто абстрактные
конструкции, которые необходимы для формирования групп физических
объектов. Например, объекты страны, организации и отделов организации
существуют только, чтобы включать другие объекты, создавая при этом
иерархическую структуру дерева. С использованием этих контейнерных объек-
Глава 21. Служба каталогов Novell
725
тов можно построить дерево, отображающее географическое расположение
и политическое разбиение организации (такое как деление на отделы и
филиалы) или любой другой принцип разделения. Эти объекты упрощают
процесс назначения множеству объектов одинаковых значений свойств.
Когда изменяется свойство контейнерного объекта, все объекты, входящие в
него, наследуют значение этого свойства. Например, можно назначить
контейнерному объекту право доступа к определенному каталогу на сервере и
каждый объект-пользователь в этом контейнере наследует это право.
Помимо объектов-пользователей в дереве NDS существуют другие типы
объектов-листьев, представляющие серверы NetWare, принтеры,
приложения и другие элементы. Каждый тип объектов имеет свойства, специфичные
для сущности, которую представляет объект. Помимо предопределенных
объектов, которые можно создавать в базе NDS, разработчики программного
обеспечения имеют возможность задать новые типы объектов или новые
свойства для уже существующих типов. Возможности NDS определяются ее
схемой, которая указывает, какие виды объектов могут существовать в базе
данных, допустимые свойства этих объектов и связи между различными
типами объектов. Приложения способны изменять эту схему, добавляя новые
типы объектов, которые специально разработаны дяя использования этими
приложениями. Например, программа Novell ZENworks изменяет схему,
позволяя создавать объекты, представляющие рабочие станции сети. Также
Novell выпустила SDK (Software Developer's Kits, набор средств разработчика
программного обеспечения), который позволяет разработчикам сторонних
фирм создавать собственные модификации схемы.
Объекты и свойства
Типы объектов, включенных по умолчанию в NetWare 4.x, их функции и
пиктограммы в NetWare Administrator перечислены в табл. 21.1. Эти объекты
можно создавать сразу после установки NetWare при помощи утилит
управления NDS.
Таблица 21.1. Типы объектов NetWare 4.11 по умолчанию
Пиктограмма Имя объекта Описание
объекта
J^a AFP Server Представляет сервер AppleTalk Filling Protocol
(сервер AFP)
ф? Alias (псевдоним) Осуществляет функции дублирования другого
объекта в дереве, позволяя одному объекту
существовать в нескольких контекстах
Щз Country (страна) Представляет страну, в которой сеть имеет
ресурсы
726
Часть VI. Сетевые службы каталогов
Таблица 21.1 (окончание)
Пиктограмма
объекта
Имя объекта
Описание
Ч
3£
№
1
£БЬ
Д
°1
±±
й
$
н
Q
А
□
Directory Map
(отображение
каталога)
Group (группа)
Locality
(расположение)
NetWare Server
(сервер NetWare)
Organization
(организация)
Organization Role
(организационная функция)
Organization Unit
(подразделение
организации)
Print Queue
(очередь печати)
Print Server
(сервер печати,
не NDPS)
Printer (принтер,
не NDPS)
Profile (профиль)
Template
(шаблон)
User
(пользователь)
Volume (том)
Представляет определенный каталог на
файловом сервере NetWare, позволяя утилитам,
распознающим существование в сети NetWare,
обращаться к этому каталогу при помощи
имени объекта directory map
Представляет группу пользователей,
расположенную где-либо в дереве NDS
Представляет в дереве NDS географическое
местоположение
Представляет сервер под управлением
операционной системы NetWare
Контейнерный объект, представляющий
организацию или компанию
Представляет ответственную должность,
которая требует специальных прав доступа к
сетевым ресурсам
Контейнерный объект, который представляет
отдел или подразделение организации или
компании
Представляет очередь печати NetWare
Представляет сервер печати NetWare
Представляет принтер NetWare
Представляет скрипт, выполняющийся при
регистрации, который может быть назначен
пользователям
Объект-лист, который позволяет ускорить
процесс создания множества объектов-листьев с
одинаковыми характеристиками
Представляет пользователя сети
Представляет том сервера NetWare
В качестве примера расширяемости NDS может выступать программный
пакет клиента Novell текущей версии, поставляемый вместе с ZENworks
Глава 21. Служба каталогов Novell 727
Starter Pack, который включает Novell Application Launcher и Workstation
Manager. Оба эти приложения содержат расширения схемы, которые
добавляют новые типы объектов, перечисленные в табл. 21.2.
Таблица 21,2. Типы объектов, добавляемые ZENworks Starter Pack
Пиктограмма Имя объекта Описание
объекта
Представляет сетевое приложение
Контейнер для объектов-приложений,
отображаемых в Novell Application Launcher
Представляет компьютер сети, не
являющийся сервером
Содержит набор правил политики,
связанных с определенным типом объектов
Представляет клиентскую рабочую
станцию сети
Контейнер, содержащий набор объектов
рабочих станций
Схема также определяет свойства для каждого типа объектов базы NDS,
которые зависят от функций объекта. Некоторые свойства являются
необходимыми, то есть объект должен обязательно иметь для них заданное
значение, в то время как другие являются несущественными и позволяют
оставлять их пустыми. Свойства объекта несут информацию, которая
попадает в одну из четырех категорий.
□ Имена. Каждый объект должен иметь имя, которым он представлен в
дереве NDS. Некоторые другие свойства могут давать более полную
информацию об имени, такую как полное имя пользователя (например,
John Doe).
□ Адреса. Объекты, представляющие аппаратные компоненты, такие как
серверы и принтеры, могут иметь сетевые адреса. Почтовые адреса,
телефонные номера и прочая контактная информация являются
необязательными свойствами, которые могут быть полезными для пользователей и
персонала, но администраторы часто их пропускают.
□ Описания. Информационные свойства могут не иметь технических
функций, тем не менее, время, потраченное на их заполнение (например
чтобы предоставить информацию о типе оборудования, которое
представляет объект, или о его точном местоположении) может значительно
сократить накладные расходы на поддержку сетевых ресурсов.
ш
в
S
U
щ,
#
Application
(приложение)
Application Folder
(каталог приложений)
Computer (компьютер)
Policy Package (набор
политик)
Workstation (рабочая
станция)
Workstation Group (группа
рабочих станций)
728
Часть VI. Сетевые службы каталогов
О Членство. Связи объекта с другими объектами дерева являются наиболее
важным типом информации, предоставляемым свойствами. Группы
объектов, например, содержат список своих членов, и фактически все
объекты включают список пользователей, обладающий правами доступа к ним.
Присваивание имен объектам NDS
Иерархическая структура базы данных NDS несет на себе не только
организационные функции, но также обеспечивает уникальный идентификатор для
каждого объекта дерева. В однородном файле базы данных, таком как база
регистрационных данных (bindery) в старых версиях NetWare, каждый
объект имел одно имя, которое должно было являться уникальным. Для одного
сервера решение, такое как bindery, является разумным, но для
корпоративной службы каталогов подобной NDS намного более вероятной кажется
ситуация, когда понадобится иметь два объекта с одинаковыми именами.
Например, если в отделе маркетинга работает Joanne Smith, а в отделе
продаж — Joe Smith, то принятое соглашение об именах объектов пользователей
может потребовать, чтобы оба эти сотрудника имели имя jsmith.
В дереве NDS можно иметь два объекта с одинаковыми именами, пока они
находятся в разных контекстах. Контекст (context) объекта — это просто его
расположение в дереве NDS, определяемое именами контейнеров, в
которых объект содержится. Перечисляются имена всех контейнеров, лежащих
на пути к корню, в качестве разделителя используется точка, которая
ставится между именами. Каждый объект в дереве NDS имеет уникальный
идентификатор, составленный из имени объекта и его контекста. Такая
комбинация называется отличаемым именем (DN, distinguished name) объекта.
Таким образом, если в дереве существуют два пользователя с одинаковыми
именами объектов, то используются следующие отличаемые имена:
j smith.NY.Sales.corpnet
j smith.Chicago.Marketing.corpnet
В этих именах контекст указывает путь от объекта [Root] справа (это
теоретически, так как в действительности [Root] никогда не указывается в
отличаемом имени) и дальше вниз по дереву NDS к объекту. Контейнер corpnet
является объектом organization, расположенным на верхнем уровне дерева,
ближайшем к объекту [Root], и таким образом можно сказать, что он
наиболее значимый объект в имени. Объект, который наиболее удален от корня,
является менее значимым объектом.
Использование контекста
Все функции приложений и операционных систем, которые запрашивают
информацию из базы данных NDS, делают это при помощи отличаемого
имени необходимого объекта. Тем не менее, когда пользователь выполняет
Глава 21. Служба каталогов Novell
729
действие, которое преобразуется в вызов NDS, например, ввод имени
пользователя в диалоговое окно регистрации, то он никогда не набирает полное
отличаемое имя своего пользовательского объекта, так как приложение
автоматически добавляет текущий контекст к тому объекту, имя которого указано.
Контекст по умолчанию для пользователя каким-либо способом
определяется клиентским программным обеспечением, которое обеспечивает доступ к
NDS, например, при помощи реестра Windows или записи в файле Net.cfg,
зависящей от используемой клиентом операционной системы. Находясь в
контексте по умолчанию, пользователь может обратиться к любому другому
объекту в том же контексте, указав только имя объекта, которое в этом
случае называется относительным отличаемым именем (relative distinguished name)
или неполным именем (partial name).
Автоматическое использование контекста приложениями и другим
программным обеспечением является одной из причин, когда лучшим
решением при проектировании дерева NDS является размещение пользователей в
одном контейнере с ресурсами, к которым они обращаются наиболее часто.
Например, для доступа к файлам сервера, расположенного в том же
контексте, что и пользователь, последний может просто указать имя сервера.
Однако, если сервер находится в другом контексте, пользователь должен
указать либо полное отличаемое имя сервера, либо описать контекст, в котором
расположен сервер.
После регистрации в дереве NDS можно изменить текущий контекст,
используя NetWare Administrator, Netadmin.exe или утилиту Сх.ехе, что даст
возможность указывать ресурсы в новом контексте только при помощи
имен соответствующих им объектов. Тем не менее, большинство
пользователей не делают этого, так как не имеют представления о том, что такое
дерево NDS, и как работает контекст. Наиболее часто применяемый сегодня
метод указания объектов в другом контексте заключается в пролистывании
контейнеров дерева NDS при помощи графического диалогового окна,
подобного окну, показанному на рис. 21.5. Выбор объекта в другом контейнере
автоматически возвращает приложению отличаемое имя этого объекта.
Таким образом, для клиентов, зарегистрировавшихся в дереве NDS,
основной функцией контекста является упрощение процесса создания ссылок на
другие объекты в том же контейнере. Однако контексты также используются
функциями серверов NetWare. Когда в сети регистрируется клиент, который
не поддерживает NDS, серверы NetWare 4.x и 5.x могут эмулировать базу
регистрационных данных, используемую NetWare 3.x и более ранними
версиями. В случае поддержки эмуляции базы регистрационных данных
(bindery emulation) на сервере NetWare необходимо создать один или
несколько контекстов этой базы, используя команды set. Эти команды
идентифицируют только те контексты, к которым могут иметь доступ клиенты
базы регистрационных данных (bindery). Для клиента все выглядит так, как
730
Часть VI. Сетевые службы каталогов
будто он регистрируется в базе регистрационных данных сервера, хотя в
действительности он входит в ограниченную область дерева NDS.
Select Object
[Root](NWTREE}...
Available objects:
OK
, J£row$e context:
Cancel
Help
corpnet
|£ global
feus
Change Context... I
Рис. 21.5. Диалоговое окно Select Object позволяет
пользователям продвигаться по дереву NDS
к расположению определенного объекта
Имена с указанием типа объекта
и без указания типа
Существует два способа записи отличаемого имени любого объекта в дереве
NDS. Имена, используемые до этого в примерах, называются именами без
указания типа (typeless), так как они не идентифицируют тип объекта. Имена
с указанием типа (typeful) включают аббревиатуру, которая сообщает о типе
объекта, как показано ниже.
CN=j smith.OU=NY.OU=Sales.O=corpnet
CN=j smith.OU=Chicago.OU=Marketing.O=corpnet
В именах с указанием типа могут использоваться следующие аббревиатуры:
□ с — Country;
□ о — Organization;
□ ои — Organization Unit;
□ cn (Common Name, нарицательное имя) — все объекты-листья.
Отличаемые имена, передаваемые приложениями и операционными
системами, осуществляющими вызовы NDS, всегда являются именами с
указанием типа. Однако почти никогда не вводят имена с указанием типа вручную,
так как клиенты используют правила написания по умолчанию, которые
Глава 21. Служба каталогов Novell
731
обычно верно действуют, чтобы добавить аббревиатуры к отличаемым
именам. Эти правила перечислены ниже.
□ Наименее значимое неполное имя в отличаемом имени должно быть
определено как объект-лист, и получить аббревиатуру CN.
□ Наиболее значимое неполное имя в отличаемом имени должно быть
определено как объект организации, и получить аббревиатуру О.
□ Все неполные имена между наименее значимым и наиболее значимым
именами должны быть определены как объекты подразделений
организации, и получить аббревиатуру OU.
Фактически единственным случаем, когда эти правила работают
неправильно, является расположение на верхнем уровне дерева NDS объектов Country
(страна). Объекты Country являются наследием Х.500, который был
разработан, чтобы стать настоящей глобальной службой имен. По этой причине
правила написания по умолчанию, которые используют объекты Country в
дереве NDS, обычно только мешают даже предприятиям, имеющим офисы
в различных странах.
^ Примечание j|
Когда применяются правила написания по умолчанию, клиент NDS не пытается
проверить, соответствует ли в действительности назначаемый тип объекту.
Например, если в дереве NDS используются объекты Country, клиенты будут
предлагать имена, записанные в соответствии с этими правилами, которые
будут неверными, так как даже если имя наиболее значимого контейнерного
объекта будет допустимым, его тип будет неверным.
Использование определителей контекста
Если по какой-либо причине в приложении необходимо ввести имя
объекта, расположенного в другом контексте, то обычно это можно сделать, не
указывая полное отличаемое имя объекта, но для этого необходимо знать
текущий контекст. Когда указывается имя объекта-листа, то клиент NDS
добавляет к нему текущий контекст. Таким образом, предположим, что
пользователь зарегистрировался в дереве NDS, используя следующий
контекст по умолчанию:
OU=NY.OU=Sales.O=corpnet
Когда он попытается получить доступ к серверу с именем nwi и вручную
наберет это имя в диалоговом окне приложения, клиент NDS в своем
обращении к базе данных NDS будет использовать для сервера следующее
отличаемое имя:
CN=NW1.OU=NY.OU=Sales.O=corpnet
Если существует второй сервер с именем NW2, который расположен в
контейнере Chicago.sales.corpnet, пользователь может избежать ввода пол-
732
Часть VI. Сетевые службы каталогов
ного отличаемого имени для него, указав только имя самого объекта сервера
и того объекта, что является наименее значимым контейнером и
одновременно единственной частью, которая отличается от текущего контекста
пользователя. Однако, если пользователь укажет в приложении имя
nw2.Chicago, клиент все еще добавит контекст пользователя, что в
результате даст следующее несуществующее имя:
CN=NW2.OU=Chicago.OU=NY.OU=Sales.O=corpnet
Но пользователь хотел заменить в имени контейнер ny на Chicago, а не
добавить контейнер Chicago. Чтобы сделать это, необходимо использовать
определитель контекста (context qualifier), который фактически является
сигналом для клиента, предписывающим опустить определенную часть контекста
при добавлении его к имени, предложенному пользователем.
Маскирование наложением
Наиболее часто используемым определителем контекста является
маскирование наложением (trimmed masking), которое заключается в добавлении точки к
концу неполного имени, предоставленного приложению, для каждого
контейнера, который необходимо исключить из контекста при добавлении
контейнера К Имени. ТаКИМ Образом, если ВВесТИ ИМЯ NW2. Chicago. (ВКЛЮЧИВ
последнюю точку), клиент отбросит из контекста контейнер ny и добавит
только ou=saies.o=corpnet, полученное в результате имя будет правильным:
CN=NW2. OU=Chicago. OU=Sales. O=corpnet
Если пользователь предложит имя nw2.Chicago.. (включив в конец две
точки), клиент уберет из контекста контейнеры ny и sales, результатом будет
следующее неверное имя:
CN=NW2.OU=Chicago.O=corpnet
Предшествующие точки
Другая форма идентификатора контекста включает добавление точки перед
именем, задаваемым приложению. Когда это делается, клиент добавляет
типы объектов текущего контекста пользователя к именам объектов,
указанных после точки. Таким образом, если пользователь с контекстом
ou=ny . ou=saies. o=corpnet. c=us вводит в приложении имя
.nw.Paris.Marketing.corpnet.FR, клиент возьмет тип объекта от каждого
из четырех контейнеров в контексте и добавит его к предложенным именам.
Результатом будет следующее отличаемое имя:
CN=NW2.OU=Paris.OU=Marketing.Ocorpnet.C=FR
Единственный случай, когда эта технология является необходимой, это
дерево NDS, использующее объекты Country. В этой ситуации правила
написания по умолчанию могут дать неверное имя. Когда используется
предшествующая точка, предлагаемое приложению имя должно включать такое же
количество имен контейнеров, как в контексте. Другими словами, пользова-
Глава 21. Служба каталогов Novell
733
тель вводит отличаемое имя без указания типа, а предшествующая точка
позволяет клиенту написать его правильно.
|^ Примечание j^
Сейчас определители контекста требуются уже нечасто, так как большинство
операционных систем разрешают пользователю просматривать дерево NDS и
выбирать объекты в GUI, что намного проще, чем вводить имена объектов
вручную. Одним из случаев, когда может потребоваться эта технология,
является смена текущего контекста при помощи утилиты NetWare CX. Сх.ехе — это
программа командной строки, которая позволяет перемещаться по дереву
NDS, подобно тому, как команда CD операционной системы MS-DOS позволяет
двигаться по файловой системе компьютера.
Разделы и реплики
Чтобы NDS была эффективным хранилищем для информации обо всей
корпоративной сети, она не должна располагаться на одном сервере. Это
вызвано не только неэффективностью доступа для систем, отделенных от
сервера сравнительно медленными каналами глобальной сети, но также тем,
что неисправность этого единственного сервера может привести в нерабочее
состояние всю сеть. Чтобы защитить базу данных и сделать ее доступной
для пользователей и администраторов по всей сети, NDS может быть
разбита на разделы и реплики.
Разбиение на разделы (partitioning) представляет собой разделение базы данных
на сегменты, каждый из которых хранится на отдельном сервере. В сущности,
каждый раздел является ветвью дерева NDS. Создание разделов позволяет
держать объекты NDS в непосредственной близости с физической
сущностью, которую они представляют. Например, компания с четырьмя офисами
в удаленных городах, соединенных каналами связи глобальной сети, может
разбить свою базу данных NDS на четыре раздела, каждый их которых будет
содержать пользователей, серверы и другие объекты только для одного из
офисов и хранить их на сервере, расположенном в данном офисе. Таким
образом, пользователи, регистрирующиеся в сети, не станут нуждаться в
доступе по медленному каналу глобальной сети к своим пользовательским
объектам, расположенным на сервере в другом городе.
Однако даже когда не задействуются каналы связи глобальной сети,
создание разделов на нескольких серверах помогает распределить трафик NDS по
всей сети. Когда на одном сервере хранится вся база данных, каждый
процесс, требующий доступа к объектам NDS, должен отправлять трафик
указанному серверу. Это не будет проблемой, если сервер подключен к
магистрали или другой высокоскоростной сети, которая может передавать трафик,
но создание разделов на серверах, расположенных в различных локальных
сетях, распределяет нагрузку по потоку сообщений между несколькими
отдельными сегментами сети.
734
Часть VI. Сетевые службы каталогов
Типы реплик
Деление на разделы дерева NDS обеспечивает отказоустойчивость, так как
неисправность одного сервера не приводит к потере доступа ко всей базе
данных. Тем не менее, возможно сделать базу данных еще более
отказоустойчивой за счет ее реплицирования. Реплика (replica) — это точная копия
раздела NDS или всей базы данных, которая хранится на другом сервере.
Можно создать сколько угодно реплик раздела, разместив каждую на
отдельном сервере. Все вместе реплики определенного раздела формируют
кольцо реплик (replica ring). Если сервер, содержащий часть дерева NDS,
выходит из строя, пользователи и приложения все еще могут получить доступ
к базе данных через одну из ее реплик.
NDS различает четыре различных типа реплик.
□ Мастер-реплика. Основная копия определенного раздела. У раздела
может быть только одна мастер-реплика.
□ Изменяемая реплика. Копия раздела, к которой пользователи и
приложения могут иметь доступ для осуществления регистрации, а
администраторы — для внесения изменений в базу данных.
□ Реплика только для чтения. Копия раздела, к которой пользователи и
приложения могут иметь доступ для осуществления регистрации, но
которая не может быть изменена утилитой администрирования. Этот тип
реплики обновляется только процессом синхронизации NDS.
□ Подчиненная ссылочная реплика. Реплики специального назначения для
подчиненных разделов, созданные на сервере, чтобы указывать
расположение этих подчиненных разделов на других серверах. Когда изменяемая
реплика или реплика только для чтения подчиненного раздела создаются
на том же сервере, где расположен родительский раздел, подчиненная
ссылочная реплика для этого раздела удаляется.
Создание разделов и реплик
Администраторы создают разделы, используя либо NDS Manager, либо
Partition Manager. NDS Manager является утилитой Windows, которая
обеспечивает графическое представление всех разделов и реплик базы данных NDS
(рис. 21.6). Partition Manager представляет собой альтернативную программу
MS-DOS, которая предоставляет приблизительно такие же функции, но без
возможности полного обзора.
Создание раздела — это просто выбор контейнера в дереве. Этот контейнер,
а также все объекты в нем (как контейнеры, так и листья), становятся
частью нового раздела. Выбранный контейнер называется корневым объектом
раздела (partition root object). Корневой объект раздела отслеживает реплики
раздела, которые существуют где-либо еще в сети, и статус процесса
синхронизации реплик. Разделы с корневыми объектами, прилегающими к объ-
Глава 21. Служба каталогов Novell
735
екту [Root] дерева NDS, считаются главными (superior), а те разделы, чьи
корневые объекты более удалены от объекта [Root] считаются подчиненными
(subordinate).
KNDS Manager - [[NWTREE] [Root]]
^Object View Tools Window Help
ЫШ'ЪМ а\ Ш|»1^1<&К1 oHatelBfl ?l
Context: JNWTREE
Г~&ь corpnel
lMnwserver
г~&ь global
Lffeus
Partition: JNWTREE Server Read: JNWSERVER.corpnet
iServer I jType | jState
mmm\
-Ifflxll
Eml 11
NWSERVER.corpnet H on
Master
AJ
A
Рис. 21.6. Основное окно NDS Manager
В любой момент после создания раздела можно внутри него выбрать
контейнерный объект и выделить его в раздел. Также в любое время можно
создать новую реплику раздела. Таким образом, дерево NDS может расти,
соответствуя размерам сети.
Число создаваемых разделов и реплик должно основываться на количестве
имеющихся в наличии серверов и их возможностях, нуждах пользователей и
топологии самой сети. В случае сети, упомянутой ранее, состоящей из
четырех офисных сетей, соединенных каналами связи глобальной сети,
формирование отдельного раздела для каждого офиса является логичным
решением. Помимо этого, создание на каждом из четырех серверов реплик
только для чтения для остальных трех разделов также хорошая идея (если
серверы способны поддерживать их), так как пользователи в каждом из
офисов смогут иметь локальный доступ ко всей базе данных NDS.
Единственным трафиком службы каталогов, передаваемым по каналам связи
глобальной сети, будет трафик синхронизации базы данных.
Перемещение по дереву
Не имеет значения, сколько разделов и реплик содержит дерево NDS, a
также то, где они расположены, для приложений, использующих дерево
NDS, оно всегда выглядит как единая функциональная сущность. Каждый
сервер, поддерживающий какую-нибудь реплику раздела NDS, работает как
сервер имен и может определить местоположение ресурса, представленного
любым именем объекта NDS. Запросы имен объектов всегда указывают
полное отличаемое имя требуемого ресурса. Когда сервер имен получает
запрос, в поисках объекта он сначала проверяет свои собственные разделы.
Если запрошенного объекта нет в собственных разделах сервера, то его по-
736
Часть VI. Сетевые службы каталогов
иск должен быть произведен на других серверах имен. Процесс
осуществления сервером этого поиска называется перемещением по дереву (walking the
tree) и включает в себя методический просмотр разделов на других серверах
имен в поисках запрошенного имени.
Корневой объект каждого раздела содержит список других разделов,
которые являются главными и* подчиненными по отношению к нему. Если
сервер распознает любой из контейнеров в запрошенном имени как часть
подчиненного раздела, он может передать запрос вниз по дереву к
соответствующему серверу имен. Если сервер имен не способен осуществить такое
распознавание, то он должен передать запрос вверх по дереву в направлении
к объекту [Root].
Расположение любого объекта в дереве может быть определено поиском от
объекта [Root], но это неэффективный метод, так как он будет перегружать
сервер, содержащий раздел [Root], и, возможно, вызовет множественные
задержки, если соединение с этим сервером осуществляется по медленному
каналу связи глобальной сети. Вместо этого сервер имен обрабатывает
запрос, передавая его серверу имен, который является главным для него в
иерархии дерева. Затем сервер просматривает свои собственные разделы и
удовлетворяет запрос или передает его либо вниз по дереву своему
подчиненному серверу имен, либо вверх следующему главному серверу.
Фактически сервер имен может распознать один из контейнеров в запрошенном
имени и имеет возможность передать запрос серверу, содержащему
правильный раздел. Таким образом, запрос только передается по дереву
настолько уровней, насколько это необходимо, чтобы найти имя.
Для примера возьмем иерархию серверов имен, показанную на рис. 21.7.
Предположим, что приложение посылает серверу D запрос на объект
пользователя jdoe.Chicago.Sales. Раздел на сервере D содержит объекты
контейнера ny.sales, но не имеет информации о Chicago.sales. Так как
раздел, подчиненный серверу D (inside.ny.sales на сервере F), должен иметь
в своем контексте ny.sales, сервер D, зная об этом, должен передать запрос
главному разделу. Сервер В содержит раздел sales и распознает, что этот
контейнер является частью имени запрошенного объекта, но он не содержит
раздела Chicago. Sales. Тем не менее, сервер В определяет, ЧТО Chicago. Sales
должен быть подчиненным по отношению к разделу sales, поэтому он
передает запрос серверу Е, который содержит раздел Chicago, sales.
Следовательно, этот сервер может обнаружить объект jdoe.Chicago.sales и
предоставить требуемую информацию.
В данном конкретном случае разница между использованием процесса
перемещения по дереву и простой отправкой запроса разделу [Root]
заключается только в одном уровне дерева, но в разветвленных сетях с большим
количеством уровней разделов перемещение по дереву может работать
намного быстрее, чем запросы к разделу [Root]. Этот сценарий также предпо-
Глава 21. Служба каталогов Novell
737
лагает, что каждый сервер имен поддерживает только один раздел. Создание
на сервере имен реплик нескольких разделов сокращает количество других
серверов, вовлеченных в процесс перемещения по дереву.
Сервер А
[Root]
Сервер В
bales
Сервер С
Marketing
Сервер D
NY.Sales
Сервер Е
Chicago.Sales
Сервер А
Inside. NY.Sales
Рис. 21.7. Разделы NDS взаимодействуют между собой
для того, чтобы удовлетворить запросы приложений
Синхронизация NDS
Сообщения, которыми обмениваются серверы имен во время процесса
перемещения по дереву, являются только одним из способов взаимодействия
различных реплик NDS между собой. Подобно тому, как приложение может
использовать любой из серверов имен для доступа ко всей базе данных
NDS, администратор, изменяющий базу данных, делает изменения в любой
реплике, позволяющей осуществлять запись (то есть в мастер-реплике или
любой изменяемой реплике). После внесения изменений они должны быть
распространены на все другие реплики этого раздела, чтобы приложения,
осуществляющие доступ к базе данных NDS, получали одинаковые данные
вне зависимости от того, какую реплику они используют. Этот процесс
называется синхронизацией и отвечает за большую часть трафика,
передаваемого между серверами имен NDS.
О службе каталогов, которая функционирует подобным образом, говорят,
что она использует репликацию с множеством мастеров (multiple master
replication). Это означает, что если реплик несколько, то достаточно сделать из-
738
Часть VI. Сетевые службы каталогов
менения в любой одной из них. В системе репликации с одним мастером
(single master replication), такой как используется доменами Windows NT, все
изменения в базе данных должны быть произведены в одной определенной
реплике (главном контроллере домена, в Windows NT), а затем эта система
распространяет эти изменения по всем остальным репликам. Модель
трафика репликации в этих двух системах показана на рис. 21.8.
Рис, 21.8. Трафик репликации с одним мастером движется в одном
направлении, в то время как при репликации со множеством мастеров
взаимодействие между серверами двунаправленное
Преимущество репликации со множеством мастеров заключается в том, что
администраторы могут предпринимать действия по обслуживанию базы
данных в локальной реплике, что предпочтительнее, чем доступ к серверу
имен, который может быть расположен на значительном расстоянии или на
другой стороне канала связи глобальной сети. Недостатком является более
сложный процесс репликации. В системе репликации с одним мастером
трафик синхронизации распространяется только в одном направлении, и
нет возможности для появления конфликтующей информации. В системе,
использующей репликацию со множеством мастеров, возможно
возникновение ситуации, когда два администратора внесут изменения в разные
реплики одного раздела приблизительно в одно и то же время. Каждая из
реплик должна передать свои изменения всем остальным репликам. Если
изменения обоих администраторов относятся к одному и тому же элементу
данных, то процесс синхронизации вызовет конфликт, и должен
существовать механизм для определения того, какая из версий имеет приоритет.
Например предположим, что два администратора приблизительно
одновременно модифицировали один и тот же объект пользователя в двух
различных репликах. Один администратор изменил телефонный номер
пользователя, а другой — пароль учетной записи пользователя. Система
синхронизации должна работать таким образом, чтобы к концу процесса синхрониза-
Глава 21. Служба каталогов Novell
739
ции объект в обеих репликах имел новый телефонный номер и новый
пароль. Поэтому в данном случае процесс репликации не может просто
записать объект из одной реплики поверх объекта из другой. Данные в обеих
копиях объекта должны быть объединены.
Ситуация может быть еще более запутанной, если конфликтуют сами
изменения. Например предположим, что пользователь позвонил администратору
сети, чтобы сообщить ему свой новый телефонный номер сразу после того, как
перед этим дал администратору неправильный номер. Пользователь хочет
исправить ошибку, но в этот раз разговаривает с другим администратором.
Первый администратор изменил объект пользователя в одной реплике, введя
новый (неправильный) номер, а несколькими секундами позже, до того как был
осуществлен процесс синхронизации, второй администратор изменил тот же
объект, но только в другой реплике, на этот раз введя правильный номер.
Когда начнется процесс синхронизации, система должна иметь возможность
определить, какая из версий данных имеет больший приоритет.
Процесс синхронизации NDS может преодолеть обе эти проблемы. Но,
несмотря на то, что он достаточно эффективен, процесс несовершенен, так
как не может обновлять все реплики в режиме реального времени. Все еще
возможно, что приложение, обратившееся к базе данных во время короткого
промежутка перед тем, как процесс синхронизации будет завершен, получит
из нее устаревшую информацию. В этом случае говорится, что база данных
NDS является неполностью синхронизированной (loosely synchronized). Реплики,
которые находятся в процессе синхронизации, называются сходящимися
(converging). Когда процесс конвергенции завершен, и реплики каждого
раздела идентичны, говорят, что база данных полностью синхронизирована (fully
synchronized).
Временная синхронизация
Процесс синхронизации NDS основан на отметках времени (time stamps),
которыми отмечаются все изменения, производимые в базе данных.
Серверы имен используют эти отметки, чтобы определить, какие данные имеют
приоритет в случае возникновения конфликта. Чтобы отметки времени
были точными, необходима синхронизация часов всех серверов имен в сети
NDS. Поддержание синхронизации часов группы компьютеров на практике
оказывается более сложной задачей, чем это может показаться. Первая
проблема заключается в том, что серверы могут быть расположены в разных
местах, в разных временных зонах с отличающимися правилами перехода на
летнее время. Вторая проблема — часы ПК известны своей неточностью.
Для поддержания синхронизации часов серверы NetWare используют
программу Timesync.nlm. Каждый из серверов использует сообщения SAP
(Service Advertising Protocol, протокол извещения об услугах), чтобы
передать данные, содержащие сигнал UTC (Universal Time Coordinated, всеобщее
740
Часть VI. Сетевые службы каталогов
скоординированное время), который совпадает со средним временем по
Гринвичу (Greenwich Mean Time). Каждый NetWare-сервер NDS в сети
также включает набор команд set в своем файле Autoexec.ncf, которые
определяют, как сервер должен выставлять свои часы. Эти команды выглядят
следующим образом:
SET TIME ZONE = ESt5EDT
SET DAYLIGHT SAVING TIME OFFSET = 1
SET START OF DAYLIGHT SAVING TIME = (APRIL SUNDAY FIRST 2:00:00 AM)
SET END OF DAYLIGHT SAVING TIME = (OCTOBER SUNDAY LAST 2:00:00 AM)
SET DEFAULT TIME SERVER TYPE = REFERENCE
Назначение первых четырех команд очевидно, и их параметры могут
принимать различные значения в зависимости от географического
местоположения сервера. Последняя команда указывает на то, как сервер должен
взаимодействовать с другими серверами в сети при обработке временных
сигналов. Возможные значения для этой команды перечислены ниже.
□ Primary (первичный). Сервер обменивается сообщениями сигналов времени
с другими первичными и эталонными серверами времени в сети, чтобы
вычислить среднее значение времени и скорректировать свои часы.
□ Secondary (вторичный). Сервер периодически запрашивает сигнал
времени от первичного или эталонного сервера и подстраивает свои часы в
соответствии с ним.
□ Single Reference (отдельный эталонный). Сервер поддерживает
односторонние установки времени без взаимодействия с другими серверами.
Используется в сетях только с одним сервером времени.
□ Reference (эталонный). Сервер участвует в вычислении среднего значения
серверного времени, но в отличие от первичного и вторичного серверов
времени, он не подстраивает свои часы. Предполагается, что часы
сервера выверяются по внешнему источнику, такому как сигналы времени по
радио или через модемное соединение.
^ Примечание ^Д
Необязательно, чтобы все серверы имен в дереве NDS поддерживали
правильное времени. Достаточно, чтобы на их часах было выставлено одно время,
и они были точно синхронизированы.
Создание эффективной стратегии синхронизации времени в средних и
больших по размеру сетях является компромиссом между количеством
трафика, генерируемого процессом синхронизации, и отказоустойчивостью
всей системы. Можно назначить все серверы NDS первичными или
эталонными серверами времени, но тогда эти системы будут постоянно
обмениваться сообщениями в порядке вычисления среднего времени. Другой край-
Глава 21. Служба каталогов Novell
741
ностью является создание одного первичного или эталонного сервера и
назначение всем остальным серверам роли вторичных серверов времени.
В этом случае при выходе из строя первичного сервера времени нарушается
калибровка часов во всей сети. Разумная середина между двумя этими
крайностями является лучшим решением.
Проектирование дерева NDS
Одним из наиболее важных элементов эффективного использования NDS
является разработка дерева, которое подходило бы организации. Это не та
задача, которая может быть решена без тщательного планирования или
прямо в ходе создания объектов дерева. Для всех сетей, за исключением
самых маленьких, структура дерева окажет непосредственное воздействие на
эффективность работы сети. Плохо спроектированное дерево может
замедлить регистрацию пользователей и доступ к сетевым ресурсам, а также
сделает более трудной задачу администрирования базы данных NDS.
Не так просто сесть с чистым листом бумаги и спроектировать дерево NDS.
Чтобы стать экспертом NDS, необходимо наличие опыта работы со
средствами администрирования и знаний о том, как изменения в структуре дерева
могут повлиять на производительность сети. Ни одно из решений, принятое
при разработке структуры дерева, не является бесповоротным, а скорее даже
наоборот. Средства, предоставляемые NDS, позволяют создать дерево,
которое может развиваться вместе с приобретением опыта работы с NDS и
изменениями, происходящими в сети. Можно перемещать объекты в другие
контейнеры и даже переносить в другое место целые ветви. Так же, как
изменения в файловой системе сетевого сервера, подобные радикальные
перемены могут сбить с толку других пользователей, обращающихся к дереву.
Когда в сети устанавливается первый сервер имен NDS, программа
инсталляции позволяет создать простую иерархию дерева, которая состоит из
объекта организации и (необязательно) нескольких объектов подразделений
организации. Объекты, представляющие новые серверы, создаются в одном из
этих контейнеров. Объекты пользователей просто создаются в том же
контейнере, что объект сервера, и служба каталогов готова к работе. В такой
конфигурации функционирование NDS не сильно отличается от того, как
работает устаревшая база регистрационных данных (bindery) NetWare.
Однако NDS разработана для использования в более крупных сетях, по сути даже
просто в огромных, и в действительности процесс проектирования дерева
более сложен, чем в рассмотренном случае.
Правила проектирования дерева
Эффективное дерево NDS должно быть логичным по своей структуре,
чтобы облегчить пользователям и администраторам выяснить местоположение
определенных объектов. Например, можно создать контейнерные объекты,
742
Часть VI. Сетевые службы каталогов
используя в качестве имен названия цветов радуги, и случайным образом
распределить между ними объекты пользователей и серверов. Но в этой
искусственной конструкции будет очень сложно что-либо найти и трудно
управлять связями между объектами.
Фактически все решения, принимаемые при разработке дерева NDS,
должны опираться на две* базовые концепции: наследование прав и легкость
доступа. В дереве NDS права распространяются вниз по дереву, и эта политика
значительно упрощает процесс администрирования. Когда администратор
назначает контейнеру права доступа, все объекты в указанном контейнере
наследуют эти права. Назначение прав доступа одному контейнерному
объекту намного проще, чем назначение их множеству разных объектов
пользователей по отдельности.
Наследование прав — это одна из основных причин, по которой надо
стараться группировать вместе пользователей с одинаковыми правами доступа. По-
видимому, возможно создать дерево с контейнерами, имеющими буквы
алфавита в качестве имен, а затем поместить каждый объект пользователя в
контейнер с таким же именем, как инициал пользователя. Но тогда не будет
возможности использовать контейнерные объекты для назначения пользователям
прав доступа к определенным ресурсам. Вместо этого придется создавать
отдельные права для каждого пользователя, что чудовищно усложнит процесс.
Легкость доступа означает, что пользователи должны быть расположены в
контейнерах с сетевыми ресурсами, к которым они наиболее часто имеют
доступ. Большинство пользователей остаются в счастливом неведении
относительно сложности сети, которой они пользуются, и не интересуются
структурой дерева NDS. Они просто хотят иметь доступ к принтеру,
распложенному в комнате, и делать это как можно проще. Размещение из
логических соображений всех объектов принтеров в своем собственном
отдельном контейнере может хорошо выглядеть на бумаге, но в реальной
жизни работает не так хорошо. Пользователи рабочей группы или
подразделения, которые постоянно обращаются к определенным ресурсам, таким
как серверы или принтеры, должны быть представлены объектами по
возможности в тех же контейнерах, где расположены эти ресурсы.
Вместо использования произвольных имен контейнеров и случайной
группировки объектов, деревья NDS обычно разрабатываются с применением
одного или нескольких организационных принципов, рассмотренных в
следующих разделах. В большинстве случаев лучшим решением для разработки
эффективного дерева является использование сочетания этих критериев.
Строгое соблюдение какого-либо одного из этих принципов может
принудить к созданию непрактичной в использовании структуры, в случае, если
следовать заранее составленному плану.
Практичность является краеугольным камнем любой разработки дерева и
можно свободно нарушать установленные правила проектирования, если
результатом будет более простой доступ или администрирование.
Глава 21. Служба каталогов Novell
743
Разделы и каналы связи глобальной сети
Коммуникационные возможности сети имеют принципиальное значение при
разработке дерева NDS. Если сеть состоит из нескольких участков,
соединенных каналами связи глобальной сети, которые медленнее и/или дороже, чем
соединения локальной сети, то структура дерева должна учитывать это
разделение. Основное правило при работе с сетью, использующей соединения
глобальной сети, — это создание на каждой стороне такого соединения
отдельного раздела NDS, содержащего объекты, представляющие ресурсы данного
участка сети. Пользователь, который хочет соединиться с сервером,
расположенным в соседней комнате, не должен обмениваться сообщениями с
сервером имен, удаленным на тысячи миль, чтобы пройти аутентификацию.
Поэтому, когда сеть составлена из множества участков, соединенных
каналами связи глобальной сети, необходимо создать контейнерный объект,
представляющий каждый из этих участков, как можно выше в иерархии
дерева NDS. Обычно сначала формируют один объект организации, а затем
для каждого из участков — объект подразделения организации, имеющий
имя этого подразделения, как показано на рис. 21.9. Объект организации
позволяет присвоить свойствам значения, которые будут наследованы всем
предприятием, а подразделения организации — создать отдельные разделы и
указать отдельные значения свойств для каждого участка.
2Ы NetWare Administrator - [global (NWTREE11
ШЗ Object View Options Tools Window Help
jbSl » &tf al iffigtfvj
ИНЕЗ
iJil*!
°€ Chicago
°@NY
[-^Marketing
h°@MIS
L°e Sales
°@ Paris
Jj
Tree: NWTREE
I craigz.corpnet
Рис. 21,9. Участки сети, соединенные каналами связи глобальной сети,
должны быть представлены объектами подразделений организации,
размещенными в дереве как можно выше
^ Примечание ^
NetWare 5.x включает утилиту WAN Traffic Manager, которая позволяет
осуществлять контроль над трафиком NDS, передаваемым по каналам связи
глобальной сети. Утилита работает за счет расширения схемы NDS, включая в нее
новый тип объекта, который называется LAN area object (объект области ЛВС).
Оснастка (snap-in) для NetWare Administrator позволяет создавать объекты
области ЛВС и определять правила политики для трафика глобальной сети, кото-
744
Часть VI. Сетевые службы каталогов
рые существуют в качестве свойств либо объекта сервера, либо объектов
области ЛВС. Эти правила политики определяют условия, при выполнении
которых трафик NDS должен передаваться по каналам связи, соединяющим
области ЛВС, и каждый сервер имен NDS в сети с запущенной программой Wtm.nlm,
отвечающей за исполнение правил политики.
Разбиение на разделы базы данных NDS — хорошая идея (для
распределения нагрузки и обеспечения отказоустойчивости) даже когда не
используются соединения глобальной сети, и разработка дерева также может быть
сосредоточена вокруг этих разделов, даже если вопрос сетевого трафика не
столь критичен. Создание отдельного раздела для каждого сегмента сети,
например, и хранение его на сервере из того же сегмента является хорошим
способом, чтобы предельно увеличить эффективность сети и сократить
нагрузку на маршрутизаторы и коммутаторы, соединяющие сети. Если
принято решение сделать это, то распределение разделов, осуществляемое в
процессе разработки дерева, должно предшествовать любому другому
организационному методу, который планируется использовать. Например, если
разработка дерева в основном строится вокруг географического
местоположения, например комнаты, в которой работают пользователи, то
необходимо позволить разделам диктовать структуру контейнеров верхних уровней, а
затем применить метод географического расположения для работы над
уровнями, ведущими вниз по дереву.
Географическое разделение
Создание дерева, базирующегося на физическом расположении ресурсов,
которые представляют объекты NDS, может быть эффективным способом
для группировки пользователей и объектов, к которым им необходим
доступ. Можно создать иерархию организационных единиц, которая отвечает
планировке зданий, этажей, флигелей или комнат, обслуживаемых сетью
(рис. 21.10). Навигация по географическому дереву является простой для
каждого, кому известно расположение устройств, и так как пользователи
часто работают радом с ресурсами, такими как серверы и принтеры, к
которым они регулярно обращаются, администраторы легко могут поместить их
в один и тот же контейнер.
Однако строгое следование географическому расположению не обязательно
приводит к удовлетворительному результату. Например, если все серверы
сети расположены в информационном центре, создание одного контейнера
для всех объектов серверов может быть плохой идеей, так как всем
пользователям придется осуществлять доступ к серверам, указанным в другом
контексте. Возможно, будет лучше расположить сервер для каждого
подразделения или рабочей группы вместе с пользователями, которым действительно
необходим доступ к нему. Подобное утверждение справедливо, если
несколько пользователей связаны с определенными ресурсами, физически
удаленными от этих пользователей. Например, даже если все вице-прези-
Глава 21. Служба каталогов Novell
745
денты компании имеют офисы в разных исполнительных структурах, то
возможно лучше разместить их пользовательские объекты в контейнерах,
связанных с соответствующими им подразделениями, чем поместить все
объекты в один контейнер для вице-президентов.
Й^ NetWare Administiator (Chicago
al (NWTREEll
Щ\ Qbject ^iew Ofitions Jools Window Иф
-Igfxl
h-°S 1st Floor
\-°& 2nd Floor
f-°g 3rd Floor
°S East Wing
°S Computer Lab
°S Copy Room
°S Data Center
°S West Wing
°@ 4th Floor
°S 5th Floor
kJJ
11
Tree: NWTREE
| craig2.corpnet
Рис. 21.10. Дерево NDS, основанное на географическом местоположении
Дерево, разработанное в соответствии с географическим расположением,
может стать проблемой, если организация переезжает в новое здание или
если подразделения перемещаются в пределах прежних зданий. Проблемы
возникают, если необходимо переделать всю структуру дерева, чтобы она
соответствовала новому расположению, или сохранить ее, несмотря на
увеличивающееся различие с физической топологией сети.
^ Примечание ^Д
Большинство проблем, которые возникают в результате применения для
проектирования дерева метода географического местоположения, могут быть
решены через разумное использование псевдонимов объектов, как описано в
разд." "Использование псевдонимов'" далее в этой главе.
Деление согласно отделам
Другое решение, которое можно эксплуатировать при проектировании
дерева, заключается в использовании преимущества разделения организации,
которое уже существует, например, деление на рабочие группы и отделы.
Контейнеры на верхних уровнях дерева могут представлять отделения
компании или отделы, такие как Sales (отдел продаж), с контейнерами на более
низких уровнях, разбивающими каждый отдел на меньшие
организационные единицы, такие как Inside Sales (внутренние продажи) и Outside Sales
(внешние продажи). Такая схема позволяет естественно сгруппировать поль-
746
Часть VI. Сетевые службы каталогов
зователеи с ресурсами, к которым они имеют доступ, вне зависимости от их
расположения, давая возможность легко назначать права доступа, применяя
контейнерные объекты.
Навигация по дереву на основе отделов может быть такой же простой или
даже проще, чем в случае географического дерева. В очень большой
организации пользователи могут быть более осведомлены о функциях,
выполняемых другими служащими, чем о точном расположении их рабочих мест.
Помимо этого, изменения, необходимые для поддержания актуальности
данных в дереве, могут естественно соответствовать реальным необходимым
изменениям. Например, когда пользователи переводятся в другие отделы,
то, вероятно, что им потребуется доступ к иным сетевым ресурсам, и
простой перенос их пользовательских объектов в контейнеры, представляющие
их новые отделы, может обеспечить им этот доступ, если контейнеру были
назначены соответствующие права. Исключительно географическое дерево,
вероятно, будет требовать изменений, которые отражают только
перемещение людей и оборудования из одного места в другое, и которые не имеют
другой практической цели, кроме как поддержание точного соответствия
дерева новому местоположению.
Деление согласно физической топологии сети
v Еще один метод проектирования дерева заключается в следовании
физической топологии сети. Можно создать контейнеры, которые представляют
сегменты сети, и разместить в них объекты, представляющие оборудование,
присоединенное к этим сегментам. Эта концепция может быть интуитивно
понятна для сетевого администратора, разрабатывающего сеть с самого
начала, но не для среднего пользователя сети.
Тем не менее, если нет модели, подходящей для всего дерева, топология
сети может иметь эффект проектирования дерева. Как упоминалось ранее,
создание разделов вокруг соединений глобальной сети должно брать
приоритет над другими более условными критериями разработки. Таким
образом, в сети с каналами связи глобальной сети верхний уровень дерева может
выглядеть так же, как в случае использования географического метода
проектирования. На этом уровне будут расположены контейнеры, названные
именами городов, и он в действительности станет соответствовать
топологии сети. Ниже этого уровня для остального дерева можно использовать
географическое деление или деление на отделы.
Нет причин, по которым во время проектирования дерева нельзя
"смешивать свои метафоры", до тех пор, пока результат разработки интуитивно
понятен пользователям и администраторам. На верхнем уровне можно иметь
свои контейнеры, соответствующие участкам сети, разделенным каналами
связи глобальной сети, для следующего уровня контейнеров использовать
деление на отделы и географическое деление для уровней, лежащих под
ними, как показано на рис. 21.11.
Глава 21. Служба каталогов Novell
747
JPNelWaie Administrator - [global fNWTREEH
§?] flbject View Ofitions loots Window Help
ifilG
Ш*1
alaP4l f J*'
^global
°6 Chicago
HPE53
°B Marketing
°€MIS
°S Sales
°@ 23rd St
|~°@ T4th Floor
L-1^ 15th Floor
°S Church Street
°S Paris
«JJ
Tree: NWTREE
I craigz.corpnet
Рис. 21.11. Разработка эффективного дерева может смешивать
организационные принципы
Балансировка дерева
Чтобы сделать функционирование дерева эффективным настолько, насколько
это возможно, компания Novell рекомендует построение, называемое
сбалансированным деревом (balanced tree), использующее конус в качестве
оптимальной формы для разработки, как показано на рис. 21.12. Когда дерево
несбалансированно, то есть на верхнем уровне слишком много контейнеров или
слишком много уровней, то его производительность снижается. Если
организация имеет большое количество отделов или дочерних офисов, либо других
элементов, приводящих к созданию слишком большого числа контейнеров
верхнего уровня, то следует найти какой-либо критерий, который позволит
сгруппировать их, чтобы сделать верхний уровень сравнительно небольшим.
Рис. 21.12. Идеальной конфигурацией дерева NDS является
сбалансированная конусоподобная структура
748
Часть VI. Сетевые службы каталогов
Слишком большое количество уровней в дереве может также негативно
отразиться на производительности NDS. Помимо того, что отличаемые имена
объектов будут длиннее, чем это необходимо, а процесс навигации по дереву
затруднен, это приводит к необходимости передавать наследуемые права
вниз через множество уровней, что увеличивает время обработки запросов
для каждого объекта. Очень важно не позволить организационному
принципу, положенному в основу проектирования дерева, занять положение,
преобладающее над производительностью дерева. То, что все сотрудники
предприятия, в конечном счете, разбиваются на команды по пять человек, еще
не означает что для того, чтобы представить каждую из них, необходимо
создать десятки крошечных контейнерных объектов.
Создание дерева
После того, как принято решение о виде структуры дерева NDS, самое
время подумать о настоящем процессе его построения. Само по себе создание
объектов не представляет трудности, но при этом также необходимо
учитывать будущее обслуживание дерева. Например, часть задачи по разработке
дерева должна включать определение способа, согласно которому права
доступа будут назначаться контейнерам вместо индивидуальных объектов.
Создание индивидуальных прав доступа, как части объектов пользователей,
может показаться простым делом, но позже, когда наступит время изменить
эти права, может появиться желание изменить права для отдельных
контейнерных объектов, что сделать проще, чем осуществить изменение прав для
большого количества объектов пользователей.
В следующих разделах рассмотрены некоторые из элементов, которые
желательно принимать во внимание во время создания объектов, а также
методы, применяемые, чтобы упростить этот процесс.
Соглашения об именах объектов
Имена, которые назначаются объектам дерева NDS, могут быть также
важны, как структура самого дерева. Логично названные объекты могут быть
легче идентифицированы как пользователями, так и администраторами.
Основное правило, которое следует соблюдать — это логичность. Имена
объектов пользователей, например, должны быть составлены в соответствии с
определенной формулой, такой как сочетание первого инициала пользователя
и его фамилии. Если разрешить пользователям самим выбирать свои имена,
то в дальнейшем это только затруднит процесс работы с объектами
пользователей, в особенности, если дерево обслуживают несколько человек.
Подобным образом должны назначаться имена для объектов,
представляющих аппаратные ресурсы так, чтобы их имена были более информативными.
В случае небольшой сети имена серверов Server 1 и Server 2 могут быть при-
Глава 21. Служба каталогов Novell
749
емлемы, но в большой организации более функциональными будут имена,
отражающие название отдела, расположение или функции сервера.
Заметим также, что, хотя длина имени объекта может достигать 64
символов, использовать чрезмерно длинные имена не рекомендуется.
Первопричиной того, что имена следовало делать короткими, была необходимость
вводить их вручную. Это все еще возможно, но сегодня большинство
пользователей и администраторов перемещаются по дереву с помощью
графического интерфейса. Однако даже в программах с графическим интерфейсом
имя объекта, подобное NETWARE_SERVER_THIRD_FLOOR_EAST_
WING_BY THE_WINDOW, несмотря на его содержательность, вероятно,
будет отображаться в диалоговом окне неправильно.
Отношения между объектами
Схема NDS определяет отношения между объектами различных типов, то
есть указывает, какие объекты могут быть главными, а какие —
подчиненными по отношению к другим объектам. Например, не может быть
контейнерного объекта, подчиняющегося объекту-листу, или даже листа,
подчиняющегося другому листу. Контейнерами верхнего уровня должны быть
либо объекты-страны, либо объекты-организации. По причинам, указанным
ранее, следует избегать использования объектов-стран, поэтому сразу после
объекта [Root] должны располагаться организации. Что касается объектов
подразделений организации, то они создаются на остальных уровнях.
К счастью, приложения, подобные NetWare Administrator, навязывают
пользователю эти отношения. Например, если выделить объект [Root] и
попытаться создать новый объект, то программа позволит создать только объект
страны, организации или псевдоним.
Псевдонимы
Один из методов разрешения многих проблем, возникающих при разработке
дерева, заключается в использовании объектов Alias. Псевдонимы (aliases)
являются объектами, осуществляющими функции дубликатов других
объектов, расположенных где-либо еще в дереве, позволяя им выглядеть так, как
будто они находятся в другом контейнере. Например, если все серверы
организации расположены в информационном центре, то можно поместить
все объекты серверов в один контейнер, представляющий этот центр, а
затем создать для каждого сервера объект-псевдоним и разместить последний
в контейнере, где расположены пользователи, постоянно обращающиеся к
этому серверу.
Для любого объекта в дереве NDS можно создать псевдоним и использовать
его для множества различных целей. Если имеются пользователи (такие как
персонал службы технической поддержки), которые регистрируются в сети
750
Часть VI. Сетевые службы каталогов
со множеством различных рабочих станций, то можно создать псевдонимы
для их пользовательских объектов и поместить их в различные контексты
так, чтобы пользователи могли регистрироваться с любой рабочей станции
при помощи ее контекста по умолчанию. Псевдонимы принтеров
разрешают пользователям из множества различных контейнеров иметь доступ к
одному принтеру без необходимости перемещения по дереву. Когда NetWare
Administrator применяется для того, чтобы переместить контейнерный
объект в другое место дерева, программа предлагает оставить на прежнем месте
расположения объекта его псевдоним, чтобы любые ссылки на этот объект
остались действительными.
Если в NetWare Administrator открыть диалоговое окно с детальной
информацией для объекта-псевдонима, то программа отобразит свойства
оригинального объекта, а не самого псевдонима (за одним исключением).
Процесс отображения свойств оригинала псевдонима называется разыменованием
(dereferencing). Единственным исключением, когда NetWare Administrator
показывает свойства самого объекта-псевдонима, является список разрешений,
поддерживаемый объектом-псевдонимом отдельно от разрешений
оригинального объекта. Можно управлять тем, какой из списков разрешений
будет отображать NetWare Administrator, выбирая из меню Options
(Параметры) либо команду Get Alias Trustees (Отобразить разрешения
псевдонима), либо команду Get Aliased Object Trustees (Отобразить разрешения
оригинала псевдонима).
Псевдоним объекта, который может быть создан в другом контейнере, имеет
точно такие же значения свойств, как объект-оригинал. Это относится и к
значениям свойств, наследуемых от контейнерных объектов, в которых
расположен объект-оригинал. Например, псевдоним пользовательского объекта
будет при регистрации запускать сценарий контейнера объекта-оригинала,
но не будет наследовать права доступа к принтерам от своего собственного
контейнера. Поэтому, чтобы разрешить пользователю иметь доступ к
локальным ресурсам, когда он регистрируется в сети из другого контекста с
использованием псевдонима, необходимо явно предоставить оригинальному
объекту пользователя права на эти ресурсы.
Псевдонимы должны поддерживать те же отношения, что и объекты, которые
они отражают. Например, непосредственно ниже объекта [Root] можно
создать только псевдоним объекта-организации или объекта-страны.
Псевдонимы также динамически соединены с объектами, которые они отражают. Когда
изменяются свойства оригинального объекта, также изменяются свойства
псевдонима, и если удалить оригинал, то будут удалены все его псевдонимы.
Шаблоны
Когда создается большое дерево NDS, установка значений свойств для
значительного числа объектов пользователей может замедлить процесс созда-
Глава 21. Служба каталогов Novell
751
ния. Существует несколько методов, позволяющих упростить процесс
создания объектов пользователей, главный из которых заключается в
наследовании объектами пользователей значений свойств контейнерных объектов.
Помимо этого при указании одинаковых значений свойств для нескольких
объектов пользователей можно применять шаблон.
Шаблон (template) — это тип объекта, который при создании новых объектов
пользователей выступает в роли образца. Можно создать шаблон и задать
его свойствам значения, подобные тем, что должны быть у объекта
пользователя. Если затем при создании новых объектов пользователей
задействовать шаблон, то каждый из новых объектов будет иметь такие же значения
свойств, как в шаблоне.
^ Примечание ^
Как отдельный тип объекта, шаблон впервые был представлен в NetWare 4.11.
Версии, предшествующие NetWare 4.x, позволяли создать из существующего
объекта пользователя объект USER_TEMPLATE, а затем использовать его
для формирования новых объектов пользователей с одинаковыми значениями
свойств.
Можно использовать объекты-шаблоны для создания любого числа новых
объектов пользователей, но нельзя применить шаблон к уже существующему
объекту пользователя. Вдобавок, нужно помнить, что утилиты NDS
обращаются к свойствам объекта-шаблона только при создании нового объекта
пользователя. Изменение значений свойств объекта-шаблона не оказывает
эффекта на объекты пользователей, которые уже существуют.
Группы
База регистрационных данных (bindery) NetWare применяет группы в
качестве механизма для назначения прав доступа сразу множеству
пользователей. Может показаться, что в NDS различные контейнерные объекты, такие
как организации и их подразделения, делают создание групп излишним,
поскольку они выполняют приблизительно те же функции. Однако группы
объектов в NDS отличаются от контейнеров тем, что они позволяют
назначать права доступа совокупности пользователей, которые не обязательно все
находятся в одном контексте.
Так как члены группы могут быть расположены в любом месте дерева,
включая противоположные концы линии связи глобальной сети, обработка
прав доступа, назначенных группе объектов, по сравнению с обработкой
прав контейнерного объекта является более сложной. По этой причине при
разработке дерева надо стараться, насколько это возможно, избегать
применения групп объектов, а вместо них при назначении прав доступа
задействовать контейнеры. Например, размещение пользовательских объектов для
вице-президентов в контейнерах с остальными объектами их отделений по-
752
Часть VI. Сетевые службы каталогов
зволит им иметь доступ к тем же сетевым ресурсам, к которым имеют
доступ другие сотрудники. Тем не менее, может появиться желание создать
группу объектов с вице-президентами всех отделений в качестве ее членов,
чтобы предоставить им права, которые могут иметь только руководители.
Эквиваленты безопасности
и организационные роли
Другой метод назначения определенных значений для свойств объекта
пользователя заключается в возможности представить его эквивалентом
безопасности (security equivalent) другого объекта пользователя. Если это сделать, то
новый объект наследует все права, предоставленные его эквиваленту. Проблемой
указанного метода является то, что он динамический. Изменение значений
свойств оригинального объекта вызывает такие же изменения в свойствах его
эквивалента. Например, если назначить права доступа пользовательскому
объекту jdoe, а затем сделать всех остальных пользователей отдела его
эквивалентами безопасности, то что произойдет, когда jdoe уволится или перейдет в
другой отдел? Необходимость взаимодействия между эквивалентами
безопасности также может снизить производительность NDS, в особенности, когда
объекты разделены каналом связи глобальной сети.
В качестве альтернативы эквивалентам безопасности NDS включает объект,
называемый организационной ролью (organizational role), который задает
определенную работу, что более предпочтительно, чем определение человека,
выполняющего эту работу. Можно создать объект "организационная роль",
назначить ему права доступа, а затем составить список пользователей, которым
разрешено занимать эту роль. Изменение значений свойств организационной
роли может динамически изменить свойства пользователей, занимающих ее.
Перенос базы регистрационных данных
Если версия NetWare, использующая базу регистрационных данных
(bindery), обновляется до NetWare 4.x или 5.x, то, импортировав базы
регистрационных данных с существующих серверов NetWare, можно приобрести
хорошую начальную основу для создания дерева NDS. Сервисная программа
DS Migrate, включенная в NetWare версии 4.11 и выше, является отдельной
программой, которая считывает информацию из базы регистрационных
данных и сохраняет ее во временной базе данных. После этого на основе
информации из базы регистрационных данных можно смоделировать
структуру дерева NDS, создавая контейнерные объекты, перемещая
пользователей и группы объектов в другие контейнеры и изменяя свойства объектов.
Получив желаемую структуру дерева, можно передать ее в реальную базу
данных NDS. Затем при помощи NetWare File Migration Utility можно
переместить файлы с томов старых серверов на тома NetWare 4.x или 5.x, сохра-
Глава 21. Служба каталогов Novell
753
няя неизменными права доступа, перенесенные с объектов базы
регистрационных данных (bindery).
Объединение деревьев
Dsmerge.nlm является утилитой консоли сервера, которая позволяет
объединить два отдельных дерева NDS в одну базу данных. Эту сервисную
программу можно применять при слиянии компаний или отделов с
самостоятельными деревьями NDS, или для включения экспериментальной базы
данных в дерево сети компании. DSMERGE просто объединяет указанные
корни двух деревьев. Если встречаются одноименные объекты, то она не
улаживает конфликты между ними и не объединяет их. Поэтому прежде,
чем выполнять объединение, необходимо убедиться, что на верхнем уровне
деревьев не содержится контейнерных объектов с совпадающими именами.
Обеспечение безопасности в NDS
Подобно файловой системе, база данных службы каталогов содержит
ценную информацию, которая должна быть защищена от неавторизованного
доступа или изменений, а также непреднамеренного уничтожения. NDS
включает свою собственную систему разрешений, которая не зависит от
разрешений, которые назначаются файлам и каталогам на томах NetWare.
Эти разрешения можно использовать, чтобы указать пользователей,
которым позволен доступ к различным объектам в дереве и их свойствам.
Trustees of Admin
Jjustees:
"[Public]
£ [Root]
Object rights—
p Supervisor
J7 Browse
p Delete
W Rename
Clear
Effective Rights... I
Add Trustee... I
fielete Trustee 1
-Property rights-—™-—
<• Ajl properties
С ^elected properties:
I* Account Balance
г Account Disabled
Г Account H-ris Exp»at
1* Account Locked
г Account Reset Time
hi 1 .
Г" Supervisor
Г* Compare
[•Read
Г Write
Г Add Self
Clear |
inherited Rights Filter... I
0¥
Cancel
Help
Рис. 21.13. Диалоговое окно
Trustees of Admin программы
NetWare Administrator
Таким образом, можно передать работу по обслуживанию части дерева NDS
определенным администраторам без предоставления им доступа ко всему
дереву и разрешить пользователям читать информацию в базе данных без
754
Часть VI. Сетевые службы каталогов
возможности изменить ее. Однако из-за того, что разрешения NDS и
разрешения файловой системы отделены друг от друга, возможно, что
пользователи будут иметь доступ к файлам и каталогам на определенном томе
NetWare, не имея доступа к объекту тома в дереве NDS.
Правами безопасности NDS можно управлять при помощи тех же
системных программ, что используются для создания и конфигурирования
объектов. NetWare Administrator для управления объекта, а также его свойствами
обеспечения безопасности, фильтрами наследуемых разрешений и
эффективными правами использует диалоговые окна, подобные показанному на
рис. 21.13. Netadmin.exe предоставляет похожие возможности, используя
текстовый интерфейс, построенный на основе меню.
Права доступа к объектам и свойствам
NDS использует права доступа к объектам (object rights) и права доступа к
свойствам (property rights), которые позволяют предоставить пользователям
возможность управлять объектом и всеми его свойствами, или просто
определенными свойствами. Типы прав доступа к объектам перечислены ниже.
□ Supervisor (супервизор). Предоставляет полный контроль над объектом,
включая четыре других права, все права доступа к свойствам и
возможность предоставлять права другим пользователям.
□ Browse (просмотр). Разрешает пользователю видеть объект в дереве каталогов.
Для пользователя, не обладающего этой санкцией, объект и все его
подчиненные объекты невидимы. По умолчанию все пользователи получают право
просмотра для объекта [Root], что позволяет им видеть дерево целиком.
□ Create (создание). Предоставляет пользователю возможность создавать в
дереве новые объекты, подчиненные текущему объекту.
□ Delete (удаление). Удаляет текущий объект из дерева.
□ Rename (изменение имени). Позволяет менять имя текущего объекта.
Права доступа к объектам разрешают пользователям управлять самими
объектами, но не их свойствами. Единственным исключением является право
супервизора на доступ к объекту, которое также предоставляет полный
контроль над всеми свойствами объекта. Когда пользователи не имеют права
супервизора, им необходимо отдельно предоставить права доступа к
свойствам, чтобы они могли изменять их значения.
Каждое из свойств объекта имеет свое собственное право на доступ. Можно
предоставить пользователю права на доступ ко всем объектам сразу или
определить их для некоторых свойств индивидуально. Права доступа, которые
можно назначить для свойств, перечислены ниже.
□ Supervisor (супервизор). Предоставляет полный контроль над значением
определенного свойства.
Глава 21. Служба каталогов Novell
755
П Compare (сравнение). Разрешает пользователю сравнивать значение
определенного свойства со значением другого свойства.
□ Read (чтение). Позволяет видеть значение свойства.
□ Write (запись). Дает возможность пользователю добавлять, изменять или
удалять значение для определенного свойства.
□ Add Self (добавление себя). Разрешает пользователям добавлять свои
объекты в список имен объектов (или удалять их из него), являющийся
значением свойства.
Наследование прав
Так же, как разрешения файловой системы, права NDS для объектов и
свойств передаются вниз по дереву. Любые права доступа, назначенные
контейнерному объекту, наследуются объектами, размещенными в этом
контейнере. Например, объекту пользователя Admin, создаваемому по
умолчанию при установке первого сервера NDS, автоматически предоставляется
право супервизора на доступ к объекту [Root]. Это дает пользователю
полный контроль надо всеми объектами в дереве и их свойствами. Помимо
этого, за счет наследования права супервизора на доступ к объекту [Root]
пользователь Admin также получает полный контроль над файловой
системой всех томов сервера NetWare. Это одна из немногих областей, где права
NDS и разрешения файловой системы пересекаются. Если предоставить
любому пользователю права супервизора на доступ к объекту сервера,
пользователь получит не только права на управление объектом сервера, но также
права на доступ к томам сервера.
^ Примечание ^Д
Пользователь Admin совершенно не отличается от любого другого объекта
пользователя в дереве NDS, за исключением прав на объекты, которые ему
предоставлены. В отличие от учетной записи Supervisor в базе
регистрационных данных NetWare, пользователя Admin можно удалять и изменять права его
объекта. Однако прежде чем сделать это, следует убедиться, что для каждого
объекта в дереве, по крайней мере, один пользователь имеет права
супервизора. Иначе может появиться часть дерева NDS, для которой не будет ни
одного пользователя с правами, необходимыми для ее администрирования.
Как упоминалось ранее, каждый объект пользователя в дереве NDS получает
право просмотра (Browse) для каждого другого объекта в дереве. Оно не
является правом, назначаемым произвольному пользователю индивидуально при
его создании. Вместо этого данное право предоставляется через
использование специального объекта [Public]. Этот объект в действительности не
отображается в дереве, но он приводится в списке утилитами, подобными
NetWare Administrator как объект, для которого можно назначить права
доступа. Любые права, предоставленные объекту, наследуются всеми объектами в
756
Часть VI. Сетевые службы каталогов
дереве, а также клиентами NDS, еще не зарегистрировавшимися в дереве.
Право доступа к объекту Browse для объекта [Root], предоставляемое объекту
[Public], разрешает всем пользователям видеть дерево, а клиентам
просматривать его (например, при выборе контекста) еще до регистрации в нем.
Фильтры наследуемых прав
В некоторых случаях может возникнуть необходимость предотвратить
распространение прав вниз по дереву, и это можно сделать, применив к
контейнерному объекту фильтр наследуемых прав. Фильтр работает подобно
плотине, предотвращая распространение специфических прав на доступ к
объектам и свойствам. Когда фильтр наследуемых прав создается в
контейнере, чтобы, например, отфильтровывать право Create доступа к объекту, все
другие права доступа к контейнеру передаются дальше объектам в
контейнере, за исключением права Create.
Фильтр наследуемых прав предотвращает наследование прав только от
главных объектов, он никак не воздействует на права, которые непосредственно
предоставлены объектам, расположенным ниже фильтра. Таким образом,
если есть необходимость в экспериментальных целях или по любой другой
причине создать засекреченную ветвь дерева, то можно создать фильтр,
который будет отсекать все наследуемые права. Отказ в праве Browse на доступ
к объекту может сделать ветвь дерева невидимой для других пользователей.
Тем пользователям, кому требуется доступ к скрытой ветви, следует
предоставить необходимые права их объектам или создать для этой цели группу
объектов.
Эффективные права
Как можно видеть, права на доступ к объектам и свойствам, которыми
обладает определенный объект, могут быть получены из нескольких разных
источников, и все эти права объединяются в конечном объекте. Например,
пользователь может иметь некоторые права на доступ к свойствам объекта,
предоставленные ему за счет наследования от контейнера, в то время как
другие права могут быть явно назначены администратором. Конечным
результатом будет комбинация этих прав. После добавления объекта [Public]
группы объектов, фильтров наследуемых прав, а также нескольких уровней
контейнерных объектов временами будет достаточно сложно определить,
какие эффективные права пользователь имеет в действительности.
Эффективные права объекта являются конечным результатом работы всех
механизмов, которые могут предоставлять или отказывать в правах доступа к
объекту или свойствам. Права, назначенные объекту явно или указанные
через эквиваленты безопасности или членство в группе, имеют приоритет
над теми, что наследованы от контейнера или объекта [Public]. В сущности,
эффективные права — это комбинация всех перечисленных ниже факторов.
□ Права, явно назначенные объекту.
Глава 21. Служба каталогов Novell
757
□ Права, полученные через эквиваленты безопасности и членство в группах.
□ Права, полученные через объект [Public].
П Права, наследуемые от контейнерных объектов.
□ Наследуемые права, заблокированные фильтрами наследуемых прав.
Несмотря на то, что возможно выявить эффективные права объекта,
сопоставив эффект от всех выше приведенных факторов, это можно сделать
намного проще при помощи системных программ NDS, таких как NetWare
Administrator или Netadmin.exe, которые способны показать эффективные
права для определенного объекта, как представлено на рис. 21.14.
Effective Rights
Object name:
Object rights -
Supervisor
Browse
Create
Delete
Rename
Property rights
(* AJI properties
С Selected properties:
Account Balance
kccount Disabled
Z3
Account Has Expiration EX
Account Locked
hi 1
J
Supervisor
Compare
Read
Write
Add Self
Close
Help
Рис. 21.14. Диалоговое окно
Effective Rights программы
NetWare Administrator
Для любого, кто отвечает за часть работы по поддержке дерева NDS, важно
понимать концепцию эффективных прав и знать о различных механизмах,
используемых для назначения прав доступа к объектам и свойствам. Многие
администраторы ограничивают количество механизмов, применяемых для
назначения прав, чтобы упростить работу по обслуживанию дерева NDS,
поэтому должны существовать специальные правила политики, которые
позволили бы любому пользователю, знакомому с этими механизмами, их
применять. Новый сотрудник службы поддержки, который любит
пользоваться фильтрами наследуемых прав, может внести большую путаницу, если
никто больше не будет знать, как они работают.
Глава 22
Домены Windows NT
Пожалуй, одним из наиболее явных недостатков операционной системы
Windows NT является отсутствие полнофункциональной службы каталогов.
Домены, используемые Windows NT для организации и управления
компьютерами сети, вполне работоспособны, однако их расширяемость и
масштабируемость явно недостаточны по сравнению с продуктами класса Novell
Directory Services. Для сетей малого и среднего размера служба каталогов
Windows NT в целом достаточны, но когда речь идет о больших
корпоративных сетях, задача по администрированию доменов Windows NT и
приспосабливанию их для специфических нужд становится уже намного более
сложной. Операционная система Windows 2000 призвана решить данные
проблемы с помощью Active Directory, иерархической службы каталогов,
которая может поддерживать сети практически любого размера. Однако в
ближайшие годы, до тех пор, пока Windows 2000 полностью не заменит
Windows NT, попрежнему будет существовать еще множество сетей с
доменами Windows NT.
1^ Примечание
Для получения более подробной информации об Active Directory см. главу 23.
Употребление термина "домен" для описания группы компьютеров в
операционной системе Windows NT, управляемых как единое целое,
представляется, по меньшей мере, неудачным. Во времена разработки данной
концепции сеть Интернет даже близко нельзя было сравнить с той повсеместной
сущностью, которой она является сейчас, и, казалось, что применение
термина, ранее заимствованного для определения инфраструктуры Интернета,
никак не станет большой проблемой. Тем не менее, в настоящее время даже
те, кто никогда не садился за компьютер, хорошо знакомы с фразой "точка
com", и возможна некоторая путаница между доменами Интернета и
доменами Windows NT.
Самое главное различие между двумя указанными типами доменов
заключается в том, что в то время как служба доменных имен Интернета (DNS,
Domain Name System) имеет иерархическую структуру, домены Windows NT
такого качества начисто лишены. Домен Windows NT представляет собой
просто группу компьютеров сети, использующих общую модель обеспечения
Глава 22. Домены Windows NT
759
безопасности, а также имеющих единую базу данных администратора
учетных данных в системе защиты (SAM, Security Account Manager), которая
содержит информацию о пользователях и группах, хранящуюся на одной или
нескольких системах, назначенных в качестве контроллеров домена (domain
controllers). Схема, отражающая расположение компьютеров в доменах
Windows NT, состоит только из двух уровней: сами домены и компьютеры
этих доменов (рис. 22.1). Домены же, фигурирующие в сети Интернет, могут
иметь сколько угодно уровней, помимо трех минимальных: домена верхнего
уровня (например, com), домена второго уровня и компьютеров домена
второго уровня. Владелец домена второго уровня полностью свободен в
создании любого количества уровней поддоменов, в то время как сеть
Windows NT ограничена одним единственным уровнем.
Домен
NT
Домен
верхнего уровня
Домен
нижнего уровня
П П П П ¥% Г!
Рис. 22.1. Служба доменных имен
Интернета (DNS), в отличие от доменов
Windows NT, имеет иерархическую структуру
Альтернативой использования доменов Windows NT является применение
так называемых рабочих групп (workgroups), логических объединений
компьютеров, каждое из которых использует собственную базу данных SAM,
включающую учетные данные, действительные только для данной системы.
Для сети очень малого размера (приблизительно до 20 рабочих станций), в
которой нет нужды в строгой системе защиты, организации компьютеров в
рабочую группу может быть вполне достаточно. Компьютеры сети,
основанной на рабочих группах, могут иметь любые комбинации операционных
систем семейства Windows, включая Windows 2000 Professional, Windows NT
Workstation, Windows 95 или 98, и даже Windows for Workgroups. Хотя в сети
на основе рабочих групп и могут присутствовать компьютеры с Windows NT
Server и Windows 2000 Server, они не являются необходимыми для
административных функций, как это свойственно доменной сети.
С точки зрения сетевого администратора, сети на основе рабочих групп
требуют от каждого пользователя индивидуальной учетной записи для каждого из
компьютеров, к которым пользователи будут иметь коллективный доступ. При
этом либо каждый пользователь должен нести ответственность за
поддержание учетных записей на своей рабочей станции, либо администратору
необходимо контролировать учетные записи на каждой рабочей станции по
отдельности, перемещаясь между ними. В сети на основе доменов, напротив,
единственная учетная запись пользователя домена способна обеспечить ему
760
Часть VI. Сетевые службы каталогов
возможность доступа к ресурсам совместного использования всех
компьютеров данного домена. Администратор может осуществлять деятельность по
обслуживанию учетных записей всего домена с любой рабочей станции сети.
Также важно отметить, что рабочие группы функционируют в качестве
исключительно организационного ресурса, в то время как домены на своих
границах предоставляют дополнительный уровень защиты за счет
ограничения доступа пользователей. Другими словами говоря, ничто не мешает
пользователю системы, состоящей членом одной рабочей группы, обращаться к
ресурсам машины, входящей в другую рабочую группу. Отнюдь,
пользователь одного домена не имеет возможности доступа к ресурсам другого
домена, если только администратор первого домена не установил доверительные
отношения со вторым доменом.
Контроллеры доменов
Основой любого домена Windows NT являются так называемые контроллеры
домена. Они представляют собой компьютеры с операционной системой
Windows NT Server, которые были уготованы для данной роли еще в
процессе инсталляции ОС. Если ОС уже установлена, невозможно превратить
систему на базе Windows NT в контроллер домена, как и нельзя переделать
контроллер домена обратно в обычный сервер. В обоих случаях придется
проводить повторную установку операционной системы для изменения
статуса контроллера домена.
мГ Примечание ^
Одно из наиболее важных усовершенствований операционной системы
Windows 2000 — Active Directory, позволяет в любой момент времени
произвести сервер в контроллер домена, а также вернуть его в прежнее состояние при
необходимости.
Домен Windows NT может иметь два типа контроллеров: основные и
резервные. В структуру каждого домена обязан входить один (и только один)
основной контроллер домена (PDC, primary domain controller). Последний
представляет собой компьютер, содержащий только копию базы данных SAM
(администратора учетных данных в системе защиты) домена с
возможностью чтения и записи. Эта база данных вмещает информацию о
пользователях, их группах и присвоенных им паролях. При создании новой учетной
записи пользователя, группы или изменении уже существующих записей,
происходит модификация именно базы данных SAM основного контроллера
домена.
Резервный контроллер домена (BDC, backup domain controller), как и указывает
его название, функционирует в качестве резерва для основного контроллера
домена на тот случай, если произойдет отказ системы или разрыв сетевых
Глава 22. Домены Windows NT
761
коммуникаций. Если по каким-либо причинам основной контроллер домена
станет недоступным, резервный контроллер домена может быть превращен
в основной контроллер домена. Это легко выполняется с помощью утилиты
Windows NT Server Manager. Перевод резервного контроллера домена в
состояние основного контроллера домена приводит к тому, что бывший
основной контроллер домена низводится до функции резервного контроллера.
Таким образом, когда исходный основной контроллер домена вновь станет
функционировать нормально, он может быть возвращен к оригинальной
роли. Такой откат сопроводится тем, что временный основной контроллер
домена встанет на свое прежнее место, в качестве резервного контроллера.
Домен может иметь любое количество резервных контроллеров домена или
вообще ни одного, однако, рекомендуется наличие хотя бы одного
резервного контроллера в каждом домене. Домен становится абсолютно
бесполезен, лишаясь основного контроллера, так как больше никто не сможет
подключиться к сети или получить доступ к сетевым ресурсам.
Репликация
Каждый резервный контроллер домена содержит точную копию основной
базы данных, хранящейся на основном контроллере, которая периодически
обновляется сервисом Netlogon данной системы. Репликация базы данных
домена всегда идет только в одном направлении, а именно — от основного
контроллера к каждому из резервных контроллеров. Этот процесс носит
название репликации с одним мастером (single master replication), поскольку
существует всего одна основная копия базы данных (эталон), в которую
вносятся все изменения, тиражируемые затем во все остальные дубликаты.
Альтернативный метод, применяемый в Novell Directory Services и Active
Directory, называется репликацией со множеством мастеров (multiple master
replication), его суть состоит в том, что любая коррекция может
производиться в любой из множества копий базы данных, при этом изменения
размножаются во все остальные копии (рис. 22.2).
Использование только репликации с одним мастером является одним из
ограничивающих факторов для доменов Windows NT, который делает очень
неудобной эксплуатацию службы каталогов в больших корпоративных сетях,
связанных соединениями глобальной сети. Существует общее правило,
согласно которому большая сеть, состоящая из множества сегментов,
объединенных посредством соединений глобальной сети, должна иметь, по
крайней мере, один контроллер домена в каждом из сегментов. В таком* случае
пользователи смогут подключаться к сети локально (то есть без
необходимости преодоления одного соединения глобальной сети для достижения
контроллера домена). С другой стороны, хотя резервный контроллер домена и
может проводить аутентификацию пользователей и предоставлять им доступ
к сетевым ресурсам, его копия базы данных SAM предназначена только для
762
Часть VI. Сетевые службы каталогов
чтения. Все модификации базы данных домена осуществляются только
основным контроллером, и администратору удаленного сетевого сегмента
может потребоваться связаться с основным контроллером посредством
сравнительно медленного и дорогостоящего соединения глобальной сети. Задейст-
вуя репликацию с множеством мастеров, администратор может внести
изменения в любую копию базы данных, и система в конечном итоге
автоматически распространит их на все другие копии.
Репликация с одним мастером
Репликация с множеством мастеров
Рис. 22.2. Трафик репликации с одним мастером следует только
в одном направлении -— от основного контроллера домена к резервным
контроллерам, тогда как при репликации с множеством мастеров
все контроллеры домена обновляют базы данных друг друга
^ Примечание ]Д
Служба каталогов Active Directory, включенная в операционную систему
Windows 2000, как и Novell Directory Services, осуществляет репликацию с
множеством мастеров.
Осмысление процесса репликации
В связи с тем, что Windows NT использует репликацию с одним мастером,
процесс синхронизации баз данных SAM различных контроллеров доменов
сравнительно прост. Во время собственно репликации информация базы
данных SAM следует только в одном направлении — от основного
контроллера домена к его резервным контроллерам. По умолчанию основной
контроллер домена каждые пять минут посылает сигналы всем резервным
контроллерам, показывая, что они должны передать основному контроллеру
запросы на обновление их регистрационных баз.
Глава 22. Домены Windows NT
763
Запросы резервных контроллеров домена имеют определенный график,
построенный таким образом, чтобы слишком большое количество резервных
контроллеров не проводили синхронизацию одновременно. Затем основной
контроллер передает ответы на запросы резервных контроллеров, где
указывает каждому из них на изменения, которые были внесены в базу данных
SAM основного контроллера с момента последнего обновления базы данных
конкретного резервного контроллера. Описанный процесс носит название
частичной синхронизации (partial synchronization).
|^ Примечание ^Д
Основной контроллер домена не посылает импульсы, если с момента
последней синхронизации резервного контроллера не производилось никаких
изменений в базе данных SAM основного контроллера.
Большинство событий репликации домена, происходящих в сети, относятся
к случаю частичной синхронизации. Основной контроллер домена ведет
журнал регистрации, где фиксируются все изменения, осуществляемые в
базе данных SAM, включая смену паролей, добавление новых
пользователей, групп пользователей или модификации уже существующих.
Регистрационный журнал имеет жестко заданный размер (по умолчанию 64 Кбайт),
более старые записи постепенно вытесняются из него по мере добавления
новых. Запрос на обновление базы данных, направляемый резервным
контроллером основному контроллеру, содержит указание на последнее из
изменений, которое было зарегистрировано в базе данных резервного
контроллера. Получив такой запрос, основной контроллер отправляет
резервному контроллеру информацию только о тех модификациях, которые
случились после отмеченного момента времени.
Если же в запросе резервного контроллера фигурирует последнее
изменение, которое уже было удалено из журнала регистрации основного
контроллера, последний должен провести полную синхронизацию (full synchronization) и
передать резервному контроллеру все содержание своей базы данных SAM.
Такая синхронизация обычно обуславливается неработоспособностью
резервного контроллера в течение продолжительного срока или добавлением
в сеть нового резервного контроллера домена. В зависимости от размера
сети полная синхронизация может потребовать передачи намного большего
объема данных, чем частичная синхронизация, поэтому, по возможности, ее
следует избегать всеми доступными способами.
Изменение параметров репликации
Частота проведения сеансов синхронизации основного контроллера домена
и размеры его журнала регистрации изменений регулируются элементами
системного реестра, расположенными в следующем ключе:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
764
Часть VI. Сетевые службы каталогов
Если описанные ниже элементы реестра уже удалены из него, их можно
заново создать для того, чтобы изменить установки по умолчанию
операционной системы Windows NT Server.
Элемент под названием ChangeLogSize представляет собой
последовательность типа REG__DWORD, которая определяет размер журнала регистрации
изменений основного контроллера домена. Этот журнал находится как в
памяти, так и на жестком диске в виде файла под названием Netlogon.chg,
размещенного в корневом каталоге (\%System Root%) операционной
системы, по умолчанию C:\Winnt. Каждая строка в журнале, как правило, имеет
длину в 32 байта (некоторые строки длиннее, но ни одна не короче), что
позволяет при размере файла по умолчанию в 64 Кбайт удерживать в нем
приблизительно 2000 записей. Однако можно легко изменить значение
элемента реестра ChangeLogSize с целью наращивания размера файла журнала
вплоть до 4 Мбайт (эта граница соответствует шестнадцатеричному
значению 4000000). Увеличение объема журнала совершенно никаким образом не
отражается на производительности системы и одновременно снижает
вероятность той ситуации, когда резервному контроллеру домена придется
выполнять полную синхронизацию из-за того, что последние изменения,
зафиксированные им, уже слишком устарели и были удалены из журнала
основного контроллера.
^ Примечание ^
Изменив значение элемента реестра ChangeLogSize на основном контроллере
домена, необходимо быть уверенным, что этот элемент имеет такое же
значение и в реестрах резервных контроллеров. Несмотря на то, что в
действительности используется только журнал регистрации основного контроллера, если
случится, что когда-либо резервный контроллер будет выдвинут на роль
основного контроллера, размер его журнала регистрации изменений обязан быть
равен размеру основного журнала.
Элемент реестра с наименованием Pulse также относится к типу REG__DWORD
и определяет промежутки времени, через которые основной контроллер
домена посылает импульсы резервным контроллерам домена, инициирующие
отправку резервными контроллерами запросов на синхронизацию. По
умолчанию значение этого элемента составляет 300 секунд (5 минут), с
возможным диапазоном значений от 60 до 172 800 секунд (48 часов). При росте
объема журнала регистрации изменений можно также увеличить и значение
элемента Pulse, что позволяет существенно снизить количество сетевого
трафика, вырабатываемого процессом репликации, без необходимости для
резервных контроллеров домена в проведении полной синхронизации. С
другой стороны, это также может привести к тому, что потребуется
несколько больше времени для того, чтобы информация о новых регистрационных
записях пользователей или групп распространилась по всем резервным
контроллерам домена.
Глава 22. Домены Windows NT
765
Доверительные отношения
Поскольку домен не является иерархической службой каталогов, существует
определенный предел, по достижении которого домен становится слишком
большим для управления. Поэтому в большой сети администраторы обычно
создают несколько доменов. Теоретически, один домен способен
поддерживать до 26 000 пользователей и приблизительно 250 групп, однако, как легко
можно догадаться, разбиение сети на несколько доменов имеет целый ряд
преимуществ, в том числе тех, что перечислены ниже.
□ Делегирование административных задач. Создание отдельных доменов
позволяет обеспечить служащим административный доступ к одному
домену и предотвратить подобный доступ к другим доменам.
□ Границы безопасности. Домены изначально защищены от доступа
пользователей, внешних по отношению к данному домену, если только
администраторами не установлены доверительные отношения между доменами.
□ Улучшение производительности. В корпоративных сетях, использующих
соединения глобальной сети, домены могут помочь удержать сетевой
трафик в пределах локального сегмента и минимизировать трафик через
соединения глобальной сети.
Когда пользователи подключаются к домену с рабочей станции, они должны
использовать учетные записи только для конкретного домена, что позволяет
им обращаться к ресурсам данного домена, но никак не других. Для
обеспечения пользователей возможностью доступа к ресурсам других доменов
администраторы должны установить доверительные отношения (trust relationship)
между различными доменами.
Когда домен доверяет другому домену, процесс аутентификации,
позволяющий пользователям осуществлять доступ к своему домену, также
обеспечивает им доступ и к другому домену. Если домен А доверяет домену В, то
пользователи, подключившиеся к домену А, могут получить также и доступ
к ресурсам домена В. Вместе с тем, это совершенно не означает, что
пользователи, зарегистрировавшиеся в домене В, автоматически получают
возможность доступа к ресурсам домена А. Доверительные отношения действуют
только в одну сторону. Для того чтобы два домена взаимно доверяли друг
другу, их администраторы должны установить доверительные отношения в
обоих направлениях.
Доверительные отношения также не являются транзитивными. Если
домен А доверяет домену В, и домен В доверяет домену С, то это вовсе не
значит, что домен А доверяет домену С. Аналогично, между доменами А и С
должны присутствовать явные доверительные отношения, чтобы они могли
доверять друг другу.
Но даже если между доменами существуют доверительные отношения,
обращение пользователей к ресурсам коллективного доступа других доменов
766
Часть VI. Сетевые службы каталогов
остается объектом точно таких же ограничений, как и в случае локального
домена. Например, чтобы получить доступ к сетевому диску сервера
домена В, пользователь домена А должен по-прежнему иметь разрешение на
доступ к этому диску, даже если домен В уже доверяет домену А. Задавая
разрешения на доступ к ресурсу совместного пользования, можно выбирать
пользователей и группы из любого домена, видимого в сети, как показано
нэ рис. 22.3. Домен, к которому компьютер в данный момент принадлежит,
отмечен звездочкой.
Drivfto (С:) Properties
General | Tools | Internet Sharing | Security) ARCserve |
Г Nflt Shared
~& Shared As: —
Jjjxj
Share Name: jc"' Access Through Share Permissions
x|
Г"
Comment:
User Limit: —■—™
& Maximum Allow*
<~ Айоуа |
Permissions...
Add Users and Groups
Access Through £hare:
fiwner:
Name:
Ш Names From: jj^NTDOMAIN'
Everyone pannes:
Account Opel
Administrators)
AppStation
Appusers
Authenticated Users
^Backup Operators
Domain Admins
^Domain Guests
All authenticated users
Members can bypass file security to bad
Designated administrators of the domain
All domain guests jj
OK
OK
Acid I .Shoy»Dser*| . Meoihers.-.. I Search... I
Add Names:
"3
Type of Access: j Read
OK |
3
Cancel j Help
Рис. 22.3. Доступ к совместно разделяемым ресурсам может быть разрешен
пользователю любого домена сети
Создание доверительных отношений
Для оформления доверительных отношений между доменами потребуется
запустить утилиту User Manager for Domains и выбрать пункт Trust
Relationships (Доверительные отношения) из меню Policies (Политики) для
высвечивания диалогового окна, пример которого представлен на рис. 22.4.
Глава 22. Домены Windows NT
767
Верхнее окно содержит список доменов, которым доверяет данный домен,
они носят название доверяемых доменов (trusted domains), а в нижнем окне
перечислены домены, которые будут доверять данному домену, так
называемые доверяющие домены (trusting domains).
Trust Relationships
Domain: NTDOMAIN
Xrusted Domains:
WIN2K
ZACKER
Trusting Domains:
WIN2K
ZACKER
Cancel
Help
Add...
fiemove
Add...
Remove
Рис. 22.4. Диалоговое окно Trust
Relationships утилиты User Manager
^ Примечание J|
С помощью утилиты Netdom.exe, входящей в Windows NT 4.0 Server Resource Kit,
возможно создание доверительных отношений из командной строки
Windows NT, а также осуществление многих задач по обслуживанию доменов.
Последняя версия Netdom.exe, включенная в выпуск Supplement 3 Resource Kit,
дополнительно позволяет создавать учетные записи компьютеров для рабочих
станций и резервных контроллеров домена и управлять ими, а также
восстанавливать защищенные каналы (secure channels).
Для того чтобы были установлены доверительные отношения, оба домена,
вовлеченные в процесс, должны это подтвердить. Например, если
администратор домена А добавляет домен В в список доверяющих доменов, он
задает пароль, который будет использоваться в рамках данных доверительных
отношений. Администратор домена В должен после этого внести домен А в
список доверяемых доменов в соответствующем диалоговом окне на
компьютере своего домена и назначить тот же пароль. Это позволит установить
односторонние доверительные отношения, при которых домен В доверяет
домену А. Другими словами, пользователи компьютеров домена А смогут
обращаться к ресурсам домена В. В свою очередь, пользователи домена В не
получат возможности доступа к ресурсам домена А, пока его
администраторы не проделают аналогичную последовательность действий, но уже в
противоположном направлении.
768
Часть VI. Сетевые службы каталогов
^ Примечание jfl
Существует общее правило, согласно которому администраторы должны
сначала сконфигурировать доверяющую (trusting) часть взаимоотношения, а
только потом его доверяемую (trusted) часть. Это позволяет доверяемому домену
распознать пароль и немедленно вступить в доверительные отношения. Если
же действия проводятся в обратном порядке, появится сообщение об ошибке,
означающее, что пароль еще не может быть верифицирован, и до момента,
когда это произойдет, установление доверительных отношений невозможно.
В процессе оформления доверительных отношений доверяющий домен
создает на своих контроллерах объект доверяемого домена (trusted domain object),
который содержит имя доверяемого домена и его идентификатор защиты
(SID, Security Identifier). Затем каждый из контроллеров доверяющего
домена порождает секретный объект локальных средств защиты (Local Security
Authority (LSA) secret object), содержащий пароль для данных доверительных
отношений.
В доверяемом домене программа User Manager создает объект междоменной
доверительной учетной записи (interdomain trust account object), который также
хранит пароль, задаваемый администратором. После инициализации объекта
доверяемого домена, секретного объекта локальных средств защиты и
объекта междоменной доверительной учетной записи, сервис Netlogon
основного контроллера доверяющего домена начинает процесс установления
зашифрованного канала связи, называемого защищенным каналом (secure
channel), между двумя доменами. Образованный защищенный канал аутентифи-
цируется основным контроллером доверяемого домена, и с этого момента
доверительные отношения считаются установленными. Как только
основные контроллеры обоих доменов завершат репликацию всех указанных
элементов на резервные контроллеры доменов, любой из контроллеров
доверяющего домена получит возможность устанавливать защищенный канал
связи с любым контроллером доверяемого домена.
При каждом старте контроллера домена он проводит попытку обнаружения
контроллеров всех его доверяемых доменов с целью повторного
установления защищенных каналов. Контроллер предпринимает по три попытки для
каждого доверяемого домена с пятисекундными интервалами, прежде чем
приходит к выводу, что обнаружение прошло неуспешно. После первой
неудачи попытки обнаружения повторяются через каждые 15 минут или если
клиент пожелает получить доступ к ресурсу доверяемого домена.
Организация доверительных отношений
Существует огромное количество организационных принципов, которые
можно применить при создании множества доменов в сети и установления
доверительных отношений между ними. В относительно небольшой сети
организация доверительных отношений может быть направлена по чисто
Глава 22. Домены Windows NT
769
практическому пути: если пользователям одного домена необходим доступ к
ресурсам другого домена, последний конфигурируется таким образом, чтобы
доверять домену, которому принадлежат эти пользователи. Однако, в сетях
большого размера требуется более организованная методология, которая
позволит использовать домены для увеличения эффективности управления
сетью. Некоторые из основных типов моделей доменов и доверительных
отношений между доменами в корпоративных сетях рассматриваются в
следующих разделах.
Модель с одним доменом
Модель с одним доменом не требует установления каких бы то ни было
доверительных отношений, что вытекает из наличия всего одного домена. Это
может быть вполне жизнеспособной альтернативой даже для достаточно
большой сети, управляемой единой группой администраторов. Многие сети
начинаются как одиночный домен, а затем развиваются в одну из моделей,
рассматриваемых в следующих разделах.
Наиболее важное преимущество этой модели заключается в том, что процесс
администрирования предельно прост. Нет никаких доверительных
отношений, которые требовалось бы устанавливать или поддерживать, намного
проще образовывать группы и все учетные записи пользователей находятся в
одном (и единственном) домене. Недостатки же становятся все более заметными
по мере того, как сеть постепенно увеличивается в размерах. Просматривание
дерева домена становится медленнее при размножении количества
компьютеров и пользователей, а недостаток группирования ресурсов, обусловленный
изоляцией доменов, в соответствии с их организационными или
географическими границами, превращается в более серьезную проблему.
Модель домена с полными
доверительными отношениями
Модель домена с полными доверительными отношениями (complete trust
domain model) включает множество доменов, каждый из которых вступил в
доверительные отношения со всеми остальными доменами, причем эти
отношения двухсторонние (рис. 22.5). В отличие от моделей с основным
доменом и множеством главных доменов, каждый домен при реализации
данной модели считается равным всем остальным доменам, и любой из них
имеет свои собственные учетные записи пользователей. Во многих случаях
эта модель возникает как следствие применения описанного выше
практического подхода к установлению доверительных отношений, возведенного в
"энную" степень. С точки зрения доступа пользователей эта структура ничем
не будет отличаться от одиночного домена больших размеров, так как
каждый пользователь может получить доступ к ресурсам сразу всей сети.
770
Часть VI. Сетевые службы каталогов
Рис. 22.5. Модель домена с полными
доверительными отношениями
Когда сеть вырастает из одного домена во множество доменов, на первых
порах подобная модель может считаться удовлетворительной, однако, если рост
сети продолжается, то очень скоро она становится трудно контролируемой.
Очевидно, что данная модель требует минимального объема планирования, и
предназначена для использования там, где географические, стратегические,
политические или иные факторы требуют присутствия множества доменов, но
пользователям все равно необходим доступ к ресурсам всей сети. Основные
недостатки модели домена с полными доверительными отношениями
сводятся к огромному количеству доверительных отношений, которые требуется
установить, а также тому факту, что учетные записи пользователей и групп
рассеяны по доменам всей сети.
Поскольку необходимо создание доверительных отношений между каждой
парой доменов сети в обоих направлениях, формула для расчета общего
количества требуемых доверительных отношений будет выглядеть как (п—1)п,
где п представляет собой число доменов данной сети. Таким образом, сеть,
состоящая из 10 доменов, потребует установления 90 отдельных
доверительных отношений между доменами [(10-1)9=90] для формирования модели
домена с полными доверительными отношениями, а в результате всех этих
усилий будет получено практически не намного больше, чем то, чего можно
было бы достичь, имея просто один большой домен.
Управление разрешениями в данной модели усложнено, так как нет
готового способа проверить, какие пользователи являются членами какого-либо
домена. Если администратор должен предоставить определенному
пользователю права для доступа к конкретному ресурсу совместного использования в
домене, за который он несет ответственность, то ему достаточно знать, в
каком домене располагается регистрационная запись данного пользователя,
либо поискать эту запись в каждом из доменов сети.
Модель с одним главным доменом
Модель с одним главным доменом (single master domain model) задействует
стандартные домены Windows NT в двух различных ролях, в виде так
называемых главных доменов (master domain) и ресурсных доменов (resource domain).
Данная модель предполагает определенную иерархию, в рамках которой
существует один главный домен, содержащий учетные записи пользователей и
Глава 22. Домены Windows NT
771
групп для всей сети (он также называется доменом учетных записей, account
domain), а также несколько ресурсных доменов, объемлющих рабочие станции
сети, файловые серверы, принтеры и другие сетевые ресурсы. Этот принцип
помогает разбить сеть на более простые в управлении единицы (рис. 22.6).
Главный
домен
Ресурсный^
чломен/ Рис. 22.6. Модель с одним
N/ главным доменом
В рассматриваемой модели все ресурсные домены имеют односторонние
доверительные отношения, в которых они доверяют главному домену.
Таким образом, каждый пользователь, подключившийся к главному домену,
может получать доступ к ресурсам в любом месте сети (при наличии
соответствующих разрешений). Это позволяет устранить необходимость в
установлении доверительных отношений между ресурсными доменами, и все
учетные записи пользователей и групп хранятся в главном домене, что
значительно упрощает процесс централизованного администрирования.
Поскольку доверительные отношения распространяются только в одном
направлении, от ресурсных доменов к главному домену, любой пользователь,
подключившийся к какому-либо ресурсному домену, не сможет обратиться
к ресурсам за пределами этого домена.
Следует обратить внимание, что, несмотря на тот факт, что все учетные
записи пользователей и групп дислоцированы в главном домене, учетные
записи компьютеров должны находиться в отдельных ресурсных доменах.
Устанавливая новую рабочую станцию, необходимо задать NetBIOS-имя
компьютера и включить его в ресурсный домен, но никак не в главный домен. Это
позволяет системам ресурсных доменов использовать контроллеры
собственных доменов для осуществления сквозной аутентификации в процессе
подключения к сети, а также устраняет потребность в дополнительных
резервных контроллерах главного домена. Иначе говоря, рабочие станции,
расположенные не в одном сегменте с главным доменом, могут
подключаться к сети, привлекая для этого локальные контроллеры доменов.
^ Примечание ^
Для получения более подробной информации о сквозной идентификации и
процессе подключения к домену см. раздел "Подключение к сети" далее в этой
же главе.
772
Часть VI. Сетевые службы каталогов
В модели с одним главным доменом именно главный домен несет
ответственность за аутентификацию всех пользователей при их входе в сеть.
Однако, как только процесс подключения к сети будет завершен, большинство
действий пользователя будет ограничено тем или иным ресурсным доменом.
Исходя из этого, можно эффективно распределить нагрузку по обработке
информации между главным доменом и ресурсными доменами. Кроме того,
только главный домен несет полную ответственность за безопасность сети,
так как все прочие домены доверяют ему. Поэтому полномочия по
администрированию отдельных ресурсных доменов вполне можно возложить на
сотрудников подразделений, где эти ресурсные домены находятся, без
всякого риска подрыва системы безопасности сети в целом.
С другой стороны, важно принимать во внимание тот факт, что вся сеть
опирается на главный домен для обеспечения услуг по аутентификации.
Данная модель с одним главным доменом не сможет обеспечить поддержки
большего числа пользователей, нежели это позволяет модель с
единственным доменом, хотя бы в силу того, что регистрационные записи всех
пользователей по-прежнему должны храниться только в базе данных главного
домена. Тем не менее, вместо этого, она дает возможность задействовать
большое количество доменов для организационных целей и в то же время
держать регистрационные записи всех пользователей и групп в одном месте.
Если же сеть постоянно увеличивается, совсем неплохо заранее иметь план
постепенного перехода к модели сети с множеством главных доменов. В
противном случае, хорошо организованная сеть доверительных отношений
легко может деградировать до неразберихи модели домена с полными
доверительными отношениями.
Для дальнейшего сокращения объема администрирования учетных записей,
необходимого на уровне ресурсных доменов, возможно создание локальных
групп в ресурсных доменах и предоставление им доступа к ресурсам
совместного использования данных доменов. Затем, формируя глобальные группы
и делая их членами локальных групп, можно управлять доступом к ресурсам
уже путем добавления учетных записей пользователей к глобальным
группам, вместо локальных групп. Это свойство позволяет локализовать всю
повседневную административную работу в главном домене, причем в
принципе без надобности обращения к учетным записям ресурсных доменов.
Модель с множеством главных доменов
Модель с множеством главных доменов (multiple master domain model)
является своеобразным расширением модели с одним главным доменом и
разработана для поддержки крупных корпоративных сетей, которые могут иметь
отдельные административные подразделения, выделенные по
территориальному или организационному признакам. Описываемая модель
предусматривает наличие по крайней мере двух главных доменов и некоторого
количества ресурсных доменов. Как и в случае модели с одним главным доменом,
Глава 22. Домены Windows NT
773
ресурсные домены включают ресурсы совместного использования, а главные
домены содержат учетные записи пользователей и групп своего
подразделения. Однако в рассматриваемой модели каждый ресурсный домен доверяет
всем главным доменам, а главные домены находятся в двухсторонних
доверительных отношениях между собой (рис. 22.7). Ресурсные домены также могут
устанавливать доверительные отношения друг с другом, но они не являются
необходимыми, если только этого не диктуют физические факторы
(например, медленная скорость связи по соединению глобальной сети).
Рис. 22.7. Модель с множеством главных доменов
В рамках такой модели пользователь, имеющий учетную запись в одном из
главных доменов, может получить возможность обратиться к любому
ресурсу сети, поскольку все ресурсные домены доверяют всем главным доменам.
Двухсторонние доверительные отношения между главными доменами
позволяют пользователям, подключившимся непосредственно к одному из
главных доменов, получать доступ к ресурсам остальных главных доменов.
Использование этой модели преследует ту цель, чтобы позволить каждому
подразделению вести свои собственные учетные записи пользователей и
групп в главном домене, но при этом обеспечить каждому пользователю
возможность доступа к ресурсам других подразделений. Например, для
компаний с несколькими филиалами наличие главного домена в каждом из
дочерних офисов позволит администраторам каждого из них поддерживать
собственные учетные записи.
Самое большое преимущество модели с множеством главных доменов
заключается в ее практически неограниченном потенциале для роста сети.
Создавая дополнительные главные домены, можно расширять сеть в
организованном порядке или даже объединять сети между собой (например, в
случаях слияния компаний). Число доверительных отношений, которые адми-
774
Часть VI. Сетевые службы каталогов
нистраторам требуется устанавливать и поддерживать при использовании
этой модели, может показаться одним из ее недостатков, но, тем не менее, в
модели с множеством главных доменов применяется намного меньшее их
количество, чем в модели с полными доверительными отношениями.
Просмотр доверительных отношений
Windows NT 4.0 Resource Kit включает графическую утилиту под названием
Domain Monitor (Dommon.exe), которую можно задействовать для
исследования защищенных каналов между контроллерами доменов конкретной
сети. При запуске программы появляется список доменов, присутствующих в
сети и их доверяемых доменов. Двойной щелчок кнопкой мыши на любой
строке этого списка позволяет видеть окно, показанное на рис. 22.8,
демонстрирующее статус контроллеров выбранного домена и защищенные каналы
с доверяемыми доменами.
DC DC Replication Connection Link to Trusted
DC Name State Status Status toPDC Domain
Help |
Link status-of VvUOLJ-APTOP to its trusted domain:
Trusted Domain Trusted DC Secure Channel Status
WIN2K Unknown NoLogSrv
Show Trusted Otj
Рис- 22-8- Утилита Domain Monitor позволяет наглядно видеть статус
защищенных каналов между доверяемыми доменами
Использование утилиты Domain Monitor представляет собой наиболее
простой способ убедиться, что все защищенные каналы сети функционируют
подобающим образом. Если защищенный канал между контроллером
конкретного ресурсного домена и контроллером главного домена неработоспо-
Глава 22. Домены Windows NT
775
собен, локальные рабочие станции могут не иметь возможности привлекать
контроллер этого ресурсного домена для осуществления сквозной
аутентификации на контроллере главного домена. В результате можно обнаружить,
что рабочие станции устанавливают соединение с другим, более удаленным
контроллером ресурсного домена. Если этот удаленный контроллер
ресурсного домена находится в другом месте, процесс подключения рабочих
станций к сети может занять значительно больше времени и привести к
порождению совершенно ненужного трафика через соединение глобальной сети.
При обнаружении в сети защищенных каналов, функционирующих
неправильно, можно восстановить их с помощью утилиты командной строки под
названием Nltest.exe, также включенной в Windows NT 4.0 Resource Kit.
Команда, формат которой показан ниже, позволяет восстановить защищенный
канал между системой, где она исполняется, и доменом, заданным
параметром домен:
NLTEST /SC__RESET: домен
При исполнении этой команды на рабочей станции или сервере, который
не является контроллером домена, программа проводит восстановление
защищенного канала того домена, которому принадлежит учетная запись
данного компьютера. Если запустить утилиту Nltest.exe на контроллере домена,
можно воссоздать защищенный канал, инициированный в ходе вступления
в доверительные отношения с другим доменом.
^ Примечание ^
Nltest.exe— очень мощная утилита, которую также можно использовать для
просмотра списка контроллеров конкретного домена, управления процессом
репликации домена, отображения содержимого журнала регистрации
изменений, а также многих других целей. Более подробную информацию о ней можно
узнать из документации, включенной в состав Windows NT 4.0 Resource Kit.
Подключение к сети
Когда пользователь подключается к домену, сервис Netlogon рабочей
станции выполняет последовательность различных действий, зависящую от того,
как организованы домены данной сети. В процессе загрузки операционной
системы Windows NT рабочей станции еще до того, как появляется экран,
приглашающий войти в сеть нажатием комбинации клавиш <Ctrl>+<Alt>+
+<Del>, система пытается найти контроллер домена, осуществляя процесс,
получивший название обнаружения (discovery). Если рабочая станция не была
сконфигурирована для подключения к домену, работа сервиса Netlogon
прекращается и никакого обнаружения не происходит. Если же рабочая
станция подключается к домену, сервис Netlogon пытается обнаружить
контроллер того домена, членом которого является данная система, а также
контроллер каждого из его доверяемых доменов.
776
Часть VI. Сетевые службы каталогов
Обнаружение контроллера домена
Сервис Netlogon начинает процесс обнаружения контроллера домена с
отправки запросов соответствующему серверу WINS для тех строк имен
NetBIOS, которые имеют значение 1С в качестве 16-го разряда, что
идентифицирует их в качестве имен контроллеров ресурсных доменов. Затем
система передает локальные широковещательные сообщения для каждой из
записей, возвращенных сервером WINS. Если эти сообщения остаются без
ответа, сервис начинает посылать запросы регистрации в сети (logon
request), используя по одной записи каждый раз, в той очередности, в
которой поступали ответы от сервера WINS.
Когда система обнаруживает контроллер для домена, на рабочей станции
которого заведена учетная запись данного компьютера, эта рабочая станция
устанавливает защищенный канал с данным контроллером. Точно так же,
как контроллеры доменов, находящихся в доверительных отношениях,
имеют защищенные каналы между собой, рабочие станции инициируют
защищенные каналы с котроллерами тех доменов, в которых расположены
учетные записи их компьютеров. Как процесс обнаружения, так и процедура
установления защищенного канала завершаются еще до того момента, как
пользователь получает приглашение ввести имя и пароль для входа в сеть.
Сквозная аутентификация
В случае сети, состоящей из одного домена, все контроллеры домена
содержат как учетные записи компьютеров рабочих станций, так и учетные
записи пользователей, которые будут востребованы для их подключения к
домену. Наряду с этим, при построении инфраструктуры домена с
использованием главных доменов и ресурсных доменов, контроллеры ресурсных
доменов могут самостоятельно осуществлять аутентификацию пользователей,
подключающихся к сети, несмотря на то, что учетные записи этих
пользователей находятся в главном домене. В данном случае запускается процесс,
названный сквозной аутентификацией (pass-through authentication).
В сети с одним или несколькими главными доменами учетные записи для
компьютеров рабочих станций дислоцированы в ресурсном домене, в то время
как учетные записи пользователей локализованы в главном домене. Это
означает, что окончательная аутентификация пользователей должна проводиться
только контроллером главного домена, но рабочие станции не устанавливают
прямых защищенных каналов с контроллером главного домена.
Когда пользователь входит в сеть с рабочей станции под управлением
операционной системы Windows NT (или сервера, не являющегося
контроллером домена), меню с выпадающим списком в поле Domains (Домены)
диалогового окна Logon (Вход в сеть) содержит информацию о домене, в
котором расположена учетная запись компьютера данной рабочей станции,
Глава 22. Домены Windows NT
777
а также все доверяемые домены данного домена. Так как учетная запись
пользователя находится в главном домене, его можно выбрать из меню,
несмотря на то, что учетная запись компьютера данной рабочей станции и не
принадлежит к главному домену.
С другой стороны, именно место расположения учетной записи компьютера
определяет домен, с которым рабочая станция будет устанавливать
защищенный канал. Как только защищенный канал между рабочей станцией и
ресурсным доменом (на котором находится учетная запись компьютера)
создан, контроллер ресурсного домена передает информацию, полученную
им от рабочей станции в процессе аутентификации (то есть, имя и пароль),
контроллеру главного домена по защищенному каналу. Этот канал был
создан заранее, в ходе оформления доверительных отношений между двумя
доменами (рис. 22.9). После этого контроллер главного домена пытается
провести аутентификацию пользователя и возвращает рабочей станции
результаты этой попытки через контроллер ресурсного домена.
Рис. 22.9. Рабочая станция создает защищенный канал с контроллером
ресурсного домена, который затем использует уже существующий
защищенный канал для взаимодействия с контроллером главного домена
При взаимодействии по подобной схеме именно контроллер главного
домена, а не контроллер ресурсного домена обеспечивает рабочую станцию
файлом системной политики и сценарием процесса подключения к сети,
которые она должна загрузить (если это необходимо).
Конечным результатом рассмотренного здесь метода является то, что
рабочая станция может входить в сеть, задействуя локальный контроллер
ресурсного домена, и избавлена от необходимости создания защищенного
канала с контроллером главного домена. В случае большой сети, которая
разбита на несколько частей, географически удаленных друг от друга и
связанных соединениями глобальной сети, отпадает нужда в присутствии
резервного контроллера главного домена в каждом из мест расположения
отдельных сегментов сети, поскольку пользователи вполне могут проходить
аутентификацию локально. Эту функцию выполняет контроллер ресурсного
домена, применяющий уже существующий защищенный канал для связи с
контроллером главного домена.
778
Часть VI. Сетевые службы каталогов
Выбор службы каталогов Windows NT
Служба каталогов, основанная на доменах, является одним из наиболее
часто упоминаемых недостатков операционной системы, особенно
применительно к использованию в корпоративных сетях. Оставаясь достаточно
работоспособной в сетях малого и среднего размера, где требуется не больше
нескольких доменов, служба каталогов операционной системы Windows NT
становится все более громоздкой в больших сетях, особенно если они
состоят из сегментов, расположенных в разных местах и соединенных каналами
связи глобальных сетей. Модель с множеством главных доменов в
действительности является временным решением для службы каталогов, также не
очень подходящим для корпоративных сетей. Для больших, регулярно
расширяющихся сетей или тех сетей, которые требуют капитальной
перестройки в целях компенсации неконтролируемого роста количества доменов,
рекомендуется опереться все-таки на иерархическую службу каталогов,
например, Active Directory или Novell Directory Services.
Глава 23
Служба Active Directory
Основанная на доменах служба каталогов, используемая в Windows NT,
долгое время подвергалась критике за невозможность ее масштабирования
для поддержки сетей большого размера. В корпоративной сети, состоящей
из множества доменов, взаимодействие между этими доменами ограничено
доверительными отношениями, которые устанавливает администратор.
Вдобавок, из-за того, что каждый домен должен поддерживаться отдельно,
процесс администрирования учетных записей сильно усложняется. С выходом в
1993 г. первой операционной системы Windows NT версии 3.1 компания
Microsoft обещала предоставить более развитую службу каталогов, которая
лучше бы подходила для больших сетей, и в результате сделала это, воплотив в
Windows 2000 службу Active Directory.
Active Directory (AD) — это объектно-ориентированная, иерархическая,
распределенная система базы данных службы каталогов, которая обеспечивает
централизованное хранение информации об оборудовании, программном
обеспечении и человеческих ресурсах всей корпоративной сети. Она
основана на стандарте Х.500 и во многом похожа на NetWare Directory Services
(NDS). Пользователи сети представлены объектами в дереве Active Directory.
Администраторы могут применять эти объекты для предоставления
пользователям доступа к ресурсам в любом месте сети. Ресурсы так же, как и
пользователи представлены в виде объектов в дереве. В отличие от Windows NT,
которая использовала для своих каталогов плоскую, основанную на доменах,
структуру, Active Directory расширяет структуру на несколько уровней.
Домен все еще остается основным организационным элементом в базе данных
Active Directory, но теперь группы доменов могут быть объединены в дерево,
а группы деревьев в лес (forest). Администраторы, манипулируя деревом,
могут управлять множеством доменов одновременно, а лес дает возможность
одновременно управлять множеством деревьев.
Однако служба каталогов —- это не только база данных для хранения
информации, она также включает сервисы, которые делают эту информацию
доступной для пользователей, приложений и других служб. Active Directory
включает глобальный каталог, который делает возможным поиск в каталоге
определенного объекта, используя значение заданного атрибута.
Приложения могут задействовать каталог для управления доступом к сетевым
ресурсам, а другие службы каталогов способны взаимодействовать с AD через
780
Часть VI. Сетевые службы каталогов
стандартизованный интерфейс и протокол LDAP (Lightweight Directory
Access Protocol, облегченный протокол службы каталогов).
Служба каталогов — это комплексная, жизненно важная часть инфраструктуры
корпоративной сети; и ее следует протестировать, прежде чем внедрять в
работающие сети в особенности те, что выполняют критические функции.
Windows 2000 и Active Directory — еще очень молодые продукты, и они должны
пройти период доработки, прежде чем будут считаться вполне устойчивыми.
Архитектура Active Directory
Active Directory составлена из объектов, которые представляют различные
ресурсы в сети, такие как пользователи, серверы, принтеры и приложения.
Объект — это набор атрибутов, которые определяют ресурс, дают ему имя,
описывают его возможности и указывают тех, кому разрешено использовать
его. Некоторые из атрибутов объекта присваиваются ему автоматически при
его создании, такие как глобальный уникальный идентификатор (GUID),
назначаемый каждому объекту, в то время как другие задает администратор
сети. Объект пользователя, например, имеет атрибуты, которые хранят
информацию о самом пользователе, представляемом объектом, например, имя
учетной записи, пароль, номер телефона, адрес электронной почты, а также
информацию о других объектах, с которыми пользователь взаимодействует.
Существует множество различных типов объектов, каждый из которых
имеет свой набор атрибутов, зависящий от функций типа.
Основное различие между Active Directory и доменами Windows NT 4.0
заключается в том, что Active Directory предоставляет администраторам и
пользователям глобальный вид сети. Обе службы каталогов могут
использовать множество доменов, но вместо управления пользователями любого
домена по отдельности, например, как в Windows NT 4.0, администратор AD
создает для каждого пользователя только один объект и может предоставить
этому пользователю доступ к ресурсам в любом домене.
Каждый тип объекта описывается классом объекта, который хранится в схеме
каталогов. Схема определяет атрибуты, которые должен иметь каждый объект,
необязательные атрибуты, которые он может иметь, и место объекта в дереве
каталогов. Сама схема также хранится в Active Directory в виде объектов,
которые называются объектами классов схемы (class schema objects) и объектами
атрибутов схемы (attribute schema objects). Объект класса схемы содержит
ссылки на объекты атрибутов схемы, что все вместе формирует класс объекта.
Таким образом, атрибут определяется только один раз, несмотря на то, что он
может быть использован множеством различных классов объектов.
Глава 23. Служба Active Directory
781
Схема является расширяемой, поэтому приложения и службы, разработанные
Microsoft и сторонними фирмами, могут создавать новые классы объектов или
добавлять новые атрибуты к существующим классам объектов. Это позволяет
приложениям использовать Active Directory для того, чтобы хранить
информацию, специфичную для выполняемых ими функций, и предоставлять ее
другим приложениям в случае необходимости. Например, вместо того, чтобы
поддерживать свой собственный каталог, приложение сервера электронной
почты может изменить схему Active Directory и использовать AD для
аутентификации пользователей и хранения своей почтовой информации.
Типы объектов
В Active Directory существует два основных типа объектов: объекты-
контейнеры и объекты-листья. Контейнер — это просто объект, который
содержит другие объекты, в то время как лист не может хранить другие
объекты. Объекты-контейнеры фактически выполняют те же функции, что и
ветви дерева, а объекты-листья "растут" из ветвей. Active Directory использует
контейнеры в качестве организационных единиц (OU, organizational unit) и
групп, чтобы хранить другие объекты. Контейнеры могут содержать иные
контейнеры или объекты-листья, такие как пользователи и компьютеры.
Руководящий принцип структуры дерева каталогов заключается в том, что
права и разрешения распространяются вниз по дереву. Назначение
контейнеру права говорит о том, что по умолчанию все объекты в контейнере
наследуют это право. Данный факт позволяет администраторам управлять
доступом к сетевым ресурсам, назначая права и разрешения контейнерам, а не
отдельным пользователям.
По умолчанию дерево Active Directory составлено из объектов, которые
представляют пользователей и компьютеры в сети, логических объектов,
используемых для их упорядочивания, а также папок и принтеров, к которым
пользователи должны иметь постоянный доступ. Эти объекты, их функции и
пиктограммы, используемые для представления их в служебных программах,
таких как Active Directory Users and Computers, перечислены в табл. 23.1.
Таблица 23.1. Типы объектов Active Directory
Пиктограмма Тип объекта Назначение
3!
Domain (Домен) Контейнерный объект, который хранит
объекты организационных единиц и их содержимое
р~ | Organizational unit Контейнерный объект, который хранит ком-
*—J (Организационная пьютеры, пользователей и группы объектов
единица) внутри структуры дерева
Л User Объект-лист, который представляет пользовате-
** (Пользователь) ля сети и хранит идентификационные и аутен-
тификационные данные об этом пользователе
782
Часть VI. Сетевые службы каталогов
Таблица 23.1 (окончание)
Пиктограмма Тип объекта
Назначение
0
Computer
(Компьютер)
Contact (Контакт)
Group (Группа)
Shared folder
(Совместно
используемая папка)
Shared printer
(Совместно
используемый принтер)
Объект-лист, который представляет
компьютер в сети, хранит о нем информацию и
обеспечивает компьютеру учетную запись,
необходимую для регистрации системы в домене
Объект-лист, который представляет
пользователя вне домена и используется в
специальных целях, таких как доставка почты. При
этом пользователь не имеет возможности
зарегистрироваться в домене
Контейнерные объекты, которые представляют
логически сгруппированных пользователей,
компьютеры и/или другие группы. Они не
зависят от структуры дерева AD. Члены группы
могут быть расположены в любой
организационной единице или любом домене дерева
Представляет совместно используемую папку
в системе Windows 2000
Представляет совместно используемый
принтер в системе Windows 2000
Присваивание объектам имен
Каждый объект в базе данных Active Directory однозначно
идентифицируется по имени, которое может быть представлено в нескольких формах.
Соглашения о присваивании объектам имен основаны на стандарте LDAP,
определенном в документе RFC 2251, опубликованном рабочей группой
инженеров Интернета (IETF). Отличаемое имя (DN, distinguished name) объекта
состоит из имени домена, в котором расположен объект, и пути вниз по
дереву домена через контейнеры до самого объекта. Часть имени объекта,
которая хранится в самом объекте, называется его относительным отличаемым
именем (RDN, relative distinguished name).
Указание имени объекта и перечисление имен его родительских
контейнеров вплоть до корня домена однозначно идентифицирует объект внутри
домена, даже если объект имеет такое же имя, как другой объект в ином
контейнере. Таким образом, если существуют два пользователя с именами John
Doe и Jane Doe, то для них обоих можно применять относительное
отличаемое имя jdoe. До тех пор пока они расположены в разных контейнерах,
их DN будут отличаться.
Глава 23. Служба Active Directory
783
Канонические имена
Большинство приложений Active Directory ссылаются на объекты, используя
их канонические имена. Каноническое имя (canonical name) — это отличаемое
имя, начинающееся с имени домена, за которым перечислены имена
родительских контейнеров объекта, начиная с корня домена, разделенные
прямыми слэшами, а в конце указано RDN, как приведено ниже:
zaker.com/sales/inside/jdoe
В этом примере jdoe — это объект пользователя в контейнере inside,
который расположен в контейнере sales в домене ny. zacker. com.
Форма записи LDAP
То же отличаемое имя может быть приведено в форме записи LDAP, и
будет выглядеть следующим образом:
cn=jdoe,ou=inside,ou=sales,dc=zaker.dc=com
Этот способ записи изменяет порядок следования имен на обратный,
сначала в левой части идет RDN, а имя домена расположено справа. Элементы
разделены точкой и включают аббревиатуры LDAP, которые указывают тип
каждого элемента. Это следующие аббревиатуры:
□ сп — common name (обычное имя);
□ ou — organizational unit (организационная единица);
□ dc — domain component (компонент домена).
В большинстве случаев LDAP-имена не включают аббревиатур, которые
могут быть опущены без изменения однозначности или функциональности
имени. Также возможно записать LDAP-имя в формате URL, как
определено в RFC 1959, тогда оно будет выглядеть следующим образом:
Idap://czl.zacker.com/cn=jdoe,ou=sales,dc=zacker.dc=com
Этот формат отличается тем, что имя сервера, поддерживающего службу
каталогов, должно следовать сразу за идентификатором idap://, а за именем
сервера располагается то же LDAP-имя, что упоминалось ранее. Этот способ
записи позволяет пользователям осуществлять доступ к информации при
помощи стандартного Web-браузера.
Глобальные уникальные идентификаторы
Помимо отличаемого имени каждый объект в дереве имеет глобальный
уникальный идентификатор (GUID, globally unique identifier), являющийся 128-
разрядным числом, которое автоматически назначается агентом системы
каталогов (Directory System Agent) при создании объекта. В отличие от DN,
которое изменяется при переименовании объекта, или когда объект пере-
784
Часть VI. Сетевые службы каталогов
мещается в другой контейнер, GUID является постоянным и служит
основным идентификатором объекта.
Основные имена пользователей
Отличаемые имена используются приложениями и службами при
взаимодействии с Active Directory, но для пользователей эти имена являются
малопонятными и сложными для набора и запоминания. Поэтому каждый
объект пользователя имеет основное имя пользователя (UPN, user principal name),
которое состоит из имени пользователя и суффикса, разделенных символом
@. Оно похоже на стандартный формат адреса электронной почты
Интернета, определенный в RFC 822. Это имя обеспечивает пользователей
упрощенным идентификатором и устраняет необходимость запоминания их места в
иерархии дерева домена.
В большинстве случаев часть UPN с именем пользователя является RDN
объекта пользователя, а суффикс — DNS-именем домена, в котором расположен
объект пользователя. Однако, если сеть состоит из множества доменов, то
можно выбрать имя одного домена для использования в качестве суффикса
для UPN всех пользователей. Таким образом, UPN может оставаться
неизменным, даже если объект пользователя будет перемещен в другой домен.
UPN — это внутреннее имя, которое применяется только в сети
Windows 2000, поэтому оно не обязано соответствовать Интернет-адресу
электронной почты пользователя. Тем не менее, это хорошая идея — взять
доменное имя электронной почты сети в качестве суффикса, тогда
пользователи должны будут помнить только один адрес для доступа к
электронной почте и регистрации в сети.
^ Примечание ^Д
Можно использовать консоль Active Directories Domains and Trusts, чтобы
задать дублирующиеся суффиксы UPN. Тогда все пользователи смогут
регистрироваться в сети с одинаковыми суффиксами.
Домены, деревья и леса
Сетевая парадигма Windows NT всегда базировалась на доменах, и все сети
за исключением самых маленьких требуют нескольких доменов для
поддержки своих пользователей. Windows 2000 делает более простым
управление множеством доменов, объединяя их в большие по размеру системы,
называемые деревьями и лесами. Когда, выдвижением сервера на роль
контроллера домена, создается новая база данных Active Directory, то образуется
первый домен в первом дереве первого леса. Если в том же дереве
формируются дополнительные домены, то все они разделяют одну схему,
конфигурацию и Global Catalog Server (GCS, сервер глобального каталога), а также
объединяются транзитивными доверительными отношениями.
Глава 23. Служба Active Directory
785
Доверительные отношения являются способом взаимодействия доменов
между собой с целю обеспечения единого каталога сети. Если домен А
доверяет домену В, то пользователи домена В могут получить доступ к ресурсам в
домене А. В доменах Windows NT доверительные отношения работают
только в одном направлении и должны быть заданы администраторами явно.
Если в сети необходимо создать полные доверительные отношения между
тремя доменами, например, то понадобится шесть отдельных доверительных
связей, так чтобы каждый домен доверял каждому другому домену. Active
Directory автоматически создает доверительные отношения между доменами
в одном дереве. Эти доверительные отношения распространяются в обоих
направлениях, для аутентификации используют протокол обеспечения
безопасности Kerberos и являются транзитивными, то есть если домен А
доверяет домену В и домен В доверяет домену С, то домен А автоматически
доверяет домену С. Таким образом, дерево (tree) является отдельной
административной единицей, которая охватывает несколько доменов. Кошмар
администрирования, заключающийся в ручном установлении доверительных
отношений между доменами, устранен, и пользователи имеют возможность
получить доступ к ресурсам в других доменах.
Домены в дереве разделяют непрерывное пространство имен. В отличие от
доменов Windows NT, которые имеют одно, плоское имя, домен Active
Directory имеет иерархическое имя, основанное на пространстве имен DNS,
такое как mycorp.com. Разделение непрерывного пространства имен
означает, что если первый домен в дереве получает имя mycorp.com, последующие
домены в этом дереве будут иметь имена, построенные на основе имени
родительского домена, такие как sales.mycorp.com и mis.mycorp.com (рис. 23.1).
mycorp.com
mis.mycorp.com
sales.mycorp.com
inside.sales.mycorp.com
Рис. 23.1. Родительский
и дочерние домены
Active Directory
Отношения родительский/дочерний в иерархии доменов ограничены
исключительно разделением пространства имен и доверительными
отношениями между ними. В отличие от иерархии контейнеров внутри домена,
права и разрешения не передаются вниз по дереву от домена к домену.
В большинстве случаев одного дерева достаточно для сети почти любого
размера. Тем не менее, возможно создать несколько деревьев и объединить
их вместе в структуру, известную как лес (forest). Все домены в лесу,
включенные в разные деревья, разделяют одну и ту же схему, конфигурацию и
GCS. Каждый домен в лесу имеет транзитивные доверительные отношения
786
Часть VI. Сетевые службы каталогов
с другими доменами, не зависящие от деревьев, в которых они расположены.
Единственное различие между деревьями в лесу заключается в том, что они
используют отдельные пространства имен. Каждое дерево имеет свой
корневой домен и дочерние домены, которые основаны на его имени. Первый
домен, созданный в лесу, называется корневым доменом леса (forest root domain).
Наиболее частой причиной наличия нескольких деревьев является слияние
двух организаций, каждая из которых уже имеет устоявшиеся имена доменов,
не подлежащих быстрому объединению в одно дерево. Также возможно
создать в сети несколько лесов, но необходимость в этом возникает очень редко.
Отдельные леса имеют свою индивидуальную схему, конфигурацию и GCS,
и доверительные отношения между ними автоматически не
устанавливаются. Есть возможность вручную создать однонаправленную доверительную
связь между доменами в разных лесах, так же, как это делается в сети
Windows NT, но в большинстве случаев главной причиной для создания
нескольких лесов является необходимость в полной изоляции двух областей
сети и предотвращение возможности взаимодействия между ними.
DNS и Active Directory
Windows NT опирается на NetBIOS и использует сервер имен NetBIOS,
называемый Windows Internet Naming Service (WINS, служба имен Интернета для
Windows), чтобы выявлять компьютеры в сети и разрешать их имена в IP-
адреса. Основное ограничение NetBIOS и WINS заключается в том, что они
используют плоское пространство имен, в то время как пространство имен
Active Directory — иерархическое. Пространство имен AD основано на том
же принципе, что и пространство системы доменных имен (DNS), поэтому
для разрешения имен и выявления контроллеров домена каталог использует
вместо WINS-серверов DNS-серверы. Чтобы служба Active Directory
работала корректно, необходимо наличие в сети хотя бы одного сервера DNS.
Домены в Active Directory называются стандартными доменными именами
DNS, которые могут совпадать или не совпадать с именами, применяемыми
организацией в Интернете. Например, если уже есть зарегистрированное
доменное имя mycorp.com, предназначенное для Интернет-серверов, то
можно задать это же имя родительскому домену в дереве AD или создать
новое имя для внутреннего использования. Новое имя не обязательно
регистрировать, так как область его применения будет ограничена только сетью
Windows 2000.
DNS основана на записях о ресурсах (resource records), которые содержат
информацию об определенных машинах в сети. Традиционно
администраторы должны создавать эти записи вручную, но в сети Windows 2000 это
вызовет проблемы. Задача создания записей о сотнях компьютеров вручную
является долгой и трудной, и она усложняется использованием протокола
DHCP (Dynamic Host Configuration Protocol, протокол динамической кон-
Глава 23. Служба Active Directory
787
фигурации хоста), который служит для автоматического назначения сетевым
системам IP-адресов. Из-за того, что IP-адреса систем, управляемых DHCP,
могут меняться, должен быть способ, который позволил бы обновлять
записи DNS, чтобы отразить эти изменения.
Microsoft DNS Server, включенный в Windows 2000, поддерживает новый тип
SRV записей о ресурсах, который позволяет клиентским системам
использовать запросы DNS для выявления контроллеров доменов Windows 2000.
Сервер DNS от Microsoft также поддерживает динамическую систему DNS
(DDNS), которая работает вместе с Microsoft DHCP Server, чтобы
динамически обновлять записи о ресурсах для определенных систем при изменении
их IP-адресов. Многие из более старых серверов DNS, используемых
сегодня (такие как BIND версии 4.хх), не поддерживают новые возможности и
не будут работать с Active Directory. Тем не менее, эти новые возможности
DNS были стандартизированы и реализованы в программных продуктах
других производителей, таких как последние версии BIND. Поддержка
записей о ресурсах типа SRV является единственной из этих новых
возможностей, непременно требуемой для Active Directory. Иные возможности, такие
как DDNS, защищенная DDNS и инкрементные зонные передачи,
являются рекомендуемыми, но не необходимыми.
Active Directory все еще сравнительно новый продукт, и он должен пройти
некоторую проверку на зрелость, которая может затронуть связь между
службой каталогов и DNS. Если AD развертывается в сети предприятия, то
использование Microsoft DNS Server станет хорошим выбором, так как он,
несомненно, будет обновляться, чтобы соответствовать любым изменениям,
происходящим в самой службе каталогов.
Ц^ Примечание j|
Для получения более подробной информации о стандартах и функциях
системы доменных имен (DNS) см. главу 20.
Сервер глобального каталога
Для поддержки больших корпоративных сетей база данных Active Directory
позволяет создавать разделы и реплики. Это означает, что каталог может
быть разбит на разделы, которые будут храниться на разных серверах, и
копии каждого из этих разделов могут быть размещены на отдельных серверах.
Однако такое разделение каталога делает для приложений более трудным
определение местоположения специфической информации. Поэтому Active
Directory поддерживает глобальный каталог (global catalog), который
предоставляет полную картину всей структуры каталога. Когда контроллер домена
содержит информацию Active Directory только для одного домена,
глобальный каталог представляет собой реплику всего Active Directory кроме того,
788
Часть VI. Сетевые службы каталогов
что он включает для каждого объекта только основные атрибуты, известные
как связующие данные (binding data).
Так как глобальный каталог состоит из значительно меньшего количества
данных, чем весь каталог, он может храниться на одном сервере, и доступ к
нему пользователей и приложений осуществляется быстрее. Глобальный
каталог делает для приложений более простым поиск определенных объектов
в Active Directory, позволяя использовать для этого любые атрибуты,
включенные в связующие данные.
Развертывание Active Directory
Все элементы архитектуры Active Directory, которые были рассмотрены до
этого, такие как домены, деревья и леса, являются логическими
составляющими, не обязательно оказывающими какой-либо эффект на физическую
сеть. В большинстве случаев администраторы сети создают домены, деревья
и леса, полагаясь на "политическое" деление внутри организации, например,
рабочие группы и отделы, хотя элементы географии также могут иметь
значение. Однако физически установка Active Directory реализуется в форме
совокупности контроллеров домена, разделенной на более мелкие части,
называемые областями (sites).
Создание контроллеров домена
Контроллер домена (DC, domain controller) — это система Windows 2000 Server,
которая содержит всю или часть базы данных Active Directory и
предоставляет услуги остальной сети, через которую приложения осуществляют
доступ к этой базе данных. Когда пользователь регистрируется в сети или
запрашивает доступ к определенному сетевому ресурсу, рабочая станция
обращается к контроллеру домена, который аутентифицирует пользователя и
предоставляет доступ к сети.
В отличие от Windows NT 4.0 в Active Directory существует только один тип
контроллеров домена. Во время установки сервера NT 4 необходимо
выбрать, какую роль он будет выполнять: главного контроллера домена,
резервного контроллера домена или члена домена. После того как система
установлена в качестве контроллера для определенного домена, не существует
способа переместить ее в другой домен или преобразовать в простой член
домена. Все серверы Windows 2000 начинают свою работу в качестве членов
домена, затем их можно произвести в контроллеры домена, а в дальнейшем
в случае необходимости вернуть обратно в обычные члены домена. Active
Directory не имеет главных и резервных контроллеров домена, все
контроллеры функционируют как равноправные.
Любой, кто работал с доменами Windows NT 4.0, должен понимать, почему
возможность произвести серверы в контроллеры домена и понизить обратно
Глава 23. Служба Active Directory
789
является ценным подарком для администратора сети. Эта возможность
позволяет при необходимости добавить или переназначить контроллер домена
для выполнения функций контроллера в другом домене. Такая гибкость
позволяет изменять Active Directory в соответствии с ростом сети или
изменением производственных условий. Например, когда предприятие
реорганизует свои подразделения, администраторы сети могут изменить структуру AD,
переназначив функции контроллеров домена, в то время как серверы
Windows NT 4.0, вероятно, потребовали бы повторной установки, чтобы
соответствовать новой структуре организации.
Чтобы произвести сервер Windows 2000 в контроллеры домена, можно
использовать утилиту Active Directory Installation Wizard (Мастер установки
Active Directory), рис. 23.2, которая запускается выполнением из командной
строки программы Dcpromo.exe. Чтобы сделать это, необходимо
зарегистрироваться на локальной машине с привилегиями администратора. Мастер по
шагам проведет через процедуру создания нового домена или реплики
существующего домена, и определение того, будет ли новый домен являться
первым в новом дереве или лесе, либо окажется дочерним для
существующего домена. Если сервер уже является контроллером домена, то мастер
позволит понизить его до члена домена.
(• New domain (this server wil be the first domain controller j
Creating multiple domains on your network partitions your information, enabling
Active Directory to scale up to very large organizations.
(Choose this option to create a new child domain, new domain tree, or new forest.)
С Replica domain controller in existing domain
Installing additional domain controllers in a domain provides fault tolerance and
improves performance.
Note: Choosing this option will cause all local accounts on this server to be
deleted.
< Back 1 Next > 1 Cancel
Рис. 23.2. Окно утилиты Active Directory Installation Wizard
Сервер, осуществляющий функции контроллера домена, должен иметь, по
крайней мере, один диск NTFS 5.0, чтобы хранить базу данных Active
Directory, системный журнал и системный том, а также иметь доступ к DNS-
790
Часть VI. Сетевые службы каталогов
серверу, поддерживающему SRV-записи о ресурсах и (необязательно)
динамические обновления. Если компьютер не может обнаружить DNS-сервер,
предоставляющий эти возможности, он предлагает установить и
сконфигурировать программное обеспечение Microsoft DNS Server на системе Windows 2000.
Windows 2000 включает обновленную версию файловой системы NT
(NTFS 5.0), которую можно использовать для хранения данных Active
Directory. Невозможно задействовать для этого диски FAT или NTFS,
созданные Windows NT, пока они не будут обновлены во время установки
Windows 2000. Количество дискового пространства, требуемого для Active
Directory, варьируется в зависимости от размера сети и намерений по разбиению
базы данных на разделы. Раздел в 1 Гбайт является абсолютным минимумом
для контроллера домена Active Directory.
Репликация каталогов
Каждый домен в сети из соображений обеспечения отказоустойчивости
должен быть представлен, по меньшей мере, двумя контроллерами домена.
Если сеть для обеспечения аутентификации пользователей и других услуг
опирается на Active Directory, то отсутствие доступа к контроллерам домена
должно быть главной проблемой. Поэтому каждый домен должен быть реп-
лицирован, по крайней мере, на два контроллера домена, чтобы один из них
всегда был доступен. В сервисе репликации каталогов нет ничего нового, но
Active Directory реплицирует свои доменные данные не так, как это делает
Windows NT.
Домены Windows NT реплицируются, используя технику, называемую
репликацией с одним мастером, при которой один главный контроллер домена с
возможностями чтения/записи реплицирует свои данные на один или более
резервных контроллеров, которые имеют только возможность чтения. При
таком методе трафик репликации всегда распространяется в одном
направлении, от главного контроллера домена к резервным. Недостаток этого метода
заключается в том, что изменения в каталоге могут быть произведены только
на главном контроллере домена. Например, когда администратор создает
учетную запись нового пользователя или изменяет учетную запись уже
существующего, утилита User Manager for Domains должна связаться с главным
контроллером домена, даже если он расположен на удаленной площадке, связь с
которой осуществляется по медленному каналу глобальной сети.
Active Directory использует репликацию со множеством мастеров, которая
позволяет администраторам выполнять изменения в любой из реплик
домена. Это является объяснением, почему больше не существует главных и
резервных контроллеров домена. Однако использование в процессе
репликации множества мастеров делает сам процесс более сложным. Вместо
простого копирования данных каталога с одного контроллера домена на другой,
информация каждого контроллера домена должна быть сопоставлена с ин-
Глава 23. Служба Active Directory
791
формацией всех остальных контроллеров, чтобы изменения, произведенные
в каждой реплике, были распространены на каждую другую реплику.
Помимо этого возможно возникновение ситуации, когда два администратора
одновременно изменят один и тот же атрибут одного объекта в разных
репликах. Процесс репликации должен иметь возможность уладить конфликт,
подобный данному, и убедиться, что любая реплика содержит наиболее
свежие данные.
Синхронизация данных с несколькими мастерами
Некоторые службы каталогов, такие как NDS, основывают свои алгоритмы
синхронизации данных на временных отметках, присваиваемых каждому
изменению базы данных. Изменение, которое имеет более позднюю
временную отметку, становится действующим после завершения процесса
репликации. Проблема этого метода заключается в том, что использование
временных отметок требует точной синхронизации часов всех контроллеров
доменов, чего трудно добиться. Процесс репликации Active Directory
опирается на временные отметки только в определенных ситуациях. Вместо этого
AD использует порядковые номера изменений (USNs, Update Sequence Numbers),
которые представляют собой 64-разрядные значения, назначаемые всем
изменениям, записываемым в каталог. Когда в результате действий
администратора или приема трафика репликации от другого контроллера домена
изменяется атрибут, контроллер домена инкрементирует USN и сохраняет его
вместе с атрибутом.
Помимо номеров USN, которые хранятся вместе с атрибутами в локальной
системе, каждый контроллер домена поддерживает таблицу, содержащую
наибольшие значения USN, полученные от любого другого контроллера
домена, который реплицировал свои данные. Когда начинается процесс
репликации данных, контроллер домена требует, чтобы его партнеры по
репликации передали все изменения с номерами USN большими, чем значения
номеров в таблице. Контроллеры доменов также используют USN для
восстановления после сбоев или периодов пребывания в выключенном
состоянии. Когда сервер возобновляет свою работу, он передает своим партнерам
по репликации наибольшее значение из таблицы USN, а другие
контроллеры домена используют эту информацию для предоставления всех
изменений, которые произошли со времени отключения системы.
Единственная проблема применения этого метода проявляется, когда один и
тот же атрибут изменяется на двух разных контроллерах домена. Если
администратор исправил значение определенного атрибута на сервере В прежде,
чем изменения этого же атрибута на сервере А были полностью
распространены по всем другим репликам, то говорят, что возникла коллизия. Чтобы
разрешить эту коллизию, контроллеры домена используют номер версии
свойства (property version number) для определения значения, которое имеет
приоритет. В отличие от номеров USN, которые являются простой последо-
792
Часть VI. Сетевые службы каталогов
вательностью чисел, поддерживаемой отдельно каждым контроллером
домена, для каждого атрибута существует только один номер версии свойства.
Когда контроллер домена изменяет атрибут в результате действий
администратора сети, он инкрементирует номер версии свойства. Однако когда
контроллер домена получает изменения атрибута через трафик репликации от
другого контроллера домена, номер версии свойства не изменяется.
Контроллер домена выявляет коллизию, сравнивая значения атрибутов и номера
версий свойств, полученных в процессе репликации, с теми, что хранятся в
собственной базе данных контроллера. Если атрибут, полученный от другого
контроллера домена, имеет тот же номер версии свойства, что и локальная
копия этого атрибута, но значения атрибутов не совпадают, то возникла
коллизия. В этом случае, и только в этом, система использует временные
отметки, передаваемые вместе с каждым из атрибутов, чтобы определить, какое из
значений является более новым и имеет приоритет над другими значениями.
Области
Один домен может иметь любое число контроллеров домена, и все они
будут содержать одинаковую информацию благодаря системе репликации AD.
Помимо обеспечения отказоустойчивости создание дополнительных
контроллеров домена может преследовать цель предоставления пользователям
локального доступа к каталогу. Для организации с несколькими офисами,
соединенными каналами глобальной сети, непрактично иметь только один
или два контроллера домена, так как рабочие станции будут вынуждены
обращаться к базе данных AD через сравнительно медленные и дорогие
соединения глобальной сети. Поэтому администраторы обычно создают
контроллер домена в каждом месте домена, где расположены ресурсы.
Сравнительно низкая скорость и высокая стоимость обычного соединения
глобальной сети также оказывают влияние на осуществление процесса
репликации между контроллерами домена. По этой причине Active Directory
позволяет разбивать домен на несколько областей. Область — это
совокупность контроллеров домена с хорошей связью между собой, означающей,
что все системы соединены с использованием одной сравнительно
высокоскоростной технологии локальной сети. Предполагается, что соединения
между областями относятся к глобальной сети, то есть являются более
медленными и возможно более дорогими.
Реальная скорость соединений внутри области и между областями не
является проблемой. Локальные сети способны работать со скоростью 10 или
100 Мбит/с, а соединения глобальной сети могут представлять собой все что
угодно, от коммутируемых соединений до линий Т1. Проблема заключается
в разнице в скоростях обмена данными между контроллерами домена в
одной области и контроллерами из разных областей. Причина разделения до-
Глава 23. Служба Active Directory
793
мена на несколько логических частей, отвечающих физической топологии
сети, заключается в необходимости управления трафиком репликации,
передаваемым через более медленные и дорогие каналы связи глобальной
сети. Active Directory использует области также для того, чтобы определить, к
какому контроллеру домена должна обращаться рабочая станция при
аутентификации пользователя. Как только станет возможно, процедуры
аутентификации задействуют контроллер домена, расположенный в той же области.
Репликация внутри области
Репликация данных между контроллерами домена, расположенными в
пределах одной области, является автоматической и саморегулируемой.
Компонент Knowledge Consistency Checker (КСС, модуль контроля
непротиворечивости знаний) по мере необходимости динамически создает соединения
между контроллерами домена, чтобы сформировать схему репликации,
которая сократила бы до минимума задержку. Задержка (latency) — это период
времени, в течение которого информация, хранящаяся на контроллерах
домена одной области, отличается, то есть интервал между изменением
атрибута на одном контроллере домена и распространением этого изменения на
все другие контроллеры домена. КСС инициирует репликацию всякий раз,
когда производится изменение в базе данных AD любой из реплик области.
КСС поддерживает, по меньшей мере, два соединения для каждого
контроллера домена в области. Таким образом, если контроллер отключается,
репликация между всеми остальными контроллерами домена все еще
возможна. КСС может создать дополнительные соединения, чтобы поддержать
временный контакт между остающимися контроллерами домена, пока
система недоступна, а затем удаляет их, когда система снова заработает. Если
добавляется новый контроллер домена, то КСС похожим образом изменяет
схему репликации, чтобы включить его в процесс синхронизации данных.
Как правило, КСС создает схему репликации, в которой каждый контроллер
домена удален от любого другого контроллера домена не более чем на три
транзита. Так как все контроллеры домена расположены в одной области,
предполагается, что они хорошо соединены, и КСС может расходовать
пропускную способность сети в интересах повышения скорости репликации.
Все обновления передаются в несжатой форме, так как, несмотря на то, что
это требует передачи большего количества данных, сокращается до
минимума количество операций, выполняемых каждым контроллером домена.
В основном репликация осуществляется в пределах домена, но когда
несколько доменов расположены в одной области, КСС также создает
соединения между серверами глобального каталога каждого домена, так чтобы
они могли обмениваться информацией и создавать реплики всей базы Active
Directory, содержащей подмножество атрибутов, которые формируют
связующие данные.
794
Часть VI. Сетевые службы каталогов
Репликация вне области
По умолчанию домен состоит из одной области, называемой Default-First-
Site-Name (имя первой области по умолчанию), и любой новый
создаваемый домен размещается в этой области. Однако при помощи утилиты Active
Directory Site and Services (Области и службы Active Directory) можно
создать дополнительную область и переместить домены в нее. Так же, как для
доменов в одной области, Active Directory создает схему репликации между
доменами в разных областях, но она имеет несколько ключевых отличий.
Так как предполагается, что каналы связи глобальной сети между областями
более медленные и дорогие, Active Directory пытается сократить до минимума
количество передаваемого по ним трафика репликации. Во-первых,
количество соединений между контроллерами доменов разных областей меньше, чем
между контроллерами в одной области, и правило трех транзитов для схемы
репликации вне области не соблюдается. Во-вторых, все данные репликации,
передаваемые через соединения вне области, сжимаются, чтобы сократить
расходование полосы пропускания процессом репликации. В заключение,
изменения в базе данных Active Directory не вызывают автоматический запуск
процесса репликации между областями. Вместо этого для репликации может
быть составлено расписание, чтобы она происходила в определенное время
или через заданные интервалы, что позволит снизить воздействие на
стандартный пользовательский трафик и воспользоваться преимуществом низкой
стоимости полосы пропускания в часы низкой загрузки.
Создание и конфигурирование областей
Разделение сети на области не оказывает влияния на иерархию доменов,
деревьев и лесов, которые были созданы, чтобы представлять организацию.
Тем не менее, в Active Directory области все еще выглядят как объекты
наряду с несколькими другими типами объектов, которые используются для
конфигурирования схемы репликации сети. Эти объекты видимы только в
служебной программе Active Directory Sites and Services, как показано на
рис. 23.3. Объект Default-First-Site-Name создается автоматически, когда
первый сервер в сети производится в контроллеры домена, он располагается
вместе с объектами-серверами, которые отображаются в папке Servers,
размещенной под этим объектом. Объекты-серверы всегда являются
подчиненными по отношению к объектам-областям и представляют собой
контроллеры домена, функционирующие в области. Область может содержать
объекты-серверы контроллеров любых доменов, расположенных в любом
дереве или лесе. По мере необходимости можно перемещать
объекты-серверы из одной области в другую.
Другие два важных типа объектов, связанные с областями и серверами, —
это объекты подсетей и объекты связи областей. Объекты подсетей
представляют определенные IP-подсети, используемые в различных областях.
Глава 23. Служба Active Directory
795
При помощи этих объектов определяются границы области. При создании
объекта подсети необходимо задать адрес сети и маску подсети. После того
как область связана с объектом подсети, объекты-серверы для любых
контроллеров домена, создаваемых в этой подсети, автоматически создаются в
данной области. С определенной зоной можно связать несколько объектов
подсети, чтобы создать целостную картину всей сети.
Action View Ф (S 03 X fi1 В © С§
Tree I
Ы( Active Directory Sitesand Services [CZ2 zacker.com]
- _J Sites
- Ij] Default-First-Site-Name
+ J CZ2
- | Inter-Site Transports
-J IP
+ _J5MTP
- I Subnets
+ JZJ 192.168.2.0/24
+ JZJ 192.168.3.0/24
- ill Paris
I Servers
Рис. 23.3. Окно утилиты Active Directory Sites and Services
Объекты связи областей представляют каналы связи глобальной сети,
которые Active Directory будет использовать для создания соединений между
контроллерами домена, расположенными в разных областях. Для связи
областей Active Directory поддерживает применение протоколов IP и SMTP,
оба из которых появляются в папке Internet-Site Transports в окне утилиты
Active Directory Sites and Services. IP-связи областей могут использовать
любой тип соединения глобальной сети, будь то коммутируемое соединение по
модему или линия Т1. SMTP-связь областей может принимать форму
любого приложения для отправки электронной почты, поддерживающего
протокол SMTP. При создании объекта связи областей необходимо выбрать
области, которые будут соединены каналом связи глобальной сети,
представленным этим объектом. Атрибуты объектов связи областей включают
различные механизмы для определения того, когда и как часто Active Directory
будет задействовать канал связи для передачи трафика репликации между
областями (рис. 23.4). Эти атрибуты перечислены ниже.
□ Cost (Стоимость). Стоимость канала связи может отражать либо
финансовые затраты на использование вовлеченной технологии глобальной
сети, либо стоимость в терминах пропускной способности, необходимой
Name [ Domain муре [
\$ CZ2 zacker.com Server
796
Часть VI. Сетевые службы каталогов
для других целей. Например, оплата месячной аренды соединения Т1
может быть астрономической, поэтому если соединение Т1 установлено в
основном в целях поддержки трафика репликации, то нет смысла
назначать ему высокую стоимость, так как в результате этого оно не будет
использоваться. Чем выше значение этого атрибута, тем реже AD будет
задействовать канал связи для передачи трафика репликации.
□ Schedule (Расписание). Задает часы, в которые канал ежедневно будет
задействован для передачи трафика репликации. Если необходимо
уменьшить до минимума влияние репликации на канал связи, используемый в
рабочие часы для других типов трафика, то можно создать расписание,
которое позволит осуществлять репликацию по этому каналу только в
нерабочее время.
□ Replication period (Период репликации). Определяет интервал между
процедурами репликации, которые используют данный канал связи,
корректируя созданное перед этим расписание.
JjJSil
General j Object | Security |
Sill DEFAULTIPSITELIf
Schedule for DEFAULTIPSITELINK
12- 2- 4- 6- 8 -10-12- 2- 4- 6- 8-10-12
Description: j
Sites not in this Site fink:
All
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Cancel
Hill
mil
mill
Hill
t
пи
inn
mi
ii
Mil
lllll
llll
inn
inn
mil
imp
mil
f Replication Not Available
I *•" Replication Available
Sunday through Saturday from 12 AM to 12 AM
Cost
Replicate every
Change Schedule...
180
OK
Cancel
Рис. 23.4. Диалоговое окно со свойствами объекта связи областей
По умолчанию Active Directory создает объект IP-связи областей
DEFAULTIPSITELINK, который можно использовать в том виде, как он
есть, или изменять, чтобы он отражал тип канала связи, задействованного
для соединения областей. Если все области соединены каналами связи
глобальной сети одного типа, то не обязательно создавать дополнительные объ-
Глава 23. Служба Active Directory
797
екты связи областей, так как один набор атрибутов, задающих расписание
репликации, может быть применен для всех соединений. Однако, если
задействованы различные типы соединений глобальной сети, то для каждого
типа можно создать отдельный объект связи областей и настроить его
атрибуты так, чтобы соединение использовалось наиболее оптимально.
Другой тип объекта, который можно создать в контейнере Inter-Site
Transports, называется объектом моста связи областей (site link bridge object). Он
разработан, чтобы сделать возможной маршрутизацию трафика репликации
от одной удаленной области к другой. По умолчанию создаваемые связи
областей являются транзитивными, это означает, что если они сопряжены
вместе, то существует возможность направлять через них трафик
репликации. Например, если имеется объект связи, соединяющий область А с
областью В, и еще один, соединяющий область В с областью С, то область А
может отправлять трафик репликации области С. Если это необходимо, то
можно отключить возможность сопряжения по умолчанию, открыв
диалоговое окно со свойствами папки IP и сбросив в нем флажок Bridge All Site
Links. Если так сделать, то необходимо вручную создать объект моста связи
областей, чтобы сохранить данную возможность маршрутизации трафика
репликации. В то время как объект связи областей группирует вместе два
объекта-области, объект моста связи областей объединяет два объекта связи
областей, делая возможным маршрутизацию трафика репликации между ними.
После того как созданы объекты, представляющие области, формирующие
сеть, и связи, соединяющие их, КСС может создать соединения, которые
создают схему репликации для всего сетевого комплекса в соответствии с
ограничениями, накладываемыми атрибутами объектов связи областей.
Соединения, созданные КСС, как в пределах областей, так и между ними,
выглядят как объекты в контейнере NTDS Settings, расположенном под
каждым объектом-сервером. Объект соединения является однонаправленным,
он представляет трафик, распространяющийся от сервера, под которым
объект расположен, к серверу, указанному в качестве атрибута объекта. В
большинстве случаев нет необходимости создавать и настраивать объекты
соединений вручную, но, тем не менее, это возможно. Разрешается переделывать
схему репликации сети, создав свои собственные соединения и расписание,
указывающее часы, когда эти соединения могут быть задействованы.
Объекты соединений, созданные вручную, не могут быть удалены КСС, чтобы
соответствовать изменяющимся сетевым условиям. Они остаются на месте до
тех пор, пока не будут удалены администратором.
Проектирование Active Directory
Как и в случае любой службы каталогов размера предприятия процесс
развертывания в сети Active Directory включает в себя намного больше, чем
просто установку программного обеспечения. Процесс планирования во мно-
798
Часть VI. Сетевые службы каталогов
гих случаях более сложен, чем построение самого каталога. Естественно,
чем больше сеть, тем более сложным будет процесс планирования.
Необходимо ясно представлять себе форму, которую должна принять структура AD,
и тех, кто будет обслуживать каждую ее часть, прежде чем в
действительности начать устанавливать контроллеры домена и создавать объекты.
В большинстве случаев планирование потребует проведения некоторых
практических испытаний, прежде чем Active Directory будет развернута в
работающей сети. Может понадобиться установить тестовую сеть и
попробовать реализовать несколько лесов различной структуры, перед тем как
остановиться на каком-либо одном плане. Хотя тестовая сеть не может
полностью смоделировать эффект одновременной работы сотен пользователей,
время, потраченное на освоение служебных программ и процедур Active
Directory, не пропадет впустую и в дальнейшем поможет при создании
настоящей службы каталогов.
Планирование доменов,
деревьев и лесов
Для администратора Windows NT операционная система Windows 2000 и
Active Directory могут выглядеть подобно нагромождению излишеств. В то
время, как сети Windows NT основаны исключительно на доменах, Active
Directory расширяет границы службы каталогов на два порядка,
предоставляя возможность создания деревьев и лесов, которые можно использовать
для организации множества доменов. Помимо этого, сами домены могут
быть разделены на более мелкие административные элементы, называемые
организационными единицами. Чтобы использовать эти возможности
эффективно, необходимо рассматривать сеть в свете ее физической топологии
и нужд организации, которую она обслуживает.
Создание многочисленных деревьев
В большинстве случаев для поддержки сети предприятия достаточно одного
дерева. Основной причиной создания многочисленных деревьев является
существование двух или даже нескольких пространств имен DNS, наличие
которых необходимо отразить в Active Directory. Корпорация, состоящая из
нескольких различных компаний, которые работают независимо, может
использовать многочисленные деревья, чтобы создать отдельное пространство
имен для каждой компании. Несмотря на то, что между всеми доменами в
дереве существуют транзитивные доверительные отношения, отдельные
деревья соединены только доверительными отношениями между их
корневыми доменами, как показано на рис. 23.5.
Если в каждом дереве имеется несколько уровней дочерних доменов, то
процесс получения доступа к ресурсу в другом дереве включает передачу
Глава 23. Служба Active Directory
799
трафика аутентификации от домена, содержащего запрашивающую доступ
систему, вверх к корню дерева, через корень другого дерева и вниз к
домену, содержащему запрашиваемый ресурс. Если деревья работают автономно
и доступ к ресурсам в других деревьях требуется очень редко, то это не
представляет большой проблемы. Если доверительные отношения в схеме
каталога, подобного этому, вызывают задержки на постоянной основе, то
можно вручную создать ускоренные доверительные отношения (shortcut trusts)
между дочерними доменами нижних уровней в обоих деревьях, как
показано на рис. 23.6.
newcorp.com
z
sales.newcorp.com
inside.sales.newcorp.com
Z
outside.sales.newcorp.com
4—М
mycorp.com [
\
J sales.mycorp.com |
\
1 inside.sales.mycorp.com |
\
outside.sales.mycorp.com
Рис. 23.5. Деревья Active Directory соединены транзитивными
доверительными отношениями между их корневыми доменами
newcorp.com и—и
/
1 sales.newcorp.com |
V
inside, sales, newcorp. cc
/
1 outside.sales.newcorp.com
\gg
ш [^" ' ' '
mycorp.com 1
\
1 sales.mycorp.com |
\
" W\ inside.sales.il iycoip.com |
\
outside.sales.mycorp.com
Рис. 23.6. Ускоренные доверительные отношения делают возможным доступ
к ресурсам в других деревьях без передачи трафика через корневой домен
Так же, как в лесу можно создать многочисленные деревья, в базе данных
Active Directory можно создать множество лесов. Ситуации, когда
использование многочисленных лесов является необходимым, встречаются даже
реже, чем использование многочисленных деревьев, так как леса совсем не
имеют наследуемых доверительных отношений между собой, а раздельные
глобальные каталоги делают для пользователей более сложным даже
определение расположения ресурсов. Отдельный лес можно создать для тестовой
сети или для проекта, о существовании которого не должны знать
остальные пользователи сети.
800
Часть VI. Сетевые службы каталогов
Создание многочисленных доменов
В Windows NT домены являются единственной административной
единицей, доступной в службе каталогов. Для многих администраторов стало
привычным создавать отдельные домены, чтобы отразить деление организации
на рабочие группы или отделы. Active Directory предоставляет такую же
возможность, но иерархическая природа дерева оказывает влияние на
количество создаваемых доменов. Составные доменные имена, применяемые в
Active Directory, делают непрактичным создание дерева, содержащего
слишком большое количество уровней, так как доменные имена становятся
слишком длинными и трудными для запоминания. В большинстве случаев
вместо создания отдельного домена более предпочтительным является
создание организационной единицы в пределах существующего домена.
Организационные единицы обеспечивают административные границы,
похожие на те, что создают домены, но без расширения пространства
доменных имен и усложнения структуры доверительных отношений в сети.
Организационные единицы позволяют назначать разрешения и создавать
правила политики для групп пользователей без необходимости внесения
изменений в индивидуальные объекты пользователей. Помимо этого, выбор в
пользу организационных единиц вместо доменов может привести к
значительному снижению затрат на оборудование, так как нет необходимости в
добавлении серверов, функционирующих как контроллеры домена.
Первый элемент, который следует принять во внимание при планировании
доменов, — это физическая топология сети и, в особенности, каналы связи
глобальной сети. В некоторых случаях может быть желательным разбиение
домена на несколько областей, но при этом нужно учитывать стоимость
полосы пропускания каналов, соединяющих эти области, частоту изменений в
базе данных Active Directory и местонахождение персонала, который будет
поддерживать базу данных. Например, если база данных Active Directory
относительно статична, и удаленные области сравнительно небольшие, то
контроллеры домена можно создать в разных местах, управлять ими из
центрального офиса, а объекты связи областей сконфигурировать так, чтобы
репликация базы данных выполнялась достаточно редко. Пропускная
способность, необходимая процессу репликации, будет минимальна, и все
области будут иметь локальный доступ к ресурсам домена.
Если в базе данных AD изменения происходят часто, то может быть лучше
создать в каждой области отдельный домен, чтобы избежать необходимости
в частой репликации. Однако даже если это сделать, то пока в лесу
совместно используется общий глобальный каталог, все еще будет существовать
некоторый трафик репликации, передаваемый по каналам связи глобальной
сети, а также трафик, создаваемый пользователями при осуществлении
доступа к ресурсам доменов, расположенных в иных областях.
Глава 23. Служба Active Directory
801
Другой фактор, который может оказать влияние на решение о создании
отдельных доменов, заключается в языке, используемом в каждой из областей.
Если организация имеет области в разных странах и пользуется родным
языком этих стран, то можно рекомендовать создать для каждой страны
отдельный домен, в особенности, если области расположены в странах,
которые работают не с латинским алфавитом, такие как Япония или Россия.
Присваивание объектам имен
Один из наиболее важных элементов плана службы каталогов — это
соглашение, которое будет использоваться при присваивании имен объектам в
базе данных и доменах, формирующих сеть. Схема дерева AD может быть
основана на нескольких различных критериях, включая географическое
расположение сетевых ресурсов и политическое деление внутри организации,
однако вне зависимости от выбранного принципа представления сети в
схеме AD он должен согласоваться с именами объектов.
Имена объектов пользователей, например, должны получаться из
стандартизированного шаблона, применяемого к именам пользователей, такого как
первый инициал плюс фамилия. Похожим образом домены и контейнеры,
получающие имена согласно географическому расположению или
административному делению, должны использовать стандартизированные
аббревиатуры. Такое соответствие делает более простым поиск определенного объекта
в глобальном каталоге.
Определение месторасположения ресурсов в сети Windows 2000 по
сравнению с Windows NT является более сложной задачей, ТМ Йак служба
каталогов разработана для поддержки сетей почти неограниченного размера.
В Windows NT каждый домен представляет собой отдельный элемент и не
существует механизма для выполнения глобального поиска определенного
ресурса. Присваивание объектам имен может носить более неформальный
характер, так как вероятнее всего, что пользователи и администраторы
близко знакомы с конфигурацией домена. С другой стороны, глобальный
каталог Active Directory может содержать информацию о тысячах объектов,
расположенных в любом месте мира, и шанс успешно найти необходимые
данные может быть значительно увеличен применением для всего каталога
последовательной политики присвоения имен.
Когда дело касается присваивания имен доменам и деревьям, важным
решением, которое необходимо принять, является то, будет ли для внутренних
сетевых ресурсов и внешних ресурсов, которые видны из Интернета,
использоваться одно пространство имен. Регистрация одного доменного
имени для организации в регистрационной фирме подобной Network Solutions,
Inc. и использование его для серверов Интернета, а также в качестве
доменного имени корня дерева AD, создает для сети унифицированное
пространство имен и имеет как преимущества, так и недостатки.
802
Часть VI. Сетевые службы каталогов
Важно помнить, что средний пользователь сети намного меньше знаком с
инфраструктурой сети, чем средний администратор. Использование одного
доменного имени корня обеспечивает постоянство, которое делает сеть
проще для понимания пользователями, а также позволяет им применять
свои адреса электронной почты Интернета в качестве UPN. Недостатком
работы в одном пространстве имен является то, что может быть трудно
отличить внутренние ресурсы от внешних, а система становится существенно
менее защищена, если доменные имена общеизвестны в Интернете.
Переход с Windows NT
В большинстве случаев Windows 2000 может быть установлена в существующей
сети Windows NT, а служба каталогов, основанная на доменах, может быть
модернизирована до Active Directory. Windows 2000 и AD способны
взаимодействовать с системами NT на постоянной или временной основе, поэтому нет
необходимости модернизировать всю сеть за один выходной день. Тем не менее,
как и при установке новой сети Windows 2000, для того чтобы процесс
модернизации прошел гладко, он должен быть тщательно спланирован.
[^ Примечание ^
Данный раздел подразумевает, что обновляемые до Windows 2000 системы NT
работают под управлением Windows NT 4.0. Ряд существенных различий в
методах аутентификации Windows 2000 и Windows NT версии 3.51, а также более
ранних версий, привел к появлению рекомендации от Microsoft не использовать
эти системы вместе.
Во время создания домена Active Directory, Installation Wizard (Мастер
установки) запрашивает помимо DNS-имени домена еще и его имя NetBIOS.
По умолчанию мастер создает имя NetBIOS, отбрасывая от предложенного
для домена DNS-имени часть .com или любой другой суффикс. Клиентские
системы нижних уровней (то есть клиенты, на которых запущена не
Windows 2000) будут видеть домен, использующий имя NetBIOS, вместо
полного DNS-имени.
Основой плана перехода сети NT на Windows 2000 является первоочередная
модернизация главных контроллеров домена, а уже затем резервных
контроллеров, обычных серверов и в самом конце клиентов. Этот процесс
можно растянуть на сколь угодно долгое время, серверы NT и 2000 могут
работать вместе неограниченный срок. Когда главный контроллер домена с
Windows NT 4.0 переходит на Windows 2000 и производится в контроллеры
домена, система работает в смешанном режиме. Это означает, что она может
использовать резервные контроллеры модернизируемого домена в качестве
контроллеров домена Active Directory. В смешанном режиме резервные
контроллеры домена Windows NT 4.0 работают как полнофункциональные
контроллеры домена Active Directory, способные к выполнению репликации со
Глава 23. Служба Active Directory
803
множеством мастеров и всех других функций AD. После того как резервные
контроллеры модернизированы в контроллеры домена Active Directory,
серверы можно переключить в "родной" режим из диалогового окна свойств
домена в служебной программе Active Directory Domains and Trusts
(рис. 23.7). Возврат в смешанный режим работы характеризуется тем, что в
этом режиме нет возможности включать группы в другие группы и иметь
группы с членами из разных доменов. Если же осуществлен переход в
"родной" режим, то присутствуют обе эти возможности.
zacker.com Properties
General | Trusts | Managed By)
zacker.com
Domain name (pre-Windows 2000):
Description:
Domain operation mode:
Mixed mode (supports both Windows 2000 and pre-Windows 2000 domain
controllers).
Domain mode
is
To change the domain to native mode, dick Change Mode.
This operation cannot be reversed. For more information about
domain modes, see Help.
Change Mode
OK
Cancel
Рис. 23.7. Диалоговое окно
со свойствами домена
утилиты Active Directory
Domains and Trusts
E^ Примечание ^jj
Переход из смешанного режима в "родной" режим работы является
односторонним процессом. Если сервер осуществил этот переход, то его нельзя
переключить обратно в смешанный режим без полной переустановки операционной
системы. Прежде чем произвести это изменение, необходимо убедиться, что
все модернизируемые контроллеры домена работают правильно.
Если сеть NT сравнительно простая и базируется на модели одного домена,
миграция на Active Directory заключается в простом переводе систем на
Windows 2000 в порядке, описанном ранее. Однако многие сети значительно
более сложны и для них требуется дальнейшее планирование. Если сеть
использует модель с одним главным доменом, то существует один домен
учетных записей, содержащий всех пользователей и все группы, и один или не-
804
Часть VI. Сетевые службы каталогов
сколько ресурсных доменов, которые включают все совместно используемые
ресурсы сети. Такая модель вписывается в одно дерево Active Directory,
которое способно или не способно включать практически все исходные
домены. Например, можно объединить дерево в один домен, в котором
ресурсные домены будут преобразованы в организационные единицы исходного
домена учетных записей, или даже переместить объекты ресурсов прямо в
домен-учетных записей без разделения их на организационные единицы.
Если таким образом некоторые домены будут устранены, некоторые из
серверов можно переориентировать на создание дополнительных реплик других
доменов или понизить их до обычных серверов.
Одна из первоначальных целей использования в Windows NT модели с
одним главным доменом заключается в ограничении числа доверительных
отношений, которые администратор должен создать и поддерживать. В этой
модели каждый из ресурсных доменов имеет однонаправленные
доверительные отношения с доменом учетных записей. В доверительных
отношениях между ресурсными доменами нет необходимости. В Active Directory
доверительные отношения между доменами создаются автоматически,
поэтому создание и поддержка этих отношений не является проблемой.
Домены NT можно объединить до перехода к AD или после, но вероятно, что
после обновления серверов это можно будет сделать более просто при
помощи средств управления Active Directory.
Чтобы начать миграцию к Active Directory, необходимо в первую очередь
модернизировать главный контроллер домена учетных записей, который
станет корневым доменом нового дерева AD. Затем следует обновить
главные контроллеры ресурсных доменов, сделав их дочерними по отношению к
корневому домену. После того как модернизация главных контроллеров
доменов завершена, можно приступать к переводу на Windows 2000 резервных
контроллеров всех доменов, а затем изменить структуру дерева, чтобы
получить преимущества от возможностей AD.
Если сеть NT использует модель с множеством главных доменов, то прежде
чем выбрать стратегию перехода, необходимо рассмотреть причины, по
которым была принята эта модель. В модели с множеством главных доменов
существует два или больше домена учетных записей, соединенных
двусторонними доверительными отношениями, и некоторое количество ресурсных
доменов, каждый из которых доверяет всем доменам учетных записей.
В некоторых случаях эта модель применяется просто для поддержки
большого количества пользователей, которое не может быть умещено в один
домен учетных записей. В других случаях множество главных доменов
необходимо из-за децентрализованной системы поддержки, при которой сеть
разделена на области или подразделения и в каждом из них существует свой
администратор сети.
Если решающим фактором является количество пользователей, то домен
Active Directory может поддерживать намного больше пользователей, чем
Глава 23. Служба Active Directory
805
домен NT, и удачным решением может быть объединение всех доменов
учетных записей в один или создание целиком новой службы каталогов.
Если для доменов существуют отдельные службы поддержки, то можно создать
Active Directory с несколькими деревьями и доменами учетных записей в
качестве корневых доменов для отдельных деревьев. И снова нет
необходимости строить каталог вокруг задачи создания доверительных отношений
вручную, так как в AD они устанавливаются автоматически.
После того как решение относительно структуры принято, процесс
модернизации будет приблизительно таким же, как для модели сети с одним
главным доменом. Сначала обновляются главные контроллеры доменов
учетных записей, при этом либо один из доменов выбирается на роль
корневого домена дерева, либо для каждого домена учетных записей создается
новое дерево, затем обновляются резервные контроллеры.
Х^ Примечание ^Д
Для получения более подробной информации о моделях доменов Windows NT
см. главу 22.
Управление Active Directory
После того как установка Active Directory разработана и осуществлена, самое
время поближе познакомиться с объектами. Создание и управление учетными
записями пользователей и групп является повседневной задачей
администратора типичной сети, и в Windows 2000 это можно сдёпШ&Щук помощи
консоли Active Directory Users and Computers, как показано tid рис. 23.8. Подобно
большинству оснасток Microsoft Management Console (ММС), утилита Users
and Computers состоит из панели обзора (слева) и панели результатов (справа).
В данном случае панель обзора отображает домены в дереве и
организационные единицы в каждом домене, а панель результатов — объекты в выделенном
контейнере, такие как пользователи и группы.
4е Active Directory Users and Computers
^ Console Window Help
Action View О • Й [ЦТ] [g1 [?| Щ \S
Tree I
шш
JiU
>й 23 Ш v <з
zacker.com 4 objects
[^ Active Directory Users and Computers [CZ2.racker.com]
-' -3^1ШШЕЭЙ1
_J Builtin
О Computers
:■■■ Щ Domain Controllers
;•■•■■£] Users
Name
«jBuiltin
1 Computers
л£] Domain Controllers
_JUsers
| Type | Description |
builtinDomarn
Container Default container for upgr...
Organizational Unit Default container for new ...
Container Default container for upgr...
Рис. 23.8- Консоль Active Directory Users and Computers
806
Часть VI. Сетевые службы каталогов
По умолчанию домены Active Directory содержат четыре контейнерных
объекта, перечисленные ниже.
□ Builtin (Встроенные группы). Содержит различные встроенные группы,
используемые для предоставления полномочий по выполнению задач
администрирования системы.
□ Computers (Компьютеры). Содержит объекты-компьютеры, которые
представляют учетные записи для машин, являющихся членами домена.
□ Domain Controllers (Контроллеры домена). Содержит
объекты-компьютеры, представляющие серверы, которые выполняют функции
контроллеров для выбранного домена.
□ Users (Пользователи). Содержит объекты пользователей домена,
создаваемые по умолчанию, такие как учетные записи Administrator и Guest, и
объекты групп, используемые для делегирования полномочий по
выполнению задач администрирования системы.
Можно использовать эти уже существующие контейнеры, добавляя свои
собственные учетные записи пользователей в контейнер Users, или можно
создать свою иерархию организационных единиц и разместить в ней
необходимые объекты. Одно из значительных отличий между созданием
объектов пользователей в Active Directory и в Windows NT заключается в
количестве информации, которое могут хранить объекты AD. Как можно видеть на
рис. 23.9, диалоговое окно свойств для каждого объекта пользователя имеет
12 вкладок, которые могут быть использованы для предоставления
информации о пользователе.
Member Of | Dial-in f Environment j Sessions j
Remote control j Terminal Services Profile ] j
General | Address | Account J Profile j Telephones j Organization j
^j Administrator
First name: | """ '" Initials: j
Last name: J
Display name: j
Description: jBuflt-in account for administering the computer/donu
Office: 1
Telephone number: j Other... J
E-mail: j ~
Web page: I Other... j
| OK | Cancel [
Рис. 23.9. Диалоговое окно
свойств объекта пользователя
Глава 23. Служба Active Directory
807
Для большинства администраторов первым порывом будет желание
пропустить все эти информационные экраны и поля, и задать значения только тех
атрибутов, которые являются обязательными для правильного
функционирования объекта. Однако следует дважды подумать, прежде чем сделать
это, в особенности, если сеть имеет большие размеры. Одно из основных
преимуществ Active Directory заключается в возможности поиска объектов,
основанного на значениях определенных атрибутов, по всей базе данных.
Возьмем, например, большую корпорацию с офисами во многих городах.
Вероятно, в организации существует кто-либо, отвечающий за составление и
публикацию справочника, в котором перечислены все служащие и
необходимая информация о них, такая как номера телефонов и адреса
электронной почты. Если потратить время на то, чтобы включить для каждого
создаваемого объекта пользователя номер телефона и адрес электронной почты, то
в итоге это может исключить потребность в поддержании подобного
справочника за счет того, что пользователи сами смогут осуществлять поиск телефона
служащего в Active Directory. Это только один пример, как Active Directory
может стать основным источником информации о сети и эксплуатирующих
ее людях.
Selected users and groups:
S John Doe (jdoe@zacker.com)
S Craig Zacker (craigz@zacker.comJ
S Jane Smithee (jsmithee@zacker.com)
Add.. Remove
<Back | Next> \ Cancel
Рис. 23.10. Окно мастера Active Directory Delegation of Control Wizard
Так как служба каталогов Active Directory разработана для поддержки сетей
почти любого размера, предполагается, что за весь каталог будет отвечать не
один администратор. Более вероятна ситуация, когда определенные задачи
808
Часть VI. Сетевые службы каталогов
администрирования окажутся делегированы множеству сотрудников, не все
из которых будут обладать административными правами на всю службу
каталогов. Чтобы сделать это возможным, Windows 2000 включает мастера
Delegation of Control Wizard, который позволяет предоставлять
пользователям определенные административные права на управление указанными
пользователями и группами. Таким образом, можно позволить менеджерам
и супервизорам управлять учетными записями подчиненных им служащих,
не подвергая опасности другие части дерева каталога. После того, как
выбраны группы и пользователи, которыми будет позволено управлять, а также
пользователь, осуществляющий это управление, при помощи диалогового
окна, показанного на рис. 23.10, необходимо определить задачи,
возлагаемые на этого пользователя.
ЧАСТЬ VII.
СЕТЕВЫЕ
СЛУЖБЫ
Глава 24
Развертывание серверов
Интернета
В свое время, термин "сервер" в компьютерных сетевых технологиях
использовался практически только в значении "файловый сервер" и применялся
при ссылке на компьютер с сетевой операционной системой, например,
Novell NetWare, разрешавший пользователям осуществлять доступ к файлам
и принтерам совместного использования. Однако быстрый рост размеров
сети Интернет, появление операционной системы Windows NT, быстро
ставшей наиболее популярной сетевой операционной системой,
существенно изменили основное значение этого понятия. Для типичного пользователя
сети Интернет серверы представляют собой невидимые системы, где
размещены сайты World Wide Web (WWW) и FTP-сайты или же системы,
позволяющие отправлять или получать электронную почту. Для пользователей
локальных сетей серверы по-прежнему выполняют свои обычные роли,
связанные с совместным использованием файлов и принтеров, а также
обеспечивают ряд функций, имеющих отношение к приложениям, например,
доступ к базам данных. Таким образом, постепенно люди осознают, что сервер
представляет собой скорее программную, а не аппаратную сущность, и один
компьютер может одновременно выполнять роли множества серверов.
Серверы Интернета представляют собой программные продукты,
предоставляющие клиентам традиционные услуги глобальной сети, независимо от
того, подключены ли эти клиенты к сети Интернет в действительности или
нет. Web, FTP и электронная почта являются службами, которые одинаково
полезны как в ЛВС, так и в Интернете, поэтому многие сайты
поддерживают их по совершенно различным причинам. Данная глава рассматривает
технологии, стоящие за указанными службами, и процедуры, необходимые
для их реализации в сети.
Web-серверы
Web очень быстро становится повсеместным средством реализации бизнес-
операций, образования и отдыха. Складывается впечатление, что
практически каждая компания в наши дни имеет собственный Web-сайт.
Компоненты, необходимые для построения Web-сайта и получения доступа к нему,
812
Часть VII. Сетевые службы
интегрированы в большинство сетевых операционных систем. Основные
"строительные блоки" для Web перечислены ниже.
□ Web-серверы. Компьютеры, исполняющие программы для обработки
клиентских запросов к ресурсам.
□ Браузеры. Клиентские программы, генерирующие запросы к ресурсам и
направляющие их Web-серверам.
□ Протокол передачи гипертекстовых файлов (HTTP, Hypertext Transfer
Protocol). Протокол прикладного уровня из набора TCP/IP,
используемый серверами и браузерами для взаимодействия друг с другом.
□ Язык разметки гипертекста (HTML, Hypertext Markup Language). Язык
программирования, применяемый для создания Web-страниц.
Зачем нужны собственные Web-серверы?
Большинство организаций и частных лиц с собственными Web-сайтами
используют поставщиков услуг Интернета или другие внешние средства для
размещения своих сайтов. Многие из Интернет-провайдеров предлагают
бесплатное размещение сайта клиента вместе с подпиской на свои услуги по
обеспечению доступа к глобальной сети. Организации, имеющие более
сложные сайты, обычно ведут дела с теми поставщиками Web-услуг,
которые могут обеспечить более широкий спектр сервисов. Однако существует
несколько причин, по которым может возникнуть желание создать один или
несколько Web-серверов, размещенных в корпоративной сети.
Первая из этих причин заключается в развитии Web-сайта. Если Web-сайты
создаются собственными силами, то ничто не заменит их тестирование и
отладку на "живом" Web-сервере. Несмотря на то, что HTML-файлы можно
открывать с локального диска, добиться правильного функционирования
ссылок между страницами можно только с помощью Web-сервера. Кроме
того, если на сайте предполагается использовать скрипты, приложения и
другие современные технологии, то для их тестирования обязательно
потребуется сервер.
Другая причина для организации собственного Web-сервера состоит в
возможности организации интранета. Термин интранет (intranet) определяет
сеть, основанную на протоколе TCP/IP, доступ к которой имеет только
определенная группа пользователей, но в повседневном применении под
сетью интранет обычно подразумевается Web-сайт, функционирующий в
частной сети. Интранет представляет собой удобный инструмент, с помощью
которого можно публиковать информацию для пользователей сети в самых
различных формах. Стандартные Web-страницы способны отображать
документы в очень удобной для чтения форме, но Web-сервер можно также
использовать для создания библиотеки файлов, хранящихся в сети.
Глава 24. Развертывание серверов Интернета
813
Диски совместного использования являются отличным способом обеспечить
доступ пользователей к файлам, но часто пользователи испытывают
сложности с поиском точного расположения необходимой информации. Простой
текстовый Web-сайт в рамках интранет может показать все доступные
файлы с их краткими описаниями, а также позволит пользователям загружать
их на свои рабочие станции посредством применения стандартных
гиперссылок. Так как интранет, используемый подобным образом, представляет
собой среду только для чтения, отсутствует опасность случайного удаления
или повреждения файлов. Кроме базового доступа к документам и файлам,
интранет может служить платформой для разработки всевозможных Web-
приложений, которые смогут обеспечить доступ к базам данных и другим
ресурсам с помощью браузеров в качестве клиентов.
В ходе этой дискуссии неизбежно возникает вопрос о том, стоит ли, имея в
своей сети Web-сервер, организовывать собственный Web-сайт. Конечно,
можно создать свой Web-сайт, но существует несколько других факторов,
которые следует учесть перед принятием подобного решения. Web-сервер
представляет лишь малую часть того, что необходимо для правильной
организации собственного Web-сайта. Кроме самого сервера первостепенное
значение также имеет пропускная способность, которая будет затрачиваться
на трафик Web, а также способность инфраструктуры сети противостоять
сбоям программного и аппаратного обеспечения. Наконец, безопасность сети
тоже крайне важна. В зависимости от сферы бизнеса и цели создания Web-
сайта, значимость первых двух моментов может быть сведена к минимуму,
однако на безопасность сети следует обращать внимание в любом случае.
Для создания успешного и профессионального Web-сайта сеть обязана
иметь возможность справляться с трафиком, создаваемым постоянным
доступом пользователей, а сервер должен быть постоянно доступен. Например,
если пользователи сети применяют для выхода в сеть Интернет тот же канал
связи, что и Web-сервер, то в периоды пиковой активности соединений
пользователей сети с Интернетом пропускная способность канала,
доступная Web-серверу, будет значительно уменьшаться. Следует убедиться в том,
что пропускная способность канала достаточна для одновременной
поддержки не только "внутренних" пользователей сети Интернет, но и трафика
Интернет-сервера, либо установить отдельный канал связи для Web-сервера.
Поставщики услуг Интернета обычно имеют значительную пропускную
способность для своих серверов, а также, как правило, предоставляют
избыточные соединения с глобальной сетью. Ничто не способно настолько
расстроить потенциального покупателя, как слишком медленный или
недоступный Web-сайт. Это, прежде всего, создает впечатление, что компания
недооценивает важность сети Интернет или ей вообще все безразлично, и
любая из этих ситуаций приводит к намного худшим последствиям, чем
вообще полное отсутствие Web-сайта. Интернет-провайдеры обычно тоже
имеют механизмы обеспечения отказоустойчивости для собственных Web-
814
Часть VII. Сетевые службы
серверов, такие как зеркальные диски, RAID-массивы, резервные
источники питания и другие технологии. Конечно, ничто не мешает иметь
собственные подобные вещи, но многие фирмы еще не готовы нести чрезмерные
расходы на содержание собственного Web-сервера.
Безопасность также представляет один из важнейших моментов.
Компьютер, доступный из сети Интернет, будет являться шлюзом для
потенциального несанкционированного вторжения во внутреннюю сеть. Большинство
ЛВС используют нерегистрируемые IP-адреса, что делает их невидимыми
для пользователей сети Интернет, но адрес Web-сервера обязательно должен
быть зарегистрированным, чтобы обеспечить возможность соединения с
ним пользователей сети Интернет. Большинство администраторов сетей,
имеющих собственные Web-серверы, размещают их на "краю" сети, то есть в
отдельной ЛВС, изолированной от незарегистрированных рабочих станций,
и используют брандмауэры (firewall), чтобы предотвратить доступ к серверам
извне посредством протокола и порта, отличных от предписанных.
Выбор Web-сервера
На самом деле Web-сервер является достаточно простым устройством. Когда
на экране своего монитора вы видите сложные страницы, заполненные
красивой графикой и текстом, то в большей степени это является результатом
работы всевозможных дизайнеров Web-страниц и механизмов браузера,
нежели Web-сервера. Упрощенно Web-сервер представляет собой специальную
программу, обрабатывающую запросы браузеров и предоставляющую
специфические файлы обратно браузерам. Сервер не считывает содержимое
этих файлов и не участвует в процессе визуализации, определяющем то, как
браузер будет демонстрировать Web-страницу. Различия между версиями
Web-серверов в основном заключаются в наборе дополнительных
возможностей и способности справляться с большим количеством запросов.
Платформы Web-серверов
Web-сервер совсем не обязательно должен быть большим и дорогим
компьютером. В зависимости от требований, предъявляемых к серверу, возможно
существование Web-сервера на любом персональном компьютере, от самой
обыкновенной системы на базе Windows 98 до профессиональной рабочей
станции с ОС UNIX. Многие из наиболее популярных версий программного
обеспечения для Web-сервера распространяются бесплатно, например,
Internet Information Server, (IIS, Информационный сервер Интернета) и
Personal Web Server (Персональный сервер Интернета) от Microsoft или Web-
сервер Apache для UNIX и Windows NT, в то время как другие могут стоить
очень дорого. Компьютерная платформа, на которой работает Web-сервер,
обычно никак не сказывается на возможности его соединения с клиентами.
Любой браузер может установить соединение с произвольным сервером, не-
Глава 24. Развертывание серверов Интернета
815
смотря на то, что некоторые технологии разработки Web-сайтов и являются
специфическими для платформ.
Например, Active Server Pages (ASP) — это технология, созданная фирмой
Microsoft, которая требует (и это совсем не удивительно) использования
компьютера с операционной системой Windows NT или Windows 2000 для
размещения сайта, хотя любой браузер сможет демонстрировать
получающиеся при этом страницы. Microsoft FrontPage представляет собой редактор
Web-страниц, работающий по принципу WYSIWYG (Что видишь, то и
получишь), который требует для своей деятельности наличия Windows-
системы, но способен загружать получающиеся страницы на удаленный
компьютер с любой платформой, применяя для этого модули расширения
сервера (они поставляются вместе с продуктом).
Программные продукты для организации Web-сервера доступны для всех
платформ персональных компьютеров, включая Windows 9x, Windows NT/2000,
NetWare и различные варианты UNIX. При этом операционные системы
Windows 9x в качестве платформ для Web-серверов годятся только для
разработки и незначительного внутреннего применения в ЛВС, и обычно не
подходят для использования в качестве Интернет-сервера. Операционная система
Windows 98 включает программу под названием Personal Web Server, которая
обеспечивает базовые возможности, весьма полезные для персонального
применения. В некоторых организациях отдельные пользователи или
подразделения применяют данную комбинацию программного обеспечения для
создания небольших интранет-сайтов, позволяющих улучшить обмен
информацией между коллегами.
Как Windows NT Workstation 4.0, так и Windows NT 4.0 Server включают
версию Web-сервера. В состав Windows NT Server входит Internet Information
Server (IIS), а версия Windows NT Workstation снабжена Microsoft Peer Web
Services (PWS). Как и в случае с самими операционными системами
Windows NT Workstation и Windows NT Server, данные службы Web
представляют в своей основе один и тот же продукт, за небольшим исключением. Оно
состоит только в том, что IIS имеет ряд дополнительных возможностей и
разработан для поддержки неограниченного числа соединений, в то время
как PWS обеспечивает только базовые функциональные возможности и
может поддерживать лишь десять соединений. Таким образом, использование
PWS, как и Personal Web Server из Windows Эх обычно ограничено только
ЛВС. С другой стороны, также существует программное обеспечение для
организации Web-серверов от независимых разработчиков, призванное
обеспечить более широкую функциональность рабочим станциям на базе
Windows NT, например WebSite Professional от O'Reilly.
^ Примечание jj
Во время подготовки выпуска Windows NT Workstation 4.0 в 1996 году, бета-
тестеры яростно протестовали против объявления фирмы Microsoft о том, что
816
Часть VII. Сетевые службы
установленный ею лимит в десять клиентских соединений для рабочей станции
Windows NT будет действовать не только для ЛВС на базе Windows, но также и
для TCP-клиентов в сети Интернет. Это означало бы, что использование
рабочей станции Windows NT в качестве Интернет-сервера будет нарушением
лицензионного соглашения, если более десяти пользователей одновременно
установят с ним соединения. В это же время некоторые популярные независимые
разработчики Web-серверов стали рекомендовать операционную систему
NT Workstation в качестве платформы для своих программных продуктов. Это
позволяло их программному обеспечению составлять экономическую
конкуренцию серверу IIS, так как стоимость Web-серверов от независимых
разработчиков оказалась сопоставима с дополнительными затратами на
приобретение операционной системы Windows NT Server, которая была необходима для
работы IIS. В конце концов, фирма Microsoft "сдалась" в ходе этой борьбы и
легализовала использование рабочей станции Windows NT в качестве Web-
сервера в сети Интернет.
Internet Information Server представляет собой программное обеспечение
фирмы Microsoft для полнофункционального Web-сервера, который, как и
все Web-серверы Microsoft, распространяется бесплатно. Оригинальная
версия Windows NT 4.0 Server содержит версию IIS под номером 2, однако
последняя версия, IIS 4, доступна как часть Windows NT Server Option Pack (по адресу
WA\w.microsoft.com/nt5erver/nts/dow^oads/recommended/NT40ptPk). Комбинация
IIS 4 и Windows NT Server 4.0 является одной из наиболее популярных
платформ для серверов Web. Windows NT обеспечивает гибкость и систему
безопасности, необходимые для поддержки большого числа пользователей, a IIS
включает широкий набор дополнительных возможностей и сервисов,
позволяющий создавать самые современные сложнейшие Web-сайты.
Роль операционной системы Windows в качестве платформы для Web-
серверов в последнее время очень быстро возрастает, в основном из-за
простоты установки и администрирования. Все Web-серверы от Microsoft имеют
графические утилиты конфигурирования. С другой стороны, первоначально
платформой для разработки Web-серверов являлась операционная система
UNIX, и она по-прежнему используется большинством Web-сайтов в
Интернете. Наиболее популярным Web-сервером для UNIX является Apache,
свободно распространяемая программа, которая была разработана на основе
оригинального HTTPD-сервера, созданного NCSA (National Computational
Science Alliance). Название "Apache" сформировалось в связи с тем, что этот
сервер использовал HTTPD-код плюс коллекцию патчей (patch), которая
превращала его в "сервер из патчей" ("a patchy server").
Apache представляет собой прекрасный пример открытого программного
средства. Исходный код программы Apache бесплатно доступен всем
желающим (по адресу http://www.apache.org) и поддерживается неформальной
группой программистов, большинство из которых общаются только по
электронной почте или через сетевые конференции и никогда не видели друг
друга. Для основного сервера также доступны многочисленные
дополнительные модули, обеспечивающие более развитые возможности, такие как
Глава 24. Развертывание серверов Интернета
817
поддержка различных типов скриптов и аутентификационных опций.
Программисты, создающие новые модули или совершенствующие уже
существующие, обычно выставляют результаты своей работы на общедоступные
серверы для бесплатного использования всеми желающими.
Так как сервер Apache не является коммерческим продуктом и его исходный
код бесплатно доступен, он намного более гибок, чем любой из
Web-серверов для Windows. В мире UNIX существует правило: если тебе не
нравится, как работает какой-либо фрагмент программного обеспечения, то никто
не мешает тебе изменить его по собственному усмотрению. Однако совсем
не удивительно, что, с точки зрения дружественности по отношению к
пользователю, Apache нельзя даже близко поставить с сервером для
Windows. Это подразумевает, что администратор сервера будет испытывать
намного меньше сложностей в использовании Apache, если он обладает
набором навыков программиста для изменения исходного кода сервера. С другой
стороны, существуют откомпилированные версии этого сервера для более чем
20 различных вариантов UNIX, а также Windows NT и Macintosh, поэтому
даже непрограммисты могут устанавливать и запускать данное программное
обеспечение. Хотя операционная система UNIX и не настолько дружественна
для пользователя, как Windows, она считается все-таки более стабильной
серверной платформой, при этом различные варианты ОС UNIX могут работать
на чем угодно, от стандартного персонального компьютера на базе процессора
Intel до рабочих станций невиданной производительности.
Несмотря на то, что операционные системы UNIX и Windows NT
используются для подавляющего большинства Web-серверов, подобные продукты
также существуют и для других платформ, таких как NetWare или Macintosh.
Операционная система intraNetWare фирмы Novell явилась первым
вариантом ОС, который включал Novell Web Server. Но с тех пор он был вытеснен
Netscape FastTrack Server, вошедшим в версии NetWare 4.2 и 5.x.
Операционные системы Macintosh не имеют собственного Web-сервера, однако
независимыми разработчиками созданы соответствующие программные
продукты, например, WebStar от StarNine Software.
Функции Web-сервера
Web-сервер представляет собой программу, исполняемую компьютером в
фоновом режиме, которая прослушивает определенный порт TCP на
предмет входящих запросов. Программы данного типа в разных операционных
системах имеют различные имена. В Windows NT они носят названия
сервисов (service), в UNIX-системах — демонов (daemon), в NetWare —
загружаемых модулей (NLM, NetWare Loadable Module). Номер стандартного порта
TCP для HTTP-сервера — 80, хотя большинство серверов предоставляют
возможность задать номер другого порта для использования сайтом, а также
выбрать номер порта для интерфейса, через который будет осуществляться
администрирование сервера. Для доступа к Web-серверу через другой порт
необходимо указать номер этого порта в качестве части URL.
818 Часть VII. Сетевые службы
Унифицированный указатель информационного ресурса
Формат унифицированного указателя информационного ресурса (URL,
Uniform Resource Locator), который набирается в поле адреса Web-браузера,
чтобы получить доступ к какому-либо Web-сайту, определяется документом
RFC 1738, опубликованным рабочей группой инженеров Интернета (IETF).
URL состоит из четырех элементов, идентифицирующих ресурс, к которому
необходимо получить доступ.
□ Протокол (Protocol). Задает протокол прикладного уровня, который
браузер будет использовать для соединения с сервером. Значения,
определяемые стандартом URL, таковы (остальные описываются дополнительными
стандартами, опубликованными после RFC 1738):
http — протокол передачи гипертекстовых файлов (Hypertext Transfer
Protocol);
ftp — протокол передачи файлов (File Transfer Protocol);
gopher — протокол Gopher;
mailto — адрес электронной почты;
news — новости USENET;
nntp — новости USENET с использованием сетевого протокола
передачи новостей NNTP (Network News Transfer Protocol);
telnet — ссылка на интерактивную сессию;
wais — глобальный информационный сервер WAIS (Wide Area
Information Servers);
file — имена файлов, специфические для хоста;
prospero — служба каталогов Prospero Directory Service.
□ Имя сервера (Server name). Определяет DNS-имя или IP-адрес сервера.
□ Номер порта (Port number). Указывает номер порта, прослушиваемого
сервером на предмет входящего трафика.
□ Каталог и файл (Directory and file). Идентифицирует расположение
файла, который сервер должен отправить браузеру.
Формат URL выглядит следующим образом:
протокол://DNS-имя:порт/каталог/имя файла.html
Чаще всего пользователи не указывают в своих URL протокол, порт, каталог и
файл, браузер использует их значения по умолчанию. Когда в строку адреса
вводится только DNS-имя, например, www.zacker.com, браузер подразумевает
использование протокола HTTP, порта 80 и основного каталога Web-сервера.
В полностью развернутом виде это будет выглядеть примерно так:
http://www.zacker.com:80/index.html
Глава 24. Развертывание серверов Интернета
819
Единственным элементом, который может меняться в зависимости от
конкретного сервера, остается имя по умолчанию начальной Web-страницы, в
данном случае обозначенное как index.html. Имя файла по умолчанию
конфигурируется для каждого сервера и определяет файл, который сервер
отправит в ответ на запрос браузера, если в URL не задано вообще никакого
имени файла. Традиционное имя файла по умолчанию для систем UNIX —
index.html, для Web-серверов Microsoft — default.htm.
Если вы конфигурируете Web-сервер для использования порта с номером,
отличным от 80, то пользователи обязаны указывать номер порта как часть
URL. Большинство пользователей Web вообще не имеют представления
даже о существовании портов, поэтому применение нестандартных номеров
портов встречается относительно редко. Основное исключение из этого
правила составляют случаи, когда администратор желает создать сайт, который
будет скрыт от обычного пользователя. Некоторые Web-серверы имеют
возможность изменения своих настроек при помощи Web-браузера, и сервер,
по сути, создает административный сайт, содержащий элементы управления
конфигурацией программы. Во время инсталляции программного
обеспечения программа приглашает администратора задать номер порта, который
будет использоваться для административного сайта. Таким образом, просто
указание имени Web-сервера в окне браузера откроет сайт по умолчанию с
использованием порта 80, но указание имени сервера с ранее заданным
портом позволит получить доступ к административному сайту.
Использование нестандартного номера порта фактически не является мерой
безопасности, так как существуют программы, позволяющие отслеживать
номера портов, используемых конкретным Web-сервером.
Административный сайт сервера обычно имеет систему безопасности в виде
аутентификации пользователя. Номер порта является мерой, предпринимаемой только
для сокрытия этого сайта от глаз любопытных пользователей.
CG!
Большая часть трафика, генерируемого при работе Web, направляется от
Web-серверов к Web-браузерам. Трафик, исходящий от браузера, состоит в
основном из HTTP-запросов на определенные файлы. Однако существуют и
другие механизмы, с помощью которых браузеры могут предоставлять
серверам информацию иных типов. Затем сервер может передать эту
информацию для обработки какому-либо приложению. CGI (Common Gateway
Interface, интерфейс общего шлюза) представляет собой наиболее широко
поддерживаемый механизм данного типа. В большинстве случаев
пользователь вносит информацию в форму, встроенную в Web-страницу с
использованием стандартных тэгов HTML, а потом предлагает эту форму серверу.
Сервер, получив данные от браузера, выполняет CGI-скрипт,
определяющий то, как должна будет использоваться эта информация. Сервер может
направить ее серверу базы данных в качестве запроса, использовать для про-
820
Часть VII. Сетевые службы
ведения финансовой транзакции в онлайновом режиме или обработать
каким-либо иным способом.
Регистрация информации
Практически любой Web-сервер имеет возможность вести журналы
регистрации, в которых фиксируется доступ всех клиентов к сайту и любые ошибки,
возникающие при этом. Журналы регистрации обычно принимают форму
текстовых файлов, где каждый запрос на доступ к сайту или появившаяся
ошибка отображаются в виде отдельных строк. Каждая строка состоит из
многочисленных полей, разделенных пробелами или запятыми. В
информации, регистрируемой сервером, содержится идентификатор того, кто пытался
получить доступ к сайту, время, когда это происходило, а также перечислены
все документы, отправленные сервером клиенту. В принципе администраторы
могут изучать содержимое журналов регистрации даже в их исходном
формате, чтобы получить какую-либо информацию об использовании сайта,
например, какие из страниц посещаются наиболее часто. Кроме того, существует
большое число статистических программ независимых разработчиков,
например, WebTrends (www.webtrends.com), которые используют информацию
регистрационных файлов в качестве входных данных и создают подробные отчеты,
иллюстрирующие общие тенденции и модели трафика.
Большинство Web-серверов позволяют администратору выбирать между
несколькими форматами для журналов регистрации, которые ими ведутся.
Некоторые серверы применяют регистрационные журналы собственных
форматов, которые обычно не поддерживаются статистическими программами,
в то время как другие серверы могут иметь возможность импортировать
информацию журналов регистрации во внешнюю базу данных через интерфейс
ODBC (Open DataBase Connectivity, открытый интерфейс доступа к базам
данных) или другие аналогичные интерфейсы. Несмотря на это,
большинство серверов поддерживают формат Common Log File (обычный журнал),
разработанный NCSA. Этот формат предполагает наличие только
однострочных записей с полями, разделенными пробелами. Формат для каждой
строки файла этого типа и функции полей записи приведен ниже.
remotehost logname username date request status bytes
□ remotehost. IP-адрес удаленной клиентской системы. Некоторые серверы
также используют возможность обратного разрешения DNS-имени,
позволяющую в целях регистрации определить DNS-имя по адресу.
□ logname. Имя удаленного журнала регистрации пользователя системы-
клиента. Большинство современных браузеров не предоставляют
указанную информацию, поэтому в данном поле обычно находятся
"заполнители", например, тире.
□ username. Имя пользователя, под которым он прошел аутентификацию
на сервере.
Глава 24. Развертывание серверов Интернета
821
О date. Дата и время, когда сервером был получен запрос. Большинство
серверов используют по умолчанию местное время, но могут вносить
поправку для среднего времени по Гринвичу, например, —0500 для
стандартного восточного времени США (U.S. Eastern Standard Time).
□ request. Текст запроса, полученного сервером.
□ status. Содержит один из кодов статуса, определяемых стандартом
HTTP, который показывает, был ли запрос обработан успешно, и, если
нет, то почему это произошло.
□ bytes. Размер (в байтах) файла, переданного клиенту сервером в качестве
ответа на запрос.
В настоящее время в процессе разработки находится еще один формат log-
файлов. Созданием этого формата под названием Extended Log File
(расширенный журнал) занимается World Wide Web Consortium (W3C). Новый
формат позволяет решить некоторые естественные проблемы формата
Common Log File, например, трудности в интерпретации данных log-
файлов, связанные с наличием пробелов в пределах полей. Формат Extended
Log File является расширяемым и позволяет администраторам самим
указывать, какая информация должна регистрироваться, а какая нет. Формат
предполагает наличие как записей (entry), так и полей (field). Поля
располагаются в отдельных строках, начинающихся с символа #, и определяют
информацию о данных, которые содержатся в журнале регистрации.
Действующие значения для полей перечислены ниже.
□ #Version: целое.целое. Версия формата log-файла. Данное поле должно
присутствовать в каждом log-файле.
□ #Fields: [определители]. Идентифицирует типы данных, находящихся в
каждом из полей записи log-файла, с использованием сокращений,
определяемых спецификацией формата Extended Log File. Данное поле
должно присутствовать в каждом log-файле.
□ #Software строка. Идентифицирует программное обеспечение сервера,
создавшего журнал регистрации.
□ #Start-Date: дата время. Дата и время начала ведения журнала
регистрации.
□ #End-Date:. Дата и время окончания ведения журнала регистрации.
□ #Date: дата время. Дата и время внесения конкретной записи в журнал
регистрации.
□ #Remark текст. Содержит информацию комментария, игнорируемую
всеми процессами.
Указанные поля дают администраторам возможность задавать информацию,
которая будет записана в log-файл, позволяя в то же время статистическим
программам корректно просматривать данные в записях журналов регистрации.
822
Часть VII. Сетевые службы
Удаленное администрирование
Все Web-серверы нуждаются в каком-либо типе интерфейса
администрирования, который будет использоваться для конфигурирования их
эксплуатационных параметров. Даже сервер "без излишеств" позволяет определить
основной каталог, который станет функционировать в качестве корневого
каталога для сайта, а также другие базовые параметры. Некоторые варианты
серверов содержат программу, обеспечивающую интерфейс для
администрирования сервера, которую можно запустить на компьютере, однако
значительное число Web-серверных продуктов используют преимущества
включения в свой состав административного Web-сайта. При наличии подобного
сайта сервер можно свободно конфигурировать с любого компьютера,
используя для этого стандартный Web-браузер (рис. 24.1). Это прекрасный
инструмент для администратора сети, особенно, если система с установленным
Web-сервером находится в специальном помещении для размещения
серверов (серверной) или ином удаленном месте, а также, если один человек
отвечает за обслуживание сразу нескольких различных серверов.
||http://cz2/liSADM!N/ii$.asp - Microsoft Internet Explorer
j Address ]#] http:/7cz2/IISADMIN/iis.asp
H
£ile Edit yiew Favorites Tools Help
Back
Stop
1
Refresh
Home
П m ci
Search Favorites History
▼ 1 ^Go
internet
Information
ГЛ
■ervice*
о ЬЛ'
\^ r'
■"":^:s*
3§ Default Web Site
_ф IISAdmin
_ф USSamples
_$ MSADC
_$ IISHelp
^ Scripts
_^ Mail
_^ MailDocs
ф Printers
-4 F
j£ HPUIII
_£ HP6
_. ':^J^ • -xJZ^f^^t^^S^^<
|^) Downloading picture http://cz2/HSADM IN/images
Ijjg Local intranet
Рис. 24.1. Web-интерфейс Internet Services Manager сервера IIS
Серьезной проблемой данной формы удаленного администрирования
является безопасность, однако имеется ряд механизмов, позволяющих
предотвратить изменение конфигурации сервера неавторизованными пользовате-
Глава 24. Развертывание серверов Интернета
823
лями. Самый простой из этих механизмов, как упоминалось выше,
заключается в использовании для административного сайта нестандартного
номера порта. Все программные продукты для создания Web-серверов от фирмы
Netscape активно применяют этот метод. Серверы, использующие
нестандартный порт, обычно требуют задать номер порта в процессе инсталляции
программы.
Второй метод состоит во включении механизмов, позволяющих задать IP-
адрес единственной системы, с которой возможен доступ к интерфейсу
администрирования. IIS обладает таким методом, и по умолчанию,
единственной машиной, способной получить доступ к интерфейсу
администрирования Web-сервера, основанному на Web, является та, на которой
установлен этот Web-сервер (рис. 24.2). При этом сервер можно открыть для
удаленного администрирования, задав адреса других рабочих станций, которым
разрешен доступ к серверу, или же установить свободный доступ к серверу
и задать адреса машин, которым этот доступ запрещен.
Ml Internet Services Manager [ilS://locaihost/W3SVC/1/Root/iiSAdmin] - Microsoft Internet Exp... Hill El
IP Address Access Restrictions
By default, all computers ares .„<? y* „ ^ ,
($Г <• Granted access
rjj?j С Denied access
Except those listed belowi
Access jIP Address [Subnet Mask |Domain
Add
Remove
a&.*#*-vv^K
11ШШЩШШШШШ
Ш7^^^^^^^?^^^^^^^^^
Рис. 24.2. Утилита Internet Services Manager сервера IIS позволяет разрешать или
запрещать доступ к Web-сайту с определенных компьютеров
Третий метод предполагает использование службы каталогов для того, чтобы
указать, каким пользователям разрешается конфигурировать систему. IIS
использует для этих целей стандартные учетные записи доменов Windows NT
или учетные записи Active Directory. Фирма Netscape предоставляет свой соб-
824
Часть VII. Сетевые службы
ственный сервер каталогов для контроля над доступом, а UNIX-системы
могут использовать один из нескольких протоколов аутентификации.
Виртуальные каталоги
Web-сервер использует каталог локального диска компьютера в качестве
основного каталога сайта, который он обслуживает. Сервер передает клиентам
имя находящегося в этом каталоге файла по умолчанию, если они получают
доступ к сайту, используя URL, включающий только DNS-имя или IP-
адрес. Подкаталоги в пределах этого каталога также появляются как
подкаталоги Web-сайта. Например, IIS по умолчанию использует каталог
C:\InetPub\wwwroot как основной каталог для своего Web-сайта. Если
данный Web-сервер зарегистрирован под DNS-именем www.zucker.com, тогда
страница по умолчанию, демонстрируемая браузером, получающим доступ к
данному сайту, будет храниться в файле default.htm каталога wwwroot. Таким
образом, файл в каталоге C:\InetPub\wwwroot\docs этого же сервера будет
появляться на сайте как http://www.zucker.com/docs.
При использовании такой системы все файлы и каталоги, которые станут
появляться на Web-сайте, должны быть расположены в пределах основного
каталога сайта и его подкаталогов. Однако это нельзя назвать практичным
решением для каждого сайта. Например, в случае сети интранет
администраторы могут пожелать опубликовать файлы в существующих каталогах с
помощью Web-сервера, не прибегая к перемещению их в основной каталог.
Чтобы сделать это доступным, некоторые Web-серверы включают
возможность создания на сайте виртуальных каталогов. Виртуальный каталог
(virtual directory) представляет собой каталог, существующий где-то в другом
месте (на том же диске, на другом диске или даже на диске совместного
использования иного компьютера), который публикуется на Web-сайте под
каким-либо альтернативным именем. Администратор задает расположение
каталога и альтернативное имя, под которым он будет фигурировать на
сайте. Альтернативное имя появляется в виде подкаталога сайта, к которому
пользователи могут осуществлять доступ обычным образом, и содержит
подкаталоги и файлы, расположенные на другом диске.
Поддержка многочисленных сайтов
Базовое программное обеспечение для организации Web-сервера, например,
Personal Web Server от Microsoft, позволяет создать на компьютере только
один Web-сайт, однако более совершенные версии, такие как IIS, дают
возможность поддерживать работу нескольких сайтов одновременно, причем
без необходимости запуска нескольких копий программы. Существуют
различные методы, которые отдельный компьютер может использовать для
размещения нескольких сайтов, и мощные профессиональные серверы обычно
предоставляют выбор между ними. Эти методы перечислены ниже.
□ Разные номера портов. При размещении сайтов с использованием одного
IP-адреса, но разных номеров портов, пользователи обязательно должны
Глава 24. Развертывание серверов Интернета
825
задавать номер порта в URL, чтобы получить доступ к сайту. Это не
относится к сайту по умолчанию, использующему порт 80. Так делается
достаточно редко, кроме тех случаев, когда администратор желает
сохранить сайт скрытым, так как большинство пользователей сети Интернет
не имеют ни малейшего представления об использовании номеров
портов. Но даже если кто-то из пользователей знает о портах, нет простого
пути для определения, каким именно номером порта нужно все-таки
пользоваться.
□ Разные IP-адреса. Существует возможность назначения различных IP-
адресов одному сетевому интерфейсу, и как только это сделано,
некоторые Web-серверы позволяют выбрать отдельный адрес для каждого Web-
сайта. Есть возможность зарегистрировать каждый адрес в DNS с
индивидуальным хост-именем. Это приведет к тому, что пользователи будут
считать такие сайты полностью независимыми, несмотря на то, что в
действительности они расположены на одном и том же компьютере. Это
наиболее часто используемый метод размещения множества сайтов на
одном сервере, единственным недостатком которого является
необходимость регистрации отдельного IP-адреса для каждого сайта.
□ Разные DNS-имена. Некоторые серверы могут размещать множество
сайтов с различными DNS-именами, но одним IP-адресом, используя
технологию под названием виртуальный хостинг (virtual hosting). В этом
случае каждый сайт имеет собственное DNS-имя, но все имена
зарегистрированы на один IP-адрес. Когда Web-сервер получает по этому адресу
запрос на HTTP-файл, он использует содержимое поля Host в заголовке
сообщения, чтобы определить, какой из сайтов должен получить данный
запрос. Несмотря на то, что процесс разрешения DNS-имени, указанного
клиентом в URL, в IP-адрес производится еще до отправки запроса,
исходное имя все равно сохраняется в поле Host этого запроса.
Преимущество рассмотренного метода заключается в необходимости наличия для
сервера только одного зарегистрированного IP-адреса, недостатком же
является невозможность получить доступ к конкретному сайту, используя
в браузере только IP-адрес.
Безопасность
Многие Web-сайты не нуждаются в дополнительных мерах безопасности
помимо основных, то есть тех, что защищают компьютер, исполняющий
программное обеспечение сервера, от внешнего вторжения. Однако в
некоторых случаях требуются две формы защитных мероприятий: необходимость
ограничить доступ к сайту определенных пользователей и защита данных,
передаваемых между клиентами и серверами.
Первый вариант системы защиты обычно принимает форму протокола
аутентификации, который позволяет осуществлять доступ только тем
пользователям, что имеют действующие пароли. Точно так же, как можно защи-
826
Часть VII. Сетевые службы
тить интерфейс администрирования Web-сервера, предоставив доступ к
нему лишь определенным пользователям, можно защитить и свой Web-сайт.
Эта возможность чаще используется в интранет-, нежели чем в Интернет-
сайтах, так как там скорее возникнет необходимость открыть доступ к
некоторым документам (например, финансовой информации) только для
определенных сотрудников. С другой стороны, некоторые организации в
последнее время реализуют так называемый экстранет (extranet), то есть Web-
сайты интранета с возможностью доступа определенных внешних
пользователей через сеть Интернет. Компании используют экстранет для
предоставления своим клиентам доступа к информации о продуктах и разрешения
осуществления ими таких действий, как проверка наличия товаров и заказ их.
Некоторые Web-серверы, например, Apache, содержат собственные каталоги
учетных записей пользователей, в то время как другие пользуются службой
каталогов, предоставленной операционной системой или какой-либо
другой, исполняемой в виде самостоятельного сервиса. Например, Directory
Server фирмы Netscape обеспечивает услуги по аутентификации для всех
остальных серверных программных продуктов Netscape, включая и
Web-серверы. С другой стороны, IIS использует внутреннюю службу каталогов сети
Windows NT и 2000.
Другая форма защиты, реализуемая Web-серверами, позволяет клиентам
отправлять и получать данные через сеть Интернет с помощью защищенного
канала, который затрудняет для злоумышленников перехват или подмену
информации. Приложения, наиболее часто применяющие данную форму
защиты, относятся к области электронной коммерции (е-соттегсе), то есть
получению услуг и товаров через Web. Защита обмена данными между
браузером клиента и Web-сервером заключается в аутентификации систем для
того, чтобы клиент был уверен, что связался с нужным сервером, а также в
кодировании данных, передаваемых системами друг другу, чтобы любой, кто
сможет перехватить эти данные, не имел возможности их прочитать.
Стандартный протокол, используемый Web-серверами для аутентификации
и шифрования информации, носит название Secure Sockets Layer (SSL,
протокол защищенных сокетов) и представляет собой протокол шифрования
информации с открытым ключом, разработанный фирмой Netscape и
позднее предложенный IETF в качестве стандарта. Для инициирования
соединения по протоколу SSL разработчик сайта создает гиперссылку,
использующую HTTPS (HyperText Transmission Protocol Secure, протокол защищенной
передачи гипертекста) в качестве идентификатора протокола, вместо HTTP,
например:
https://www.zacker.com
Применение в этой гиперссылке HTTPS инициирует взаимодействие между
клиентом и сервером по протоколу SSL Handshake Protocol через порт 443,
вместо стандартного НТТР-порта 80. Сначала две системы проводят серти-
Глава 24. Развертывание серверов Интернета
827
фикационные переговоры, выявляя наиболее серьезный метод шифрования,
которым они обе владеют, после чего сервер высылает клиенту цифровой
сертификат для подтверждения своей подлинности. Цифровые
сертификаты представляют собой зашифрованные файлы с информацией, которые
однозначно идентифицируют определенную компанию или организацию.
Выдачей цифровых сертификатов занимаются специальные высоконадежные
независимые компании, которые носят название сертификационных бюро
(СА, certificate authority). Клиент, получивший от сервера подобный
сертификат, может быть в значительной степени уверен, что сервер принадлежит
именно указанной компании или организации. Также допустима ситуация,
когда клиент может принять "ненадежный" сертификат и начать SSL-сессию
без получения сертификата, подписанного СА.
Для того чтобы прочитать сертификат, клиент должен владеть открытым
ключом того сертификационного бюро, которое сгенерировало цифровой
сертификат для данного сервера. Две наиболее крупные сертифицирующие
организации, VeriSign, Inc. и Thawte, Inc., поддерживаются большинством
браузеров. С помощью открытого ключа браузер расшифровывает
сертификат и извлекает открытый ключ для данного сервера. Тем временем сервер
шифрует запрошенный файл с использованием протокола SSL Record
Protocol и передает его клиенту. После этого клиент может передавать
информацию (например, бланк заказа, содержащий номер кредитной карты) серверу
с использованием того же ключа. Только система, владеющая ключом,
может расшифровать эти данные.
Поддержка протокола SSL встроена в Web-браузеры Internet Explorer,
Netscape Navigator, а также в большинство Web-серверов, включая IIS 4
(доступный как часть Windows NT Option Pack). Сервер Apache может
использовать OpenSSL, бесплатный набор инструментов для SSL, доступный
на www.opensssl.org.
HTML
Язык разметки гипертекста HTML (Hypertext Markup Language) представляет
собой интернациональный язык Web, но фактически имеет очень мало
общего с функциями самих Web-серверов. Web-серверы являются лишь
программами, доставляющими клиентам запрашиваемые файлы. То, что
большинство этих файлов содержат HTML-код, серверу совершенно
безразлично, так как он их даже не читает. Единственный способ, с помощью
которого HTML-файлы могут повлиять на функции сервера, связан с
ситуациями просмотра клиентом HTML-кода и запроса у сервера
дополнительных файлов, необходимых для отображения Web-страницы браузером,
например, файлов изображений. Однако даже в этом случае запросы на
файлы изображений, с точки зрения сервера, представляют собой всего
лишь дополнительные запросы. Он совершенно не в курсе, что эти файлы
828
Часть VII. Сетевые службы
содержат графические изображения или что они ассоциированы с HTML-
файлом, переданным ранее.
HTTP
Обмен данными между Web-серверами и их клиентами-браузерами
обеспечивается протоколом прикладного уровня под названием Hypertext Transfer
Protocol (HTTP, протокол передачи гипертекстовых файлов). Последняя
версия спецификации протокола HTTP под номером 1.1 была опубликована
IETF в качестве документа RFC 2616 в июне 1999 г. HTTP представляет
собой относительно простой протокол, использующий на транспортном
уровне услуги протокола TCP для доставки файлов от серверов к клиентам.
Когда клиент устанавливает соединение с Web-сервером, указывая URL в
браузере или щелкая мышью на гиперссылке, система генерирует
сообщение-запрос протокола HTTP и передает его серверу. Этот процесс протекает
на прикладном уровне, но прежде чем он станет возможным, должно быть
налажено взаимодействие на более низких уровнях.
Если только пользователь или гиперссылка не обозначают IP-адрес Web-
сервера, то первым шагом в установлении соединения между двумя системами
будет выяснение этого IP-адреса путем отправки запроса на разрешение
имени серверу DNS. Адрес позволит протоколу IP направить трафик
непосредственно серверу. Как только клиентской системе становится известен IP-адрес
сервера, она устанавливает соединение по протоколу TCP с портом сервера
номер 80, используя при этом стандартный трехсторонний процесс
квитирования установления связи, который определяется данным протоколом.
bi Примечание jj
Для получения более подробной информации о разрешении имен DNS см.
главу 20. Для получения более подробной информации о трехстороннем
квитировании установления связи по протоколу TCP см. главу 11.
Как только установлено TCP-соединение, браузер и сервер могут
обмениваться сообщениями HTTP. Сообщения HTTP бывают всего двух типов:
запросы и ответы. В отличие от сообщений большинства других протоколов,
сообщения HTTP имеют вид текстовых строк в формате ASCII, а не
типичных заголовков с отдельными полями кода. Фактически можно установить
соединение с Web-сервером с помощью клиента telnet и запросить файл,
напрямую задав серверу HTTP-команду для исполнения. После этого сервер
вышлет ответ в виде запрошенного файла в его необработанной ASCII-
форме.
Каждое сообщение HTTP состоит из нескольких элементов.
□ Начальная строка (Start Line). Содержит запрашиваемую команду или
индикатор статуса ответа, а также набор переменных.
Глава 24. Развертывание серверов Интернета
829
□ Заголовки (Headers), необязательный. Содержит ноль или более полей с
информацией о сообщении или системе, которая его отправила.
□ Пустая строка (Empty Line). Содержит пустую строку, определяющую
окончание раздела заголовков.
□ Тело сообщения (Message body), необязательный. Содержит полезную
информацию, передаваемую другой системе.
HTTP-запросы
Структура начальной строки всех HTTP-запросов выглядит следующим
образом:
RequestType RequestURI HTTPVersion
Версия 1.1 стандарта протокола HTTP определяет семь типов сообщений-
запросов, КОТОрые ИСПОЛЬЗУЮТ НеСКОЛЬКО Значений Переменной RequestType.
□ get. Запрос на информацию, определенную значением переменной
RequestURI. Данный тип сообщения встречается в подавляющем
большинстве запросов.
□ head. Функционально идентичен предыдущему типу запроса (get), кроме
того, что ответ должен содержать только начальную строку и заголовки,
тело сообщения не должно включаться.
□ post. Требует, чтобы информация, включенная в тело сообщения, была
принята системой назначения в качестве дополнения для ресурса,
заданного переменной RequestURI.
□ options. Запрос на получение информации об опциях обмена данными,
ДОСТУПНЫХ В ЦеПИ ЗапрОС/оТВеТ, СВЯЗаННОЙ С Переменной RequestURI.
□ put. Требует, чтобы информация, включенная в тело сообщения, была
сохранена у системы назначения в месте, указанном в переменной
RequestURI.
□ delete. Запрос на уничтожение системой назначения ресурса,
определенного переменной RequestURI.
□ trace. Требует, чтобы система назначения выполнила на прикладном
уровне обратную петлю (loopback) для входящего сообщения и
возвратила его обратно отправителю.
□ connect. Зарезервирован для использования прокси-серверами,
поддерживающими SSL-туннелирование.
^ Примечание ^
Спецификация HTTP 1.0 (RFC 1945) определяла только запросы типов GET,
head и post. Кроме пяти дополнительных типов запросов, новая версия под
номером 1.1 также позволяет клиенту устанавливать постоянное соединение с
сервером, поэтому в ходе одного TCP-соединения может передаваться множе-
830
Часть VII. Сетевые службы
ство файлов. Версия 1 требовала установления отдельного ТСР-соединения
для передачи каждого файла. Новая спецификация также обеспечивает
лучшее управление кэшем браузера, которое улучшает суммарное время ответа
клиента. Чтобы использовать эти новые возможности, как клиент, так и сервер
должны поддерживать стандарт 1.1.
Переменная RequestURi содержит универсальный идентификатор ресурса
(URIy Uniform Resource Identifier), текстовую строку, однозначно
идентифицирующую конкретный ресурс в системе назначения. В большинстве случаев
эта переменная включает имя файла на Web-сервере, который клиент хочет
получить от сервера или отправить ему, либо имя каталога, откуда сервер
должен послать файл по умолчанию. Переменная HTTPVersion указывает
версию протокола HTTP, поддерживаемую системой, создавшей запрос.
В настоящее время возможные значения этой переменной таковы:
П НТТР/0.9
П нттр/1.0
П нттр/1.1
Таким образом, когда пользователь вписывает имя Web-сайта в окно
браузера, создаваемое при этом сообщение HTTP будет содержать начальную
строку следующего содержания:
GET / НТТР/1.1
Команда get запрашивает у сервера разрешение на отправку файла.
Использование левой косой черты в качестве значения переменной RequestURi
символизирует корневой каталог Web-сайта, поэтому сервер ответит на
данный запрос, выслав файл по умолчанию, расположенный в основном
каталоге Web-сервера.
Заголовки HTTP
Вслед за начальной строкой HTTP-сообщение может включать серии
заголовков, представляющих собой текстовые строки, форматированные
следующим образом:
FieldName: FieldValue
где переменная FieldName идентифицирует тип информации, содержащейся
в заголовке, а переменная FieldValue содержит саму информацию.
Различные заголовки в основном включают информацию о системе, отправившей
сообщение, и характере запроса. Сервер может использовать, а может и
игнорировать данные сведения, формулируя свой ответ. Количество, набор и
порядок заголовков полностью определяются конкретной реализацией
клиента, однако спецификация протокола HTTP рекомендует располагать их в
порядке, соответствующем четырем основным категориям. Возможные
значения переменной FieldName, определяемые стандартом HTTP 1.1,
перечислены в следующих разделах по категориям.
Глава 24. Развертывание серверов Интернета
831
Основные поля заголовков
Основные поля заголовков применяются как в сообщениях-запросах, так и в
сообщениях-ответах, но не затрагивают самого содержимого сообщения (то
есть файла или иной информации в теле сообщения). Возможные значения
переменной FieidName для основных полей заголовков перечислены ниже.
□ Cache-Control. Содержит указания, управляющие работой механизмов
кэширования системы назначения.
□ Connection. Задает желательные опции для текущего соединения,
например, указывает на необходимость поддерживать его открытым для
использования с множеством запросов.
□ Date. Определяет дату и время создания данного сообщения.
□ Pragma. Задает директивы, специфические для реализации клиента или
сервера.
□ Trailer. Показывает, что определенные поля заголовка присутствуют в
замыкающей части сообщения, зашифрованные при помощи частичного
кодирования (chunked transfer-coding).
□ Transfer-Encoding. Определяет, какой тип преобразования был проделан
(если вообще был) над телом сообщения с целью обеспечения его
безопасной доставки до места назначения.
□ upgrade. Определяет дополнительные коммуникационные протоколы,
поддерживаемые клиентом.
□ via. Идентифицирует шлюзы и прокси-серверы между клиентом и
сервером, а также протоколы, которые они используют.
□ warning. Содержит добавочную информацию о статусе или
преобразованиях сообщения.
Поля заголовков запроса
Заголовки запроса применяются только в сообщениях-запросах, они
предоставляют информацию о самом запросе, а также о системе, которая этот
запрос создала. Возможные значения переменной FieidName для полей
заголовков запроса перечислены ниже.
□ Accept. Задает форматы данных, приемлемые в ответном сообщении.
□ Accept-charset. Задает наборы символов, приемлемые в ответном
сообщении.
□ Accept-Encoding. Задает допустимые кодировки содержимого ответа.
□ Accept-Language. Задает языки, приемлемые в ответном сообщении.
□ Authorization. Содержит регистрационные данные пользователя, с
помощью которых он проходит аутентификацию на сервере.
832
Часть VII. Сетевые службы
О Expect. Определяет поведение, ожидаемое клиентом от сервера.
□ From. Содержит адрес электронной почты пользователя, создавшего
сообщение.
П Host. Определяет в Интернете хост-имя запрашиваемого ресурса (обычно
URL) и номер порта, если он отличается от стандартного (80).
□ if-Match. Используется для того, чтобы сделать данный запрос условным
при совпадении определенных тэгов в содержимом сообщения.
□ if-Modified-since. Используется для того, чтобы сделать определенный
запрос условным путем задания даты последней модификации из строки
в кэше клиента, содержащей сведения о ресурсе. Сервер сравнивает эту
дату с датой модификации ресурса, и в зависимости от этого включает в
его ответ либо сам ресурс, либо ссылку на кэш клиента.
□ if-None-Match. Используется для того, чтобы сделать данный запрос
условным при несовпадении определенных тэгов в содержимом сообщения.
□ if-Range. Запрашивает у сервера передачу частей объекта, которых не
хватает клиенту.
□ if-unmodified-since. Применяется для того, чтобы сделать
определенный запрос условным путем задания даты, которую сервер будет
использовать для принятия решения о том, посылать или нет клиенту
запрашиваемый ресурс.
□ Max-Forwards. Ограничивает число прокси-систем и шлюзов, которые
могут пересылать запрос другому серверу.
□ Proxy-Authorization. Содержит регистрационные данные, с помощью
которых клиент прошел аутентификацию на прокси-сервере.
□ Range. Содержит один или более диапазонов байтов, представляющих
части ресурса, заданного переменной ResourceURi, передачу которых
клиент запрашивает у сервера.
□ Referer. Определяет ресурс, из которого получено значение переменной
ResourceURi.
□ те. Определяет, какие расширения схемы кодирования (extension transfer-
codings) клиент допускает использовать в ответном сообщении, а также
сможет ли он принять поля трейлера с частичным кодированием
(chunked transfer-coding).
□ User-Agent. Содержит информацию о браузере, создавшем запрос.
Поля заголовков ответа
Заголовки ответа применяются только в сообщениях-ответах и содержат
дополнительную информацию о сообщении и сервере, который создал это со-
Глава 24. Развертывание серверов Интернета
833
общение. Возможные значения переменной FieidName для полей заголовков
ответа перечислены ниже.
□ Accept-Ranges. Позволяет серверу продемонстрировать приемлемость
запросов на часть ресурса (используется только в ответах).
□ Age. Определяет время, прошедшее с момента создания сервером кэши-
рованного ответа.
□ Etag. Задает текущее значение тэга объекта для запрашиваемого варианта.
□ Location. Направляет систему назначения в место расположения ресурса,
отличное от того, что было задано переменной RequestuRi.
□ Proxy-Authenticate. Задает схему аутентификации, используемую
прокси-сервером.
□ Retry-After. Определяет временной интервал, в течение которого
запрашиваемый ресурс будет недоступен клиенту.
□ Server. Идентифицирует программное обеспечение Web-сервера,
использованное для обработки запроса.
□ vary. Определяет поля заголовка, указывающие, может ли клиент
использовать находящийся в кэше ответ на запрос без проверки его
достоверности сервером.
□ www-Authenticate. Определяет тип аутентификации, необходимый
клиенту для доступа к запрашиваемому ресурсу.
Поля заголовков объекта
Термин объект (entity) применяется для описания данных, входящих в тело
сообщения-ответа. Заголовки объекта позволяют получить дополнительную
информацию об этих данных. Возможные значения переменной FieidName
для полей заголовков объекта перечислены ниже.
□ Allow. Описывает типы запросов, поддерживаемых ресурсом, заданным
переменной RequestURI.
□ Content-Encoding. Определяет дополнительные методы кодирования
(например, gzip), применявшиеся к информации, содержащейся в теле
сообщения.
□ Content-Language. Задает язык тела сообщения.
□ content-Length. Определяет длину тела сообщения в байтах.
□ Content-Location. Задает место происхождения информации тела
сообщения, если оно отличается от указанного значением переменной
ResourceURI.
□ Content-MD5. Содержит дайджест по алгоритму MD5 тела сообщения (в
соответствии со стандартом документа RFC 1864), который будет
использоваться в системе назначения для контроля целостности сообщения.
834
Часть VII. Сетевые службы
О Content-Range. Определяет расположение данных тела сообщения в
полном ресурсе, если сообщение несет в себе только часть запрашиваемого
ресурса.
□ content-Type. Определяет формат данных информации тела сообщения.
□ Expires. Задает дату и время, когда находящийся в кэше ответ на запрос
будет считаться уже устаревшим.
□ Last-Modified. Определяет дату и время, когда, как полагает сервер,
запрашиваемый ресурс был изменен в последний раз.
□ Extension-Header. Позволяет использовать дополнительные поля
заголовков объекта, которые должны распознаваться как клиентом, так и
сервером.
HTTP-ответы
Сообщения-ответы HTTP, создаваемые Web-серверами, во многом
используют точно такие же базовые элементы, как и HTTP-запросы. Их начальная
строка состоит из трех элементов:
HTTPVersion StatusCode StatusPhrase
Переменная HTTPVersion определяет стандарт, поддерживаемый сервером, и
использует такие же значения, что были перечислены ранее. Переменные
StatusCode и StatusPhrase показывают, был ли запрос успешно обработан
сервером, и если нет, то почему это произошло. Код представляет собой
трехзначное число, а фраза — текстовую строку. Значения кодов
определяются стандартом протокола HTTP и строго соблюдаются при использовании
всеми Web-серверами, независимо от конкретной реализации.
Первая цифра кода определяет общий характер ответа, а остальные две
предоставляют дополнительную, более специфическую информацию. Фразы
статуса также определяются стандартом, но некоторые Web-серверы
позволяют модифицировать их текст, чтобы предоставить клиенту информацию
большего объема. Коды и соответствующие им фразы, регламентируемые
стандартом, перечислены в следующих разделах.
Информационные коды
Информационные коды используются только в ответах, лишенных тела
сообщения, и содержат 1 в качестве первой цифры. Версии протокола HTTP 1
и младше вообще не предусматривали никаких информационных кодов.
Единственное значение кода данного типа в современном стандарте — 100,
Continue (продолжение). Оно демонстрирует, что сообщение-запрос было
успешно получено сервером, и клиент должен либо отправить новое
сообщение, завершая запрос или продолжить ожидание ответа. За ответом,
использующим данный код, должен следовать еще один ответ, с кодом,
идентифицирующим выполнение запроса.
Глава 24. Развертывание серверов Интернета
835
Коды успешного завершения операции
Коды успешного завершения операции содержат 2 в качестве первой цифры
и подразумевают, что сообщение-запрос клиента было успешно получено,
распознано и принято. Действующие значения для этого типа кодов
перечислены ниже.
□ 200 — ОК (все в порядке). Показывает, что запрос был успешно
обработан и ответ содержит информацию, соответствующую типу запроса.
□ 201 — Created (создан). Показывает, что запрос был успешно обработан
и был создан новый ресурс.
□ 202 — Accepted (принят). Показывает, что запрос был принят, однако его
обработка еще не завершена.
□ 203 — Nonauthoritative Information (недостоверная информация).
Показывает, что информация, содержащаяся в заголовках, не является
достоверной информацией, которую предоставил сервер, а взята из локальной
копии или копии от стороннего источника.
□ 204 — No Content (без содержимого). Показывает, что запрос был
успешно обработан, но ответное сообщение не содержит тела. Однако оно
может включать информацию заголовков.
□ 205 — Reset Content (сброс содержимого). Показывает, что запрос был
успешно обработан, и пользователь браузера-клиента должен обновить
вид документа. Это сообщение обычно означает, что данные из формы
были успешно получены сервером, и браузер должен вернуть* форме
прежний вид, очистив его поля.
□ 206 — Partial Content (частичное содержимое). Показывает, что запрос
был успешно обработан и сервер выполнил запрос, содержащий
заголовок Range для определения части ресурса.
Коды перенаправления
Коды перенаправления содержат 3 в качестве первой цифры и
демонстрируют, что требуются дальнейшие действия со стороны клиента (как
браузера, так и пользователя) для успешной обработки запроса. Существующие
коды перечислены ниже.
□ 300 — Multiple Choices (множественный выбор). Показывает, что ответ
содержит список ресурсов, которые могут быть использованы для
удовлетворения запроса, но пользователь должен выбрать один из них.
□ 301 — Moved Permanently (перемещен окончательно). Показывает, что
запрашиваемому ресурсу был назначен новый постоянный URI и все
дальнейшие ссылки на этот ресурс должны использовать один из новых URI,
указанных в ответе.
□ 302 — Found (найден). Показывает, что запрашиваемый ресурс находится
постоянно под другим URI, но клиент должен продолжать использование
836
Часть VII. Сетевые службы
старого значения переменной RequestURi в своих следующих запросах,
так как расположение ресурса может снова измениться.
П 303 — See Other (смотри другие). Показывает, что ответ на данный
запрос может быть найден под другим URI, и клиент должен создать
новый запрос с указанием этого URI.
П 304 — Not Modified (не изменялся). Показывает, что версия
запрашиваемого ресурса в кэше клиента идентична его версии у сервера и повторная
отправка ресурса не имеет смысла.
П 305 — Use Proxy (использовать прокси). Показывает, что доступ к
запрашиваемому ресурсу должен осуществляться через прокси-сервер,
указанный в заголовке Location.
П 306 — Unused. He используется.
П 307 — Temporary Redirect (временное перенаправление). Показывает, что
запрашиваемый ресурс временно находится под другим URI, но клиент
должен продолжать использовать то же самое значение переменной
RequestURi в дальнейших запросах, так как расположение ресурса может
измениться снова.
Коды ошибок клиента
Коды ошибок клиента содержат 4 в качестве первой цифры и указывают,
что запрос не удается успешно обработать из-за ошибки клиента.
Возможные значения этих кодов перечислены ниже.
□ 400 — Bad Request (неправильный запрос). Сервер не может распознать
запрос клиента из-за синтаксической ошибки.
П 401 — Unauthorized (неавторизирован). Сервер не может обработать
запрос, так как требуется аутентификация пользователя.
П 402 — Payment Required (требует определения). Зарезервировано для
будущего употребления.
П 403 — Forbidden (отказано). Сервер отказывается обработать запрос, и
этот запрос более не должен повторяться.
□ 404 — Not Found (не найден). Сервер не может обнаружить ресурс,
определенный значением переменной RequestURi.
□ 405 — Method Not Allowed (недопустимый метод). Данный тип запроса не
может быть использован для заданного значения переменной RequestURi.
□ 406 — Not Acceptable (неприемлем). Ресурс, заданный значением
переменной RequestURi, не соответствует ни одному из типов, которые
указаны в заголовке Accept сообщения-запроса.
П 407 — Proxy Authentication Required (требуется аутентификация прокси).
Клиент должен пройти аутентификацию у прокси-сервера, прежде чем
получить доступ к запрашиваемому ресурсу.
Глава 24. Развертывание серверов Интернета
837
О 408 — Request Timeout (время ожидания истекло). Клиент не создал
нового запроса до истечения времени ожидания сервера.
□ 409 — Conflict (конфликт). Запрос не может быть обработан, так как
имеется конфликт с текущим состоянием запрашиваемого ресурса,
например, когда команда put пытается провести запись данных, в то время как
ресурс уже задействован каким-либо процессом.
□ 410 — Gone (потерян). Запрашиваемый ресурс более не доступен на
данном сервере, и сервер не имеет информации о его альтернативном
расположении.
□ 411 — Length Required (требуется указание длины). Сервер отказывается
обрабатывать запрос, так как он не имеет заголовка Content-Length.
□ 412 — Precondition Failed (предварительное условие не выполнено). Сервер
не смог удовлетворить одно из предварительных условии, указанных в
заголовках запроса.
□ 413 — Request Entity Too Large (слишком большой размер запроса).
Сервер отказывается обрабатывать запрос, так как сообщение имеет
слишком большой размер.
□ 414 — RequestURI Too Long (слишком длинный указатель ресурса).
Сервер отказывается обрабатывать запрос, так как значение переменной
RequestURI длиннее, чем сервер способен интерпретировать.
□ 415 — Unsupported Media Type (неподдерживаемый тип). Сервер
отказывается обрабатывать запрос, так как он представлен в том формате, который
не поддерживается запрашиваемым ресурсом для запрашиваемого метода.
□ 416 — Requested Range Not Satisfmble (запрошенный диапазон невыполним).
Сервер не может обработать запрос, так как данные, указанные в заголовке
Range сообщения-запроса, не существуют в запрашиваемом ресурсе.
□ 417 —- Expectation Failed (ожидания не оправдались). Сервер не может
удовлетворить требования, обозначенные в заголовке Expect сообщения-
запроса.
Коды ошибок сервера
Коды ошибок сервера содержат 5 в качестве своей первой цифры и
показывают, что запрос не может быть обработан вследствие неполадок в работе
сервера. Существуют перечисленные ниже коды.
□ 500 — Internal Server Error (внутренняя ошибка сервера). Сервер
столкнулся с непредвиденными событиями, которые не позволили ему
удовлетворить запрос.
□ 501 — Not Implemented (возможность не реализована). Сервер не
поддерживает функцию, необходимую для удовлетворения запроса.
838
Часть VII. Сетевые службы
□ 502 — Bad Gateway (неправильный шлюз). Шлюз или прокси-сервер
получил неправильный ответ от вышестоящего сервера, к которому пытался
получить доступ при попытке обработать запрос.
□ 503 — Service Unavailable (сервис недоступен). Сервер не может
обработать запрос, так как в настоящий момент перегружен или закрыт на
техническое обслуживание.
□ 504 — Gateway Timeout (тайм-аут шлюза). Шлюз или прокси-сервер не
получил своевременный ответ от вышестоящего сервера, обозначенного в
URI, или какого-либо другого добавочного сервера, необходимого для
удовлетворения запроса.
□ 505 — HTTP Version Not Supported (версия HTTP не поддерживается).
Сервер не поддерживает или отказывается поддерживать ту версию
протокола HTTP, которая указана в сообщении-запросе.
После начальной строки сообщение-ответ может содержать серии
заголовков. Как и те, что присутствуют в запросе, они обеспечивают
дополнительную информацию о самом сервере и данном сообщении-ответе. Раздел
заголовков также завершается пустой строкой, после которой следует тело
сообщения, обычно включающее содержимое файла, запрашиваемого
клиентом. Если размер файла превышает величину одной стандартной
дейтаграммы, сервер создает добавочные сообщения-ответы, содержащие тела
сообщений, но не имеющие начальной строки и заголовков.
Обмен сообщениями HTTP
В наиболее общей форме обмена сообщениями HTTP, браузер-клиент
устанавливает соединение с сервером по протоколу TCP и передает HTTP
сообщение-запрос, пример которого показан на рис. 24.3.
Начальная строка сообщения показывает, что это команда get, что значение
переменной RequestURi указывает на файл по умолчанию в корневом
каталоге Web-сервера и что клиент использует протокол HTTP версии 1.1.
Заголовок Accept перечисляет форматы данных, допустимые в ответном сообщении,
включая значение */*, позволяющее клиенту принять данные в любом
формате. Заголовки Accept-Language И Accept-Encoding показывают,
соответственно, что ответ должен быть написан на американском английском и
допустимы форматы сжатия gzip и deflate. Заголовок User-Agent идентифицирует
браузер, используемый клиентом (в данном случае, Internet Explorer), а
заголовок Host содержит URL, вводимый пользователем в поле адреса браузера.
Заголовок connection содержит значение Keep-Alive, демонстрируя, что
одно и то же TCP-соединение будет использоваться для передачи
многочисленных файлов, а заголовок Extension включает собственную информацию об
аутентификации, используемую клиентом для доступа к серверу.
Глава 24. Развертывание серверов Интернета
839
pujNetXRay - Local/ЗСого Fas» EtherLink XL 10/ЮОМЬ TX Ethernet NIC (3C905B TXLJ [XRay3 : 5/4B Eth... ШЗЕЗ
0 File Rapture Packet Jools Window Help -Ifll x]
}No. jSource Address jDest Address jLayer ]Summary
П cz2 CZ3 ARP Op=ARP Response, Src IP-192.168.2.21, Dest IP=192*
Г2 CZ3 192.168.2.21 TCP 1743->World Wide Web HTTP,[Syn] ,3-1172553344, A-0,~"~
ГЗ 192.168.2.21 CZ3 TCP World Wide Web HTTP-M743 ,[Syn] ,S=4048231157, A=ll—
Г4 CZ3 192.168.2.21 TCP 1743->World Wide Web HTTP,S«1172553345,A-40482311
Г 5 CZ3 192.168.2.21 HTTP (END of header),Extension.: Security/Remote-Passph
Г6 192.168.2.21 CZ3 HTTP (END of header),Content-Length: 3086Data (total 1
Г 7 192.168.2.21 CZ3 HTTP Data (total 454 bytes), (More data)
Г 8 CZ3 192.168.2.21 TCP 1743->World Wide Web HTTP,S»1172553715,A-40482340
Г 9 192.168.2.21 CZ3 HTTP Data (total 453 bytes), (More data)
Г 10 CZ3 192.168.2.21 HTTP (END of header),Extension: Security/Remote-Passph
ГИ 192.168.2.21 CZ3 HTTP (END of header) , Content-Length: 25775Data (total
Г 12 192.168.2.21 CZ3 HTTP Data (total 1456 bytes), (More data)
Г 13 CZ3 192.168.2.21 TCP 1743->World Wide Web HTTP,S»1172553993,A-40482374
Г 14 192.168.2.21 CZ3 HTTP Data (total 1456 bytes), (More data)
Г 15 192.168.2.21 CZ3 HTTP Data (total 1456 bytes), (More data)
Г 16 CZ3 192.168.2.21 TCP 1743->World Wide Web HTTP,S-1172553993,A-40482403^
El-IBETHER-II: 00-10-5A-09-F1-ED =-> 00-60-97-B0-77-CA
ST" IP: 192.168.2.3->192.168.2.21.10=61478
[фй£)ТСР: 1743->World Wide Web HTTP,S=1172553345,A-4048231158,W-8736
В Щ HyperText Transfer Protocol
■Щ Accept: image/pjpeg, application/msword, application/vnd.ims-excel, application
I jj§ Accept-Language: en-us
\-~Щ Accep t -Encod i ng: gz i p, de f 1 a t e
|S User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
г-Ж Host: www . mycorp. com
t Connection: Keep-Alive
Ex t ens i on: Securi tу/Remo te-Passphrase
1 S <\rx\nx\rx\n> End of TEST HTTP header
?IP Calculate CRC: 0x4777601e
<j ►IXDecode ДMatrixдHost/vPrrtocolDist /^Summary/
Рис. 24.3. Сообщение-запрос HTTP
Перед тем как сформулировать ответ, сервер передает клиенту стандартное
TCP-сообщение подтверждения, показывая, что запрос был получен без
ошибок. Это сообщение не является строго обязательным, так как сам ответ
служит подтверждением успешного получения запроса, но сообщения HTTP
передаются в рамках TCP-соединения и поэтому должны подтверждаться.
Ответ сервера на этот запрос (приведенный на рис. 24.4) говорит о том, что
сервер также использует версию 1.1 протокола HTTP, а значение кода
состояния (StatusCode) 200 показывает, что процесс обработки запроса прошел
успешно. Заголовок server сообщает, что на сервере запущен IIS 5, другие
заголовки содержат дату и время, когда запрос обработан, и формат
информации запрашиваемого файла. Заголовок Content-Location определяет имя
файла, включенного в ответ, это имя также соответствует имени файла по
умолчанию, для использования которого сконфигурирован сервер
(поскольку запрос содержал только левую косую черту в качестве значения
переменной RequestURl). ЗагОЛОВОК Last-Modified Показывает, ЧТО ПОСЛеДНИЙ
раз изменение запрашиваемого файла произошло 2 октября 1999 г., а заго-
840
Часть VII. Сетевые службы
ловок content-Length содержит данные о полной длине этого файла.
Заголовок ETag обеспечивает тэг объекта (entity tag) для запрашиваемого файла,
который в данном случае не выполняет никакой функции, но
предположительно может использоваться другими заголовками, например, if-Match или
if-None-Mat ch для проверки кэша.
UjNetXRay - Local/3Com Fast EtherLink XL 10/ЮОМЬ TX Ethernet NIC (3C905B-TXL1 - |XRay3 : 6/46 Ethei... REDES
И Be Capture Eecket Iools Window Help
jSource Address jDest Address jLayer {Summary
-Iglxl
No.
П
Г2
ГЗ
Г4
Г5
Г6
Г7
Г8
Г9
cz2
CZ3
192.
CZ3
CZ3
192.
192.
CZ3
192.
Г 10 CZ3
1Г11 192.
Г 12 192.
Г13 сгз
|Г14 192.
Г 15 192.
Г 16 CZ3
«I
CZ3 ARP Op=ARP Response, Src IP-192.168.2.21, Dest IP-192.1*
192.168.2.21 TCP 1743->World Wide Web HTTP,[Syn],S"1172553344,A«0,W«r-
168.2.21 CZ3 TCP World Wide Web HTTP->1743ЛSyn],S«4048231157,A-1172—
192.168.2.21 TCP 1743->World Wide Web HTTF,S«1172553345,A-4048231158
192.168.2.21 HTTP (END of header),Extension: Security/Remote-Passphra
168.2.21 CZ3 HTTP (END 61 header) v Content-Length: 3086Data (total 117
168.2.21 CZ3 HTTP Data (total 454 bytes).(Ноге data)
192.168.2.21 TCP 1743->World Wide Web HTTP,S«11725S371S,A-4048234070
168.2.21 CZ3 HTTP Data (total 453 bytes) Л More data)
192.168.2.21 HTTP (END of header),Extension: Security/Remote-Passphra
2.21 CZ3 HTTP (END of header),Content-Length: 25775Data (total 12
2.21 CZ3 HTTP Data (total 1456 bytes) Л More data)
192.168.2.21 TCP 1743->World Wide Web HTTP,S-1172553993,A-4048237435
2.21 CZ3 HTTP Data (total 1456 bytes) Л More data)
2.21 CZ3 HTTP Data (total 1456 bytes) Л More data)
192.168.2.21 TCP 1743->World Wide Web HTTP,S«11725S3993,A-4048240347v
168
168
168
168
J
В щ НуperText Transfer Protocol
"~ HTTP/1.1 200 OK
Server; Microsof t-IIS/5.0
Content-Location: http://www.mycorp.com/index.html
Date: Sat, 27 Nov 1999 04:07:53 GMT
I Content-Type: text/html
\ Accept-Ranges: bytes
iLast-Modified: Sat, 02 Oct 1999 05:33:11 GMT
| ETag: "268fcf9d97cbf1:13fc"
I Content-Length: 3086
<\rx\n><\r><\n> End of TEST HTTP header
\ Data 0000
0010
0020
0030
3c 68 74 6d 6c 3e Od 0a 3c 68 65 61 64 3e Od 0a
3c 74 69 74 6c 65 3e 46 69 67 75 72 61 20 2d 20
54 68 65 20 52 65 61 6c 6d 73 20 6f 66 20 74 68
65 20 54 72 75 65 3c 2f 74 69 74 6c 65 3e Od 0a
<html>..<head>..
<title>Figura -
The Realms of th
e True</title>. . jr|
4| ►|\Ресск»еД Matrix ДНо^ДРго^
Рис. 24,4. Сообщение-ответ HTTP
Из-за размера запрашиваемого файла, для передачи клиенту целого файла
потребовалось два дополнительных сообщения-ответа. Получив файл,
клиент просматривает его HTML-код. Как только там встречается тэг
изображения, браузер генерирует новое сообщение-запрос на файл под названием
5.gif и передает его серверу (рис. 24.5). Так, и сервер и клиент поддерживают
постоянные соединения, сообщение-запрос и сообщение-ответ для файла
5.gif передаются в ходе того же TCP-соединения. В противном случае,
немедленно после передачи последней части файла index.html сервер начал бы
процесс разрыва соединения, и браузер был бы вынужден начинать
установление нового соединения для передачи запроса на файл 5.gif.
Глава 24. Развертывание серверов Интернета
841
lUJNetXRay - Local/ЗСот Fast EtherLmk XL 10/1 OOMb TX Ethernet NIC (3C905B TX)_1 - |XRay3 : 10/46 Ethe... ИООЕЗ
S file Capture Eackat lools Window Help
[No. jSource Address {Pest Address |Layer {Summary
kttl*l
1
Г 2
ГЗ
Г 4
Г 5
lr б
Г7
Г8
Г 9
ГШ
jTll
Г 12
Г13
Г 14
Г15
|П6
<1
cz2
CZ3
192.168.
CZ3
CZ3
192.168.
192.168.
CZ3
192.168
192.168
192.168
CZ3
192.168
192.168
CZ3
CZ3
192.
21CZ3
192.
192.
21CZ3
21CZ3
192.
21CZ3
ARP Op=ARP Response, Src IP=192.168.2.21. Dest IP-192.1-
168.2.21 TCP 1743->World Wide Web HTTP.[Syn],S«1172SS3344.A-0.V-""
TCP World Wide Web HTTP->1743,[Syn].S-4048231157,A-1172-
168.2.21 TCP 1743->World Wide Web HTTP,S=11725S3345,A=4048231158
168.2.21 HTTP (END of header).Extension: Security/Remote-Passphra
HTTP (END of header).Content-Length: 3086Data (total 117
HTTP Data (total 454 bytes).(More data)
21 TCP 1743->World Wide Web HTTP.S=1172553715.A=4048234070
HTTP Data (total 453 bytes),(More data)
21CZ3
21CZ3
192.168.
21CZ3
21CZ3
192.168.
HTTP (END of header).Content-Length: 25775Data (total 12
HTTP Data (total 1456 bytes).(More data)
.21 TCP 1743->World Wide Web HTTP.S=1172553993.A=4048237435
HTTP Data (total 1456 bytes).(More data)
HTTP Data (total 1456 bytes),(More data)
.21 TCP 1743->World Wide Web HTTP.S-1172553993,A=4048240347 „
^.^^ ^F^s ;_v,^, |>r
Ш Щ5 ETHER-II: 00-10-5A-09-F1-ED —> 00-60-97-B0-77-CA
Щ T IP: 192.168.2.3->192.168.2.21.ID-62246
ф§р TCP: 1743->World Wide Web HTTP.S-1172553715.A-4048234523,W-8283
Й Ж HyperText Transfer Protocol
GET /5.gif HTTP/1.1
Accept: */*
Referer: h 11 p://vw.mycorp.com/
Accep t-Language: en-us
Accept-Encoding: gzip, deflate
Ц User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
JD Host: www.mycorp.com
Щ Connec t i on: Keep-A1ive
1| Extension: Security/Remote-Passphrase
Щ <\r><\nx\r)<\n> End of TEST HTTP header
Calculate CRC: 0xcdd9e025
41 ► l\ Decode Л Matrix Д Host A Protocol Dist. A Summary /
Рис. 24.5. HTML-файл может инициировать запросы на дополнительные файлы,
например, графические изображения
Как только клиент запросил, а сервер выслал все файлы, необходимые для
отображения начальной страницы Web-сайта, сервер начинает процесс
прекращения TCP-соединения с клиентом. Когда этот процесс завершается,
дальнейший обмен сообщениями между клиентом и сервером прерывается,
пока пользователь не инициирует новый запрос, щелкнув мышью на
гиперссылке или набрав URL в браузере.
FTP-серверы
Протокол передачи файлов FTP (File Transfer Protocol) представляет собой
один из протоколов прикладного уровня набора TCP/IP, позволяющий
авторизованному клиенту устанавливать соединение с сервером и проводить
передачу файлов с другой машины или на нее. Но FTP отличается от
совместного использования диска с другим компьютером сети. Доступ FTP
ограничивается только небольшим набором основных команд по управлению
файлами, а основная функция протокола заключается в копировании фай-
842
Часть УН. Сетевые службы
лов на локальную систему, а не получения доступа к ним по месту их
расположения на сервере.
Определенный стандартом IETF, опубликованным в документе RFC 959,
протокол FTP в течение многих лет оставался основным инструментом
систем на базе ОС UNIX. На всех рабочих станциях UNIX обычно запущен
демон FTP-сервера и присутствует клиент для FTP-сервера, поэтому многие
пользователи опираются на этот протокол при передаче файлов в рамках
ЛВС. Протокол FTP также является основным инструментом сети
Интернет, где существуют тысячи публичных серверов, откуда пользователи могут
загружать файлы. В операционных системах Windows со стеком TCP/IP
также присутствует FTP-клиент на символьной основе, хотя он
используется не так широко, как в ОС UNIX, a Web-браузеры имеют такую же
способность получать доступ к FTP-серверам. Возможности FTP-сервера
предоставляются в качестве части программных пакетов для организации Web-
сервера, таких как IIS.
Как и HTTP, протокол FTP использует TCP для предоставления
транспортных услуг и опирается на ASCII-текстовые команды для организации своего
пользовательского интерфейса. Все оригинальные реализации FTP для ОС
UNIX имеют символьную основу, как и FTP-клиент, включенный в
Windows NT и Windows 9x. С другой стороны, в настоящее время существует
множество графических FTP-клиентов, которые позволяют
автоматизировать ввод и передачу соответствующих текстовых команд серверу.
Наибольшее отличие протокола FTP от HTTP (как и от большинства
остальных протоколов) заключается в том, что FTP в ходе своих операций
использует номера двух портов. Когда FTP-клиент соединяется с сервером,
для установления управляющего соединения, он использует порт 21. Это
соединение остается открытым в течение всей сессии и используется
клиентом и сервером для обмена командами и ответами. Когда клиент
запрашивает передачу файла, сервер устанавливает второе соединение через порт 20,
которое и применяет для передачи файла, и разрывается немедленно после
того, как процесс передачи будет завершен.
В то время как ОС UNIX включает возможности FTP-клиента и сервера в
качестве частей операционной системы, устанавливаемых по умолчанию,
работа FTP-сервера в операционных системах Windows NT, 2000 или 98 требует
установки дополнительного программного обеспечения. Фирма Microsoft
поставляет FTP-сервер для своих операционных систем Windows NT/2000 в
качестве части IIS, вместе с Web-сервером. FTP исполняется как сервис,
который администраторы могут конфигурировать, как и Web-сервер, используя то
же приложение Internet Service Manager. Существует также несколько
достаточно мощных и популярных версий FTP-сервера, которые доступны
бесплатно или в виде тестовых версий.
FTP-сервер из набора IIS использует для аутентификации соединений
клиентов домены Windows NT или Active Directory, в то время как UNIX-
Глава 24. Развертывание серверов Интернета
843
системы обычно применяют для контроля доступа список имен
санкционированных пользователей, хранящийся на локальной машине. Большинство
случаев FTP-доступа в сеть Интернет являются анонимными, но в ЛВС
обычно требуется несколько больший уровень безопасности. Несмотря на
то, что сами FTP-серверы можно защитить от несанкционированного
доступа паролем, FTP-сообщения остаются совершенно беззащитными. Как и в
случае с HTTP, сообщения, передаваемые FTP-серверами и клиентами в
ходе обмена данными, представляют собой строки ASCII-текста, по
управляющему соединению они передаются открытым текстом. Если кто-либо
применит программу-монитор для перехвата пакетов во время их
путешествия по сети, имена учетных записей и пароли, служащие для
аутентификации соединений FTP-клиентов, будут легко видны.
По этой причине, при установлении соединения с FTP-сервером
администраторы не должны использовать учетные записи с возможностью доступа к
закрытым данным. Например, при работе в среде Windows NT FTP-сервера
из пакета IIS, вполне можно использовать учетную запись Administrator для
домена, но это подвергнет риску безопасность всей сети. Вместо этого,
целесообразнее создание новой регистрационной записи, имеющей только те
права, которые необходимы для работы с FTP, то есть такой записи,
которую легко можно изменить или удалить, если будет перехвачен пароль.
Команды FTP
FTP-клиент состоит из пользовательского интерфейса, который может быть
текстовым или графическим, и пользовательского интерпретатора протокола
(user protocol interpreter). Пользовательский интерпретатор протокола
взаимодействует с серверным интерпретатором протокола (server protocol interpreter)
посредством текстовых команд, проходящих через управляющее соединение
(рис. 24.6). Когда команды запрашивают передачу информации, один из
интерпретаторов протокола инициирует процесс передачи данных, который
взаимодействует с аналогичным процессом на другой машине, используя
соединение для передачи данных. Команды, формулируемые
пользовательским интерпретатором протокола, не обязательно должны соответствовать
командам традиционного текстового пользовательского интерфейса.
Например, для получения файла от сервера, требуется команда традиционного
текстового пользовательского интерфейса get плюс имя файла, но после
того, как пользовательский интерпретатор протокола получит эту команду,
он пошлет серверу уже команду retr с этим же именем файла. Таким
образом, пользовательский интерфейс можно изменять из соображений
языковой локализации или в связи с другими причинами, причем команды,
используемые интерпретаторами протокола, останутся совместимыми.
Следующие разделы описывают команды, применяемые интерпретаторами
протокола FTP.
844
Часть VII. Сетевые службы
Пользовательский
интерфейс
н
Пользовательский
интерпретатор
протокола
Процесс передачи
пользовательских
данных
Управляющее
""" соединение
Информационное
— соединение -
Серверный
интерпретатор
протокола
Процесс передачи
[серверных данных
Рис. 24.6- Интерпретаторы
протокола FTP-клиента
и сервера ведут обмен
управляющими сообщениями
Команды управления доступом
FTP-клиенты используют команды управления доступом для подключения к
серверу, аутентификации пользователя и разрыва управляющего соединения
в конце сессии. Эти команды перечислены ниже.
□ user имя пользователя. Задает имя учетной записи, используемой
сервером для аутентификации клиента.
□ pass пароль. Задает пароль, ассоциированный с ранее указанным
именем пользователя.
□ асст учетная запись. Определяет учетную запись, используемую для
доступа к специфическим свойствам файловой системы сервера. Команда
асст может использоваться в любой момент сессии, а не только в начале
процесса подключения, как команда user.
□ сwd путь. Изменяет рабочий каталог в файловой системе сервера на
каталог, заданный переменной путь.
О cdup. Сдвигает рабочий каталог в файловой системе сервера на один
уровень вверх, в сторону родительского каталога.
□ smnt путь. Монтирует другую структуру данных файловой системы на
сервере, не нарушая при этом аутентификации учетной записи пользователя.
□ rein. Прекращает текущую сессию, оставляя открытым управляющее
соединение и завершая любой процесс передачи данных, идущий в данное
время. Сразу после этого ожидается следование новой команды user.
□ quit. Прекращает текущую сессию и закрывает управляющее соединение
после завершения всех сеансов передачи данных, проходящих в данный
момент.
Глава 24. Развертывание серверов Интернета
845
Команды параметров передачи
Команды параметров передачи подготавливают системы к инициированию
соединения для передачи данных и идентифицируют тип файла, который
предполагается передавать. Эти команды перечислены ниже.
□ port host/port. Уведомляет сервер об IP-адресе и меняющемся номере
порта, который предполагается использовать во время соединения по
передаче данных. Переменная host/port состоит из шести целых чисел,
разделенных запятыми, которые представляют четыре байта IP-адреса и
номер порта (еще 2 байта).
□ pasv. Инструктирует сервер задать номер порта, который клиент будет
использовать при установлении соединения для передачи данных. Ответ
сервера содержит переменную host /port, как и в команде port.
□ type код типа. Определяет тип файла, который предполагается
передавать через соединение. В настоящее время используются следующие
варианты:
• а — обычный текстовый файл в формате ASCII;
• i — двоичный файл.
□ stru код структуры. Задает структуру файла. Установка по умолчанию f
(для файла) подразумевает, что файл представляет собой непрерывную
последовательность байтов. Два других варианта: r (для записи) и р (для
страницы) более не используются.
□ mode код режима. Задает для соединения режим передачи. Установка по
умолчанию s (для потока) подразумевает, что файл будет передан в
качестве потока байтов. Два других варианта: в (для блока) и с (для сжатия)
более не используются.
Команды сервиса FTP
Команды сервиса FTP позволяют клиенту управлять файловой системой
сервера и инициировать передачу файлов. Эти команды перечислены ниже.
□ retr имя файла. Предписывает серверу передать указанный файл клиенту.
□ stor имя файла. Инструктирует сервер получить от клиента указанный
файл, заместив, если это необходимо, файл с таким же именем в каталоге
сервера.
□ stou. Инструктирует сервер получить файл от клиента и дать ему
уникальное имя в каталоге сервера. Ответ сервера должен содержать это
уникальное имя.
□ арре путь. Предписывает серверу получить от клиента указанный файл и
присоединить его к файлу с таким же именем в каталоге сервера. Если
файл с таким именем не существует, сервер должен его создать.
846
Часть VII. Сетевые службы
П allo байты. Резервирует определенное число байт на сервере, прежде
чем клиент начнет фактическую передачу данных.
□ rest метка. Определяет позицию в файле, с которой должна начинаться
его повторная передача.
□ rnfr имя файла. Определяет имя файла, который следует переименовать.
За ней обязательно должна следовать команда rnto.
□ rnto имя файла. Задает новое имя для файла, упомянутого в команде rnfr.
□ abor. Прерывает выполнение текущей команды, обрабатываемой
сервером, закрывая любое соединение для передачи данных.
□ dele имя файла. Удаляет заданный файл на сервере.
□ rmd путь. Удаляет заданный каталог на сервере.
□ mkd путь. Создает на сервере каталог с заданным именем.
□ pwd. Возвращает имя текущего рабочего каталога сервера.
□ list путь. Инструктирует сервер передать ASCII-файл, содержащий
список содержимого указанного каталога, включая атрибуты.
□ nlst путь. Инструктирует сервер передать ASCII-файл, содержащий
список содержимого указанного каталога, но без атрибутов.
□ site строка. Передает серверу нестандартные команды, зависящие от
конкретной реализации.
□ syst. Возвращает название операционной системы, используемой сервером.
□ stat имя файла. При использовании команды в процессе передачи
файлов сервер возвращает индикатор статуса для текущей операции. Если
задать аргумент имя файла, сервер возвращает информацию list щш
указанного файла.
□ help строка. Возвращает справочную информацию, специфическую для
реализации сервера.
□ noop. Инструктирует сервер возвратить ответ "ОК". Используется в
качестве механизма поддержания сессии в открытом состоянии. Других
действий не выполняет.
Коды ответов FTP
FTP-сервер отвечает на каждую команду, отправленную клиентом, кодом
ответа, состоящим из трех цифр, и строкой символов. Как и в случае
протокола HTTP, эти коды ответов должны быть реализованы во всех серверах в
соответствии со стандартом протокола FTP. Коды ответов позволяют
клиенту определить свои дальнейшие действия. Некоторые из версий FTP-серве-
ров позволяют изменять текстовую строку, которая приходит вместе с
кодом, и демонстрируется пользователю.
Глава 24. Развертывание серверов Интернета
847
Первая цифра кода ответа показывает, было ли выполнение команды
завершено успешно, неудачно, или она вообще не была выполнена.
Возможны значения перечисленные ниже.
□ 1## — Positive preliminary reply (предварительный положительный ответ).
Сервер инициировал выполнение запрашиваемого действия и клиент
должен ожидать другого ответа, прежде чем отправить следующую
команду.
□ 2## — Positive completion reply (окончательный положительный ответ).
Сервер успешно завершил выполнение запрашиваемого действия.
□ 3## — Positive intermediate reply (промежуточный положительный ответ).
Сервер принял команду, однако требуется дополнительная информация,
прежде чем он сможет ее выполнить, поэтому клиент должен послать
другую команду, содержащую необходимую информацию.
□ 4## — Transient negative completion reply (временный отрицательный
ответ). Сервер не принял команду или не выполнил запрашиваемого
действия в силу временных обстоятельств, клиент должен послать данную
команду повторно.
□ 5## — Permanent negative completion reply (постоянный отрицательный
ответ). Сервер не принял команду или не выполнил запрашиваемого
действия и клиенту не рекомендуется (но не запрещается) повторно
посылать эту команду.
Вторая цифра кода ответа предоставляет более специфическую информацию
о природе сообщения. Возможны несколько значений второй цифры.
□ #0# — Syntax (синтаксис). Команда содержит синтаксическую ошибку,
которая помешала ее выполнению.
□ #1# — Information (информация). Ответ содержит информацию, которую
запрашивала команда, например, статус или справочные данные.
□ #2# — Connections (соединения). Ответ относится к управлению
соединением для передачи данных.
□ #3# — Authentication and accounting (аутентификация и учет). Ответ имеет
отношение к процессу подключения или процедуре учета использования
ресурсов.
□ #4# — Unused. He используется
□ #5# — File system (файловая система). Отражает статус файловой системы
сервера в результате выполнения команды.
Фактические коды ошибок, определенные стандартом FTP, перечислены
ниже.
П 110 — повторная передача с отметки.
□ 120 — сервис будет готов через ппп минут.
848
Часть VII. Сетевые службы
□ 125 — соединение по передаче данных открыто, начинается передача.
□ 150 — статус файла "ОК", идет подготовка к установлению соединения
для передачи данных.
□ 200 — команда выполнена успешно.
□ 202 — команда не реализована на этом сайте.
□ 211 — ответ о состоянии системы или системная справочная информация.
□ 212 — статус каталога.
□ 213 — статус файла.
□ 214 — справочное сообщение.
□ 215 — тип системы NAME.
□ 220 — сервис готов для нового пользователя.
□ 221 — сервис закрывает соединение для передачи данных.
□ 225 — соединение для передачи данных открыто, передача файлов в
данный момент не идет.
□ 226 — закрытие соединения для передачи данных.
□ 227 — вход в пассивный режим (hl,h2,h3,h4,pl,p2).
□ 230 — пользователь зарегистрирован и вошел в систему, можно продолжать.
□ 250 — запрашиваемое действие над файлом выполнено успешно.
□ 257 — каталог создан.
□ 331 — имя пользователя принято, требуется пароль.
□ 332 — для входа в систему требуется учетная запись.
□ 350 — запрашиваемое действие над файлом требует дополнительной
информации.
□ 421 — сервис недоступен, управляющее соединение закрывается.
□ 425 — соединение для передачи данных не удается открыть.
□ 426 — соединение прекращено, передача файла прервана.
□ 450 — запрашиваемое действие над файлом не произведено.
□ 451 — запрашиваемое действие прервано, локальная ошибка в обработке.
□ 452 — запрашиваемое действие не произведено, в системе недостаточно
места для хранения данных.
□ 500 — синтаксическая ошибка, команда не распознана.
□ 501 — синтаксическая ошибка в параметрах или аргументах.
□ 502 — команда не реализована.
□ 503 — неправильная последовательность команд.
Глава 24. Развертывание серверов Интернета
849
□ 504 — команда не реализована для данного параметра.
□ 530 — не проведена процедура входа в систему.
□ 532 — для сохранения файлов необходима учетная запись.
□ 550 — запрашиваемое действие не произведено, файл недоступен
(например, не найден или к нему не разрешен доступ).
□ 551 — запрашиваемое действие прервано, неизвестный тип страницы.
□ 552 — запрашиваемое действие над файлом прервано, превышен объем,
выделенный для хранения (для данного каталога или набора данных).
□ 553 — запрашиваемое действие не произведено, недопустимое имя файла.
Сообщения протокола FTP
Сессия FTP начинается с того, что клиент устанавливает соединение с
сервером, применяя графический пользовательский интерфейс или командную
строку, чтобы задать IP-адрес сервера или его DNS-имя. Первой задачей
является установление TCP-соединения с применением стандартной
процедуры трехстороннего подтверждения. FTP-сервер прослушивает порт 21 на
предмет входящих сообщений, и это новое FTP-соединение станет
управляющим соединением, которое будет оставаться открытым на протяжении
всей сессии. Первое FTP-сообщение передает сервер, объявляя о себе и
идентифицируя самого себя:
220 CZ2 Microsoft FTP Service (Version 5.0)
Как и в случае с любым другим сообщением, передаваемым в ходе ТСР-
соединения, для него требуется подтверждение. В ходе сессии обмены
сообщениями будут по мере необходимости прерываться пакетами TCP типа
АСК. После отправки начального подтверждения, клиент приглашает
пользователя ввести имя учетной записи и пароль, а затем проводит процедуру
регистрации пользователя и входа в систему:
USER anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
PASS michael@zacker.com
230 Anonymous user logged in.
Затем клиент информирует сервер о своем IP-адресе и номере порта,
который он будет использовать на клиентской системе с целью установления
соединения для передачи данных:
PORT 192,168,2,3,7,233
200 PORT command successful.
Числа 192, 168, 2 и з представляют собой десятичные значения четырех
байтов IP-адреса, а числа 7 и 233 — это байты значения номера порта, ко-
850
Часть VII. Сетевые службы
торые соответствуют 2025. Переведя значения обоих байтов в двоичную
систему (0000011111101001), а затем, конвертировав получившееся полное
двухбайтовое значение обратно в десятичную систему, можно получить именно
2025.
С этого момента клиент может посылать команды серверу, запрашивая
передачу файлов или выполнение процедур файловой системы, например,
создание или удаление каталогов. Одна из типичных команд клиента заключается в
запросе предоставления списка файлов каталога по умолчанию сервера:
NLST -1
В ответ на эту команду сервер информирует клиента о том, что он
собирается открыть соединение для передачи данных, так как список передается в
виде файла в формате ASCII:
150 Opening ASCII mode data connection for /bin/Is
Затем сервер запускает процедуру установления второго ТСР-соединения,
используя собственный порт 20 и порт 2025, обозначенный клиентом ранее
командой port. Как только соединение установлено, сервер передает
созданный им файл, который содержит листинг каталога. В зависимости от
числа файлов каталога, передача может потребовать отправки
многочисленных пакетов и подтверждений, после которых сервер немедленно высылает
первое сообщение в последовательности, прекращающей ТСР-соединение
для передачи данных. После того, как соединение для передачи данных
будет закрыто, сервер возвращается к управляющему соединению и завершает
передачу файла сообщением об успешном выполнении команды:
226 Transfer complete
С этого момента, клиент готов отдать очередную команду, например, запрос
на передачу другого файла, которая приведет к повторению всего процесса,
начиная с команды port. Кроме того, для выполнения каких-либо функций
клиент может задействовать только управляющее соединение. Когда клиент
готов к завершению всей сессии путем разрыва управляющего соединения,
он отправляет команду quit, и сервер отвечает подтверждением:
221
Глава 25
Сетевая печать
Совместное использование принтеров было одной из первичных мотиваций
при создании компьютерных сетей вообще, и в настоящее время, спустя
десятилетия, это одна из главных причин организации ЛВС. В большинстве
случаев пользователи должны регулярно печатать документы, но они не
делают этого непрерывно, поэтому расходы по обеспечению отдельным
принтером каждого служащего, которому он необходим, представляются
неоправданными. Кроме необходимости дополнительных затрат,
индивидуальные принтеры занимают достаточно много места на рабочих столах и
увеличивают нагрузку на системных администраторов, связанную с
обслуживанием оборудования.
Проблемы сетевой печати
Совместное использование принтеров множеством пользователей
представляет ряд технических и административных проблем, которые
администраторы должны разрешить еще на этапе планирования, желательно до
приобретения и установки принтеров. Наиболее важная проблема заключается в
том, что два или более пользователей, совместно использующих принтер,
могут захотеть выполнить печать своих документов одновременно. Поэтому
конкретное решение сетевой печати должно включать некие способы
сохранения заданий печати в очереди, пока принтер не будет готов их обработать.
Процесс временного хранения работ, предназначенных для печати, на
жестком диске носит название буферизации (spooling).
Буферизация заданий печати
В зависимости от используемой архитектуры печати буферизация заданий
печати может осуществляться как на диске локального компьютера, где они
были созданы, либо в специально отведенном для этого каталоге сервера. От
места расположения буферного файла (spool-file) зависит то, насколько
долго рабочая станция будет вовлечена в процесс печати. Если задания
печати ожидают выполнения на диске локальной машины, процессор данной
системы должен будет продолжать тратить такты и занимать пропускную
способность сети, чтобы отправить задание принтеру, когда тот окажется
852
Часть VII. Сетевые службы
готовым его выполнить. Использование сетевой очереди печати
предоставляет пользователю больше удобств, так как задание печати немедленно
передается серверу сети, и на этом участие рабочей станции в процессе печати
заканчивается.
Расположение ожидающих печати файлов может также определять,
насколько широкий диапазон мероприятий по управлению процессом печати
могут осуществлять администраторы сети. Если очередь заданий печати
хранится на сервере сети, то администраторы обычно могут манипулировать
отдельными заданиями путем изменения их очередности и приостановки
или отмены их выполнения. Если же очереди из файлов, предназначенных
для печати, хранятся на отдельных рабочих станциях, администраторам
становится существенно сложнее производить централизованное управление
процессом печати в целом.
Подключение принтеров
Другой важной проблемой является расположение самих принтеров. Крайне
важно найти конкретные места для размещения принтеров, которые
удовлетворяли бы требованиям пользователей сети, однако существует ряд
ограничений, связанных с типами соединений, применяемыми для подключения
принтеров к сети.
□ Соединения с сервером. В сети типа клиент/сервер, например, на базе ОС
Novell NetWare, соединение принтера и сервера способно свести к
минимуму объем сетевого трафика, создаваемого процессом печати, так как
при этом очередь заданий печати обычно располагается на том же
сервере. Недостатки этого метода связаны с тем, что использование
параллельных или последовательных соединений ограничивает как
максимальное расстояние между принтером и сервером, так и общее
количество принтеров, которые можно подключить к серверу. Например, если
сервер расположен в монтажном шкафу или информационном центре,
доступ пользователей к принтерам может быть в значительной степени
ограничен.
□ Соединения с рабочей станцией. Соединение принтера с рабочей
станцией возможно как в сети типа клиент/сервер, так и в одноранговой сети.
Несмотря на то, что рабочие станции используют такие же параллельные
и последовательные соединения, как и серверы, с аналогичными
ограничениями по расстоянию между принтером и компьютером, они
расположены намного ближе к пользователям, и количество рабочих станций в
сети на порядок больше, чем серверов. Последнее обстоятельство и
позволяет с большей свободой находить удобные для пользователей места
расположения принтеров. С другой стороны, рабочие станции могут
генерировать дополнительный сетевой трафик, если очередь заданий
печати располагается на другом компьютере. Кроме того, процесс печати бу-
Глава 25. Сетевая печать
853
дет дополнительной нагрузкой на процессор рабочей станции. То же
самое справедливо и для соединений с сервером. Однако серверы —
изначально более производительные машины и лучше справляются с
дополнительной нагрузкой.
□ Прямые соединения с сетью. Одним из наиболее популярных решений
ддя сетевой печати является подключение принтеров непосредственно к
сетевому кабелю при помощи самостоятельного сервера печати, который
принимает форму либо платы сетевого адаптера, устанавливаемой в
принтер, либо специализированного устройства, взаимодействующего с
принтером через параллельный кабель. Этот метод позволяет
расположить принтер в произвольном месте сети, где возможно соединение с
ней. Очередь заданий печати всегда должна располагаться на каком-либо
из компьютеров сети, который может быть как сервером, так и рабочей
станцией. При этом администраторы имеют возможность выбрать
систему, производительность которой позволяет обслуживать принтер.
Не только используемый тип соединения оказывает влияние на выбор места
расположения принтеров. Также следует учитывать и близость принтеров к
пользователям. Страшно неудобно проделывать долгий путь по длинному
коридору офиса каждый раз, когда необходимо отпечатать документ, но
настолько же неудобно иметь у себя на столе огромный гудящий и жужжащий
лазерный принтер, которым постоянно пользуются люди, приходящие и
уходящие сплошным потоком. Кроме того, что шум, издаваемый
принтерами, может быть крайне назойливым, они еще и выделяют при работе газы,
которые многие могут счесть вредными для здоровья. Идеальным
расположением для принтера будет место, удобное пользователям, но достаточно
удаленное от рабочих зон.
Выбор принтеров
С сетью может быть соединен практически любой принтер, так как именно
операционная система, а не сам принтер, отвечает за выполнение таких
задач, как буферизация заданий печати. И лазерные, и струйные, и даже
матричные принтеры находят свое применение. Лазерные принтеры остаются
наиболее популярным типом, особенно в коммерческих организациях,
поскольку они обеспечивают наилучшее качество печати. Помимо это они
имеют тенденцию к максимальной стоимости, хотя в последнее время цены
на них снизились до уровня, когда стал доступен весьма широкий спектр
устройств данного типа, от небольших индивидуальных моделей до
сложнейших профессиональных машин.
Струйные принтеры несколько дешевле лазерных, но при этом при печати
они обычно обеспечивают более низкое разрешение и менее хорошее ее
качество. С другой стороны, цветная печать с применением струйных принте-
854
Часть VII. Сетевые службы
ров оказывается намного проще и экономичнее. Качество печатной
продукции на выходе конечно далеко от профессионального, но вполне достаточно
для пробных отпечатков и домашнего использования. Технология струйной
печати также используется в многофункциональных офисных устройствах,
сочетающих в себе роли факса, принтера и сканера одновременно.
Матричные принтеры представляют собой самый дешевый из основных
типов принтеров, как с точки зрения покупки, так и с точки зрения
использования. Однако низкое качество их печати, а также медленная скорость и
высокий уровень шума ограничивают их применение лишь такими
специализированными областями, как, например, печать бланков или квитанций.
Существуют принтеры, специально предназначенные для применения в
сетях, так как они имеют ряд особенностей, делающих их более приемлемыми
для сетевого окружения. Эти особенности включают перечисленные ниже.
□ Более высокая скорость печати. Принтер, предназначенный для
использования в сети, обычно работает быстрее индивидуального принтера,
чтобы успевать справляться с работами, создаваемыми многочисленными
пользователями. Производители обычно выпускают принтеры с
несколькими скоростями печати (и уровнями стоимости), которые продаются в
качестве индивидуальных принтеров, принтеров для рабочих групп,
принтеров для массовой печати и так далее.
□ Более высокая мощность. Принтеры имеют определенную мощность,
влияющую на рекомендуемое максимальное число страниц, которое
может быть отпечатано данным принтером в течение месяца. Это значение
следует использовать при оценке сетевых принтеров. Даже самый
высококачественный принтер, весьма вероятно, будет иметь недолгую жизнь,
если количество отпечатанных страниц станет постоянно превышать его
возможности.
□ Встроенный сервер печати. Некоторые принтеры имеют встроенный
сервер печати с сетевым интерфейсом, который позволяет подключать
сетевой кабель непосредственно к принтеру. В большинстве случаев сервер
печати имеет вид платы, установленной в слот расширения внутри
принтера, то есть данное устройство может быть заменено для соответствия
требованиям различных сетей. Это нельзя назвать жизненно важным
моментом, потому что всегда можно приобрести сервер печати отдельно.
Однако безусловное удобство подобной системы очевидно.
□ Многочисленные загрузочные лотки для бумаги. Принтер с множеством
загрузочных лотков для бумаги и/или лотками большого объема способен
длительно обеспечивать разнообразные печатные работы без пополнения
запасов бумаги. Когда пользователям требуется выполнение печатных
работ на листах различного размера, принтер с многочисленными
загрузочными лотками для бумаги и драйвер, имеющий возможность их
различать, отлично справляются с такими работами без всякого посторон-
Глава 25. Сетевая печать
855
него ручного вмешательства. Если же принтер имеет только один
загрузочный лоток для бумаги, то работа, требующая бумаги иного размера,
остановит принтер, пока кто-либо вручную не вставит лист нужного формата.
□ Удаленное администрирование принтера. Большинство современных
принтеров имеют возможность двустороннего обмена данными, которая
позволяет администраторам устанавливать, конфигурировать, наблюдать и
управлять функциями множества принтеров сети централизованно. С
помощью специальной программы или Web-интерфейса возможна проверка
текущего рабочего состояния принтера и манипулирование его
элементами управления через сеть точно так же, как через панель управления
самого принтера. Однако следует отметить, что это относится к
возможностям собственно принтера и его программного обеспечения, в то время
как управление очередью заданий печати относится к функциям
операционной системы.
□ Внутренний жесткий диск. Некоторые принтеры могут использовать
внутренний жесткий диск для хранения часто используемых данных,
например, файлов шрифтов или титульных листов факсимильных сообщений,
что позволяет увеличить скорость процесса печати и уменьшает
создаваемый при этом трафик, пересылаемый по сети.
□ Комбинированные устройства. Комбинированные устройства формируют
очень быстро развивающуюся в последние годы область рынка
принтеров. Например, копировально-множительное устройство (copier)
фактически является одновременно сканером и лазерным принтером. Поэтому
для разработчиков весьма логичным решением было всего лишь добавить
к нему компоненты для обработки информации, предназначенной для
печати, и сетевой интерфейс, чтобы получить гибридное устройство,
которое было названо "мопир" (mopier). Этот прибор способен обеспечить
все основные функции копировально-множительного устройства, но
позволяет пользователям создавать документы непосредственно со своих
компьютеров. В отличие от большинства стандартных лазерных
принтеров, мопир способен создавать несколько копий документа без
необходимости многократной обработки данных одной и той же страницы.
Некоторые комбинированные устройства, кроме создания копий, также
позволяют использовать сканер для передачи информации по
факсимильной связи и оцифровки документов.
Ни одна из перечисленных особенностей не представляется решающе
важной. Можно приобрести самый примитивный персональный принтер с
минимальным набором базовых функций, и он будет вполне успешно работать
в сети. Выбор принтеров должен быть в первую очередь основан на
конкретных нуждах пользователей сети, а не на наборе "готовых к сетевому
применению" особенностей, которые могут очень пригодиться, а могут и
совершенно не понадобиться.
856
Часть VII. Сетевые службы
Выбор операционной системы
В качестве серверов для обслуживания сетевых принтеров вы можете
использовать компьютеры с операционными системами Windows, NetWare или UNIX.
Во многих сетях присутствует более чем одна или даже все упомянутые
операционные системы, поэтому встает вопрос о том, какую (какие) же из них на
самом деле следует использовать. Как и все остальные вопросы, имеющие
отношение к планированию сети, данный вопрос должен решаться, исходя,
главным образом, из нужд клиентов сети и возможностей их рабочих станций.
Операционные системы Windows NT/2000 и NetWare обеспечивают
примерно равные возможности по обслуживанию принтеров. Обе операционные
системы позволяют реализовывать комплексные стратегии печати,
поддерживающие интенсивную эксплуатацию принтеров и широкий диапазон их
типов. Если сеть использует в основном рабочие станции с ОС Windows, то
их можно сконфигурировать для применения как сетевых принтеров
Windows, так и принтеров NetWare или и тех и других одновременно.
Однако на каждую из рабочих станций Windows потребуется установить клиента
NetWare только для того, чтобы обеспечить ей доступ к принтерам NetWare,
если предполагается осуществлять через нее печать на этих принтерах.
Вообще говоря, установка клиента NetWare в систему на базе Windows только с
целью обеспечения доступа к принтерам не рекомендуется, так как данный
клиент имеет склонность замедлять работу машины. Поэтому, если рабочим
станциям сети не нужен доступ к NetWare для других целей, то более
практичным в данном контексте будет использование принтеров Windows.
Как упоминалось ранее, Windows NT и 2000 обладают лучшими
возможностями по обслуживанию принтеров, чем Windows 9x. Если выбор
осуществляется между рабочими станциями Windows 9x и серверами NetWare, то для
обслуживания принтеров выбор NetWare представляется более правильным
решением, особенно, если есть желание воспользоваться прогрессивными
возможностями типа организации пулов принтеров.
Рабочие станции UNIX еще более осложняют проблему сетевой печати.
Windows NT включает реализацию демона LPD (Line Printer Daemon, демон
линейного принтера) в виде сервиса под названием TCP/IP Print Server,
который позволяет клиентам UNIX, отвечающим стандарту RFC 1179,
посылать задания печати на принтеры Windows NT. Службы печати NetWare для
UNIX (NetWare Printer Services for UNIX), входящие в NetWare 4.2,
intraNetWare и NetWare 5, обеспечивают двустороннее решение, которое
позволяет клиентам UNIX получить доступ к принтерам NetWare, а
клиентам NetWare — использовать принтеры UNIX.
Выбор серверов печати
Практически любой компьютер сети может обслуживать принтер, однако
следует принимать во внимание, какое влияние на работающую систему может
Глава 25. Сетевая печать
857
оказать роль сервера печати. Как упоминалось ранее, задания печати могут
представлять собой файлы значительных размеров, поэтому крайне важно,
чтобы система, функционирующая в качестве сервера печати, имела
достаточно свободного дискового пространства и мощности процессора для того,
чтобы справляться с нагрузкой. Это имеет особенно большое значение, если
диск, где хранятся спул-файлы, содержит также и операционную систему.
Например, в системе с ОС Windows NT каталог по умолчанию для
буферизации C:\Winnt\System32\Spool. Если принтер длительное время не
выполнял свои функции, например, из-за нехватки бумаги, то в очередь может
поступить большое число заданий печати и заполнить диск целиком. Если
системный диск (то есть диск, где установлена операционная система)
лишится свободного пространства, Windows NT не сможет вносить изменения
в системный реестр и файл подкачки, что приведет к серьезным проблемам.
Если окажется, что данная машина служит также и контроллером домена,
последствия могут быть еще более серьезными.
То же самое справедливо и для NetWare, если очереди заданий печати
располагаются на томе SYS, и сервер содержит часть базы данных NDS (Novell
Directory Service). Администраторы могут лишиться возможности вносить
дополнения или изменения в структуру дерева NDS, а попытки
автоматической репликации базы данных могут закончиться неудачей. Операционная
система Novell NetWare предоставляет возможность выбора тома, где будут
храниться очереди заданий печати, непосредственно при создании очереди.
Настоятельно рекомендуется не выбирать для этих целей том SYS. В случае
же с Windows NT каталог для спул-файлов по умолчанию можно изменить с
помощью панели управления Printer Control Panel, выбрав Server Properties
(Свойства сервера) из меню File (Файл). На вкладке Advanced
(Дополнительные) можно изменить значение Spool Folder (Папка буфера печати) и
задать путь к каталогу другого диска.
Имеются также определенные установки системного реестра Windows NT,
которые можно использовать для указания альтернативного каталога буфера
печати. Этот каталог система станет использовать, если отсутствует
свободное место на диске, где расположен основной каталог буфера печати. Чтобы
задать альтернативный каталог буфера для всех принтеров, обслуживаемых
данной системой, необходимо создать элемент реестра типа regdz с
именем DefauitspooiDirectory. Этот элемент должен содержать путь к
каталогу и располагаться в следующем ключе системного реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
Для указания альтернативного каталога буфера печати для отдельного
принтера необходимо создать элемент реестра того же типа с именем
spooiDirectory в следующем ключе системного реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\Printe
rName
858
Часть VII. Сетевые службы
Переменная PrinterName соответствует имени принтера, который будет
использовать данный каталог для буфера печати.
Персональные компьютеры, выполняющие функции серверов Windows NT/
2000 или NetWare должны уже иметь аппаратное обеспечение, достаточное
для поддержания функциональности сервера печати, связанной с обработкой
данных и операциями ввода/вывода. С другой стороны, если планируется
совместно использовать принтеры, подключенные к рабочим станциям, то
соответствующее аппаратное обеспечение может и отсутствовать. Выполнение
функций сервера печати способно привести к значительному падению
производительности средней рабочей станции, особенно, если буферизация заданий
печати производится на другой рабочей станции, как это обьшно происходит
при совместном использовании принтеров в сетях Windows. Постоянный
приток заданий печати может сказываться на времени реакции приложений и
сильно расстраивать пользователя данного компьютера.
Эффект от обработки заданий печати клиентом NetWare с локальным
принтером, предоставленным в совместное использование, не оказывает столь
разрушительного влияния не работу системы, так как очередь заданий печати и
функции сервера печати возложены на другие компьютеры, но затраты
ресурсов на процессы ввода/вывода по-прежнему высоки. Если для обслуживания
принтеров необходимо использовать рабочие станции, то стоит выбрать
компьютеры, которые имеют достаточно ресурсов, чтобы справляться с
добавочной нагрузкой, связанной с выполнением дополнительных функций.
Администрирование принтеров
Администрирование принтеров, как правило, представляет собой больше
организационную, нежели техническую проблему. Обычно, когда один
принтер совместно используется многими пользователями, ни один из них
не хочет брать на себя персональную ответственность за него. Это может
привести к тому, что список заданий печати, ожидающих выполнения,
будет иметь гигантские размеры только лишь потому, что никто не
удосужился пополнить запасы бумаги принтера. Всегда должен быть некто, несущий
ответственность за проведение таких мероприятий по ежедневному
обслуживанию принтера, как, например, наполнение лотков для бумаги,
устранение заторов или замена черных и цветных картриджей. В зависимости от
расположения принтера и размеров организации, это может быть простой
пользователь или лицо, занимающееся поддержкой работы сети.
Даже если пользователям сети и поручены основные мероприятия по
обслуживанию принтера, все равно сохраняется необходимость присутствия
компетентного администратора для разрешения более сложных проблем.
Например, очень важно иметь кого-либо для управления заданиями печати,
стоящими в очереди на выполнение. Не так уж редки случаи, когда задание
печати подвергается искажениям на пути к принтеру, а если первые
символы задания печати не соответствуют правильному формату, принтер может
Глава 25. Сетевая печать
859
отпечатать сотни страниц, не имеющих совершенно никакого полезного
смысла. Кто-то с соответствующими знаниями и разрешением управлять
очередью заданий печати должен удалить неверное задание, пока на него не
потрачено слишком много времени и бумаги. В зависимости от
используемой архитектуры печати, администратор может также иметь возможность
изменить порядок выполнения заданий печати или приостановить
некоторые из них, так как они требуют слишком много времени или необходима
замена бумаги. Кроме эксплуатационных проблем могут также возникать и
намного более серьезные сложности, связанные с поломками и
неправильным функционированием самих печатающих устройств, а для их решения,
безусловно, требуется опытный специалист.
Сетевая печать Windows
Печать в сетях Windows сводится к установке принтера в системе,
выдвигаемой на роль сервера печати, а затем превращение этого принтера в
устройство совместного использования. Пользователи могут получать доступ к
принтеру, конфигурируя свои машины таким образом, чтобы отправлять
задания печати принтеру совместного использования, а не локальному
принтеру данного компьютера. Печать Windows основана на концепции
логического принтера, которая реализуется с помощью установки драйвера
принтера, как на системе сервера, так и на системе клиента. Логический
принтер (logical printer) представляет собой программный объект,
создаваемый при установке драйвера принтера на машине с ОС Windows. Установка
драйвера принтера осуществляется из панели управления Printers Control
Panel. Приложения посылают задания печати логическому принтеру, а тот, в
свою очередь, направляет их уже конкретному физическому печатающему
устройству, которое может быть подключено как к локальной машине, так и
к серверу печати, расположенному где-то в сети.
Существование логических принтеров позволяет создавать различные
конфигурации печати, предназначенные для обслуживания одного физического
принтера. Если принтер использует как PCL (Printer Control Language, язык
управления печатью), так и несколько PostScript PDL (Page Description
Language, язык описания страниц), то для каждого из языков PDL можно
создать отдельный логический принтер. Можно также сформировать
логические принтеры с различными установками конфигурации печати.
Например, один логический принтер может применять разделители страниц, а
другой — не использовать их, конфигурация третьего принтера может
позволять выполнять большие и сложные работы только в ночные часы.
Процесс печати Windows
Архитектура сетевой печати Windows предполагает обязательное наличие
логических принтеров, установленных и в системе клиента, и в системе сер-
860
Часть VII. Сетевые службы
вера. Логический принтер системы-сервера обращается к физическому
принтеру, используя параллельный, последовательный или специальный порт,
созданный внешним устройством сервера печати. Пользователь,
работающий на сервере, может при помощи этого логического принтера выполнять
печатные работы локально. После создания ресурса совместного
использования из логического принтера сервера клиенты могут создать свои
собственные логические принтеры, которые будут применяться для организации
печатных работ и отправки их серверу.
КГ Примечание ^|
Внешние сетевые серверы печати, например устройства JetDirect фирмы
Hewlett-Packard, не являются серверами печати в том же смысле, что и
системы Windows. Они не могут сами хранить задания печати и не появляются в
сети в качестве ресурсов совместного использования. В сети должен
существовать компьютер с логическим принтером, сконфигурированным для отправки
заданий печати через порт, созданный такими устройствами.
Процесс сетевой печати в том виде, в котором он осуществляется системами
на базе операционной системы Windows NT, показан на рис. 25.1. В других
операционных системах Windows имена файлов и каталогов могут быть
другими, однако основные принципы остаются теми же. Процедура печати
сводится к этапам, перечисленным ниже.
1. Клиент загружает драйвер принтера либо с локального диска, либо с
сервера печати. Драйвер принтера состоит из трех компонентов: библиотеки
графического драйвера печати (print graphics driver DLL), библиотеки драй-
вера интерфейса принтера (printer interface driver DLL), а также мини-
драйвера, либо файла описания принтера PostScript (PPD, PostScript Printer
Description). Модуль графического драйвера печати обеспечивает
подготовку выводимого на принтер изображения, услуги по управлению, а
также вызовы API, используемые GDI (Graphical Device Interface,
графический интерфейс устройства) системы Windows, когда приложение
печатает документ. Модуль драйвера интерфейса принтера отвечает за
интерфейс конфигурации (диалоговое окно свойств принтера). Мини-драйвер
или файл PPD позволяют задавать параметры конфигурации принтера,
специфичные для данного устройства.
2. Через GDI приложение, работающее в клиентской системе, создает
выходной файл, содержащий API-вызовы к драйверу принтера, для которых
используется интерфейс DDI (Device Driver Interface, интерфейс
драйвера устройства). Этот файл носит название файла журнала DDL
3. Спулер (spooler) системы-клиента получает файл журнала DDI и
помещает его в каталог C:\Winnt\System32\Spool до тех пор, пока процессор
печати не сможет его обслужить. Спулер также может выполнять
ограниченный объем подготовки файла к печати, которая завершается
процессором печати.
Глава 25. Сетевая печать
861
Сервер
Приложение
Клиент
п
Драйверы
принтера и GDI
Файл
журнала DD!
Процессор
печати
Спулер
клиента
Маршрутизатор
печати
Спулер
сервера
Монитор печати
еа
Файл задания
печати
Принтер
Рис. 25.1- Архитектура сетевой печати Windows типа клиент/сервер
Процессор печати (Winprint.dll) получает от спулера файл журнала DDI и
обрабатывает его с целью создания файла задания печати, используя для
этого формат, заданный в диалоговом окне свойств логического принтера.
Формат RA W предполагает, что задание печати уже обработано клиентской
системой, и результат отправлен серверу. Формат EMF (enhanced metafile)
используется при отправке файла журнала DDI серверу печати для
подготовки к печати. После обработки задание печати возвращается спулеру.
Маршрутизатор печати (Winspool.drv) получает задание от спулера
клиента, находит принтер, для которого оно предназначено, и передает это
задание через сеть спулеру сервера печати принтера. Спулер сервера
назначает заданию определенный приоритет и наблюдает за его выполнением.
Маршрутизатор печати также отвечает за копирование драйвера принтера
сервера печати. После первоначальной установки драйвера
маршрутизатор печати через определенные регулярные интервалы времени
сравнивает версию драйвера, установленного на системе-клиенте, с версией
драйвера, имеющегося у сервера печати, и проводит обновление версии
клиента, если это необходимо. Таким образом, администраторы могут ус-
862
Часть VII. Сетевые службы
танавливать на сервере новые версии драйвера принтера и автоматически
проводить обновление версий драйверов всех клиентов.
6. Монитор печати (Localmon.dll) сервера получает от спулера файл задания
печати и посылает его через параллельный, последовательный или иной
порт, ассоциированный с принтером совместного использования.
7. Как только файл задания печати будет обработан принтером, монитор
печати направляет системе-клиенту уведомление о завершении
выполнения задания. После этого спулер удаляет данное задание из очереди.
Монитор печати также отвечает за отслеживание ошибок, допускаемых
принтером, и повторное выполнение принтером тех заданий, которые
необходимо перепечатать из-за возникших ошибок.
Конфигурация принтеров Windows
Практически любой административный доступ к архитектуре печати в
операционных системах Windows 95, 98, NT и 2000 осуществляется с помощью
панели управления принтерами (Printers Control Panel). Мастер Add Printer
(Добавить принтер) может провести пользователя через все шаги по созданию
логического принтера, как на машине, функционирующей в качестве сервера
печати, так и на клиентской системе. Системы Windows NT и 2000
предоставляют возможность создания ресурса совместного использования каждый раз,
когда осуществляется установка локального принтера. В других операционных
системах потребуется вручную предоставить принтер в совместное
использование, уже после его установки. При установке клиента принтер совместного
использования выбирается из разворачивающегося дерева сети, и, если этот
принтер обслуживается сервером с Windows NT/2000, который имеет уже
установленные соответствующие драйверы, то клиент автоматически загружает
драйверы сервера и устанавливает их. В ином случае пользователю самому
придется выбрать подходящий для принтера драйвер.
Как только логический принтер создан, его конфигурацию можно изменить
через диалоговое окно Properties (Свойства), доступное через меню File
(Файл) в панели управления принтерами. Элементы управления, доступные
в этом диалоговом окне, несколько отличаются, в зависимости от
операционной системы, работающей на данной машине. Например, система
Windows 98 всегда показывает диалоговое окно Windows 98, даже если
логический принтер соответствует серверу печати Windows NT.
Любая система Windows может функционировать в качестве сервера печати,
но Windows NT и 2000 предоставляют больше дополнительных
возможностей, которые способны обеспечить существенную гибкость. При этом
всегда следует помнить, что контролировать эти возможности можно только с
помощью системы на базе Windows NT/2000. Диалоговое окно Properties в
системах Windows 9x просто не имеет соответствующих элементов
управления. Некоторые из прогрессивных функций печати, обеспечиваемых
Windows NT и 2000, описаны в следующих разделах.
Глава 25. Сетевая печать
863
Использование пулов принтеров
В то время как любая система Windows может иметь множество логических
принтеров, которые обслуживаются одним физическим принтером, система
Windows NT/2000 способна иметь один логический принтер, который
обслуживается несколькими физическими принтерами. Эта возможность
носит название пула принтеров и помогает справляться с возрастающим
объемом заданий печати путем добавления к логическому принтеру новых
физических принтеров, вместо того, чтобы изменять конфигурацию некоторых
рабочих станций для использования иного логического принтера.
Принтеры пула могут быть соединены с локальной машиной или
удаленными системами, что позволяет создавать пул практически любого размера.
Единственное ограничение сводится к тому, чтобы все принтеры пула были
одной и той же модели, так как для обработки всех заданий печати
используется один драйвер. Для удобства пользователей сети принтеры должны
располагаться в одном месте, так как пользователи не знают в точности,
какой именно принтер пула выполнял их задания печати и осуществлял
печать конкретного документа.
#QMS860 Properties
General Ports J Scheduling] Sharing) Security j Device Settings |
*PS
QMS860
frint to the following port(s). Documents will print to the first free
checked port.
Port
|ЩЕШ1
isfi LPT2:
S3 LPT3:
UC0M1:
П COM2:
G COM3:
I H тыл-
! Description
Local Port
Local Port
Local Port
Local Port
Local Port
Local Port
1 <-w>al Pnrt
) Printer
QMS860,HPLase..
.jSl
Add Port..
Г* Enable bidirectional'support
ft/ Enable printer pooling
| Delete Port j Configure Port... I
OK
Cancel
Рис. 25.2. Возможность Windows NT создания пула принтеров позволяет
многочисленным принтерам обслуживать одну очередь заданий печати
Для создания пула на вкладке Ports (Порты) диалогового окна свойств
принтера необходимо отметить флажок Enable printer pooling (Опрос прин-
864
Часть VII. Сетевые службы
теров), как показано на рис. 25.2. Также на этой вкладке диалогового окна
перечислены все LPT- и СОМ-порты данного компьютера, и можно указать
все порты, к которым присоединен принтер. Если для присоединения
принтера к сети используется внешний сервер печати, его программное
обеспечение создает дополнительные порты, которые также можно добавить в пул.
Установка дополнительных
драйверов принтера
В качестве одного из элементов создания в системе Windows NT/2000
логического принтера, который будет представлять локально установленное
устройство, проводится установка драйвера для операционной системы. Однако
так же можно установить дополнительные драйверы для других
операционных систем Windows, включая Windows 9x, предыдущие версии Windows NT,
а также версии Windows NT/2000 для иных аппаратных платформ,
например, Alpha, MIPS или PowerPC.
# QMS8G0 Properties
General | Ports | Scheduling Sharing | Security | Device Settings |
QMS860
PS
С Nonshared
<* Shared
Share Name: JQMS860
You may install alternate drivers so that users on the following systems can
download them automatically when they connect
Alternate Drivers:
Windows NT 4.0 xWnsta'iiedf
Windows NT 4.0 MIPS
Windows NT 4.0 Alpha
Windows NT 4.0 PPC
Windows NT 3.5 or 3.51x86
Zl
To modify the permissions on the printer, go to the Security tab.
OK
I Cancel
Рис. 25.3. Сервер печати Windows NT может предоставлять
клиентам драйверы принтера для различных операционных систем
Хотя сама система и не использует эти дополнительные драйверы, она
делает их доступными для клиентов. Когда пользователь системы-клиента
создает логический принтер, указывающий на принтер совместного
использования системы Windows NT/2000, мастер Add Printer (Добавить принтер) свя-
Глава 25. Сетевая печать
865
зывается с сервером и сообщает ему версию операционной системы,
работающей на компьютере клиента. Если драйвер для этой операционной
системы уже установлен на сервере, клиент автоматически копирует его на
локальный диск и инсталлирует. Если соответствующего драйвера на сервере
нет, то пользователь должен самостоятельно выбрать его из стандартного
списка производителей и моделей принтеров.
Чтобы установить на компьютере с Windows NT дополнительные драйверы
для существующего логического принтера, потребуется выбрать вкладку
Sharing (Совместное использование) диалогового окна Properties (Свойства)
принтера, после чего окно изменит вид, изображенный на рис. 25.3. В
системе Windows 2000 необходимо щелкнуть мышью по кнопке Additional
Drivers (Дополнительные драйверы) на вкладке Sharing (Совместное
использование). После того как выбрана операционная система, для которой
устанавливаются драйверы, система предложит указать расположение
необходимых файлов дистрибутива и произведет их копирование на локальный диск.
Создание расписания и установка
приоритетов принтеров
Некоторые задания печати монополизируют принтер на длительный срок, так
как состоят из многих страниц или содержат сложную графику, требующую
слишком много времени для подготовки файла к печати. В подобных случаях
логический принтер может быть сконфигурирован для выполнения заданий
только в определенные часы. На вкладке Scheduling (Расписание) диалогового
окна Properties (Свойства) принтера (рис. 25.4) можно задать диапазон
времени суток, в течение которого принтер будет доступен.
Если предполагается, что пользователи сети способны понять различие
между такими принтерами, то на сервере печати можно создать два логических
принтера совместного использования, один из которых будет доступен только
в нерабочее время, но оба они будут указывать на один физический принтер.
Это подразумевает, что пользователи станут обращать внимание на размеры
своих заданий печати и окажутся достаточно добросовестными, чтобы
откладывать их выполнение, используя другой принтер совместного
использования, если это действительно необходимо.
Указанную возможность также стоит применять для обеспечения
ограниченного доступа пользователей к конкретному принтеру. Например, если
нежелательно, чтобы некоторые пользователи посылали свои печатные
работы на цветной принтер в течение рабочего времени. Можно создать один
логический принтер, позволяющий избранным пользователям получить
доступ к принтеру в любое время, защитив его правами доступа к ресурсу
совместного использования, а затем создать второй логический принтер для
всех остальных пользователей, который позволяет осуществлять печать
только по окончании рабочего дня.
866
Часть VII. Сетевые службы
ф QMS8B0 Properties
Ш
General | Ports Scheduling | Sharing ] Security | Device Settings j
Available: & Nwaysj
Г From |l2:WAM;jj lo |l?:0iUMT?j
Priority—— -- - - -
kowesl ;J—■'"" ""■'"" ™ ..^„.„„„„.„n„,,„„-,„„„■ ■„,,„ Highest
Current Priority: 1
(* Spool print documents so program finishes printing faster
f" Start printing after jast page is spooled
<•* Start printing .immediately
С Print directly to the printer
Г" Hold mismatched documents
Г* Print spooled documents first
Г" Keep documents after they have printed
OK
Cancel
Рис. 25.4. Windows NT может распределять часы использования
принтеров и назначать различным клиентам уровни приоритета
Другой способ управления доступом к физическому принтеру заключается в
создании множества логических принтеров с различными уровнями
приоритета и правами использования разделяемого ресурса. Элемент управления
Priority (Приоритет) на вкладке Scheduling (Расписание) диалогового окна
Properties (Свойства) принтера позволяет задать значение уровня приоритета
для логического принтера в пределах от 1 до 99. По умолчанию задается
значение 1, представляющее собой самый низкий уровень приоритета. Можно
создать несколько логических принтеров, указать для них возрастающие
значения уровней приоритета, а затем использовать систему прав для
определения того, какие именно пользователи должны получать приоритетный
доступ к принтеру. Когда очередь заданий печати сервера содержит
многочисленные задания, задания с более высоким уровнем приоритета всегда
обрабатываются в первую очередь.
Однако как только печать задания уже началась, она уже не прерывается из-
за прибытия в очередь задания с более высоким уровнем приоритета.
Защита принтеров
Все операционные системы Windows позволяют ограничивать доступ к
принтерам совместного использования, независимо от формы контроля дос-
Глава 25. Сетевая печать
867
тупа, для применения которой сконфигурирована данная система.
Например, операционные системы Windows 95 и Windows 98 могут осуществлять
управление доступом на уровне ресурсов совместного использования,
запрашивая у пользователя пароль данного ресурса, прежде чем разрешить
ему доступ, а также управление на уровне пользователей, разрешая доступ к
принтеру определенным пользователям и их группам. Однако в обоих
случаях доступ предоставляется по принципу "все или ничего". Либо
пользователь имеет полный доступ к принтеру, либо не имеет вообще никакого.
Операционные системы Windows NT и 2000 обеспечивают более гибкую
форму управления доступом, которая позволяет определить, какие именно
действия разрешается предпринимать пользователям. Эта возможность
значительно упрощает делегирование отдельным пользователям рутинных
операций по администрированию принтера без предоставления им полного
контроля над принтером. Чтобы сделать это в системе Windows NT,
необходимо щелкнуть мышью по кнопке Permissions (Разрешения) на вкладке
Security (Безопасность) диалогового окна Properties (Свойства) принтера,
чтобы увидеть окно, показанное на рис. 25.5.
Pi inter Permissions
Printer: QMS860
£)wner: Administrators
Name:
I Administrators
craigz (Craig Zacker)
> CREATOR OWNER
I Everyone
\ Print Operators
\ Server Operators
Type of Access:
OK I Cancel j
Full Control
Full Control
Manage Documents
Full Control
Full Control
Full Control
Full Control
No Access
Print
lyjanagePpcuments
Рис. 25.5. Диалоговое окно Printer Permissions управляет
доступом к принтеру в системе Windows NT
Здесь можно выбрать пользователя или группу и предоставить им доступ
одного из следующих уровней:
О No Access (Нет доступа). Запрещает пользователю или группе любой вид
доступа к ресурсу совместного использования. В то время как остальные
права допускают сохранение уже назначенных прав, No Access отменяет
любые существующие права. Это означает, что если, например,
пользователи, имеющие право Print вследствие членства в определенной группе,
868
Часть VII. Сетевые службы
получают право Manage Documents в соответствии со своими
индивидуальными учетными записями, то они будут сохранять оба указанных
права. Однако если учетные записи каких-либо пользователей получат
вместо этого право No Access, то это перекроет право Print, и любой доступ
к принтеру данным пользователям будет запрещен.
□ Print (Печать). Разрешает пользователям и группам печатать документы,
но запрещает им любой другой вид доступа к принтеру.
□ Manage Documents (Управление документами). Дает возможность
пользователям приостанавливать, вновь запускать, удалять и повторно
выполнять задания печати из очереди, а также управлять свойствами отдельных
документов.
□ Full Control (Полный доступ). Заключает в себе все возможности прав
Print и Manage Documents, как и возможности приостанавливать и
запускать после паузы работу самого принтера или осуществлять его чистку, а
также изменять порядок заданий, ожидающих печати в очереди,
изменять свойства принтера и разрешения на доступ к нему, и наконец,
удалять сведения о принтере.
Операционная система Windows 2000 еще более расширила эту и без того
гибкую систему, позволив назначать или запрещать пользователям и
группам следующие шесть прав для доступа к текущему принтеру, только
документам или, как к принтеру, так и к документам одновременно:
□ Print (Печать);
□ Manage Printers (Управление принтерами);
□ Manage Documents (Управление документами);
□ Read Permissions (Просмотр разрешений);
□ Change Permissions (Изменение разрешений);
□ Take Ownership (Смена владельца).
Сетевая печать NetWare
Так как операционная система NetWare относится к типу клиент/сервер
сетевых операционных систем, ее архитектура печати в большей степени
опирается на серверы. По-прежнему возможно присоединение принтера к
серверу, рабочей станции или напрямую к сетевому кабелю, однако задания
печати и их очередь должны располагаться исключительно на сервере.
Традиционная архитектура печати NetWare состоит из трех элементов.
□ Принтер. Представляет сам физический принтер и содержит
информацию о том, как этот принтер соединен с сетью, и какую очередь заданий
печати он будет обслуживать.
Глава 25. Сетевая печать
869
О Очередь заданий печати. Представляет том сервера NetWare, где будут
храниться задания печати в ожидании своего обслуживания принтером.
□ Сервер печати. Программный или аппаратный модуль, получающий
доступ к заданиям печати, стоящим в очереди на выполнение, и
передающий их соответствующему принтеру.
Эти элементы представлены объектами NDS в сетях на основе NetWare 4 и
5, что позволяет осуществлять их конфигурацию с применением утилит
NetWare Administrator или Pconsole.exe. В своей простейшей форме
архитектура печати NetWare состоит из принтера, соединенного с параллельным
или последовательным портом сервера, каталога очереди заданий печати
того же сервера и сервера печати Pserver.exe, также исполняемого этим
сервером NetWare, как показано на рис. 25.6. В данном случае процесс печати
проходит следующим образом:
1. Клиент NetWare создает файл задания печати обычными способами. В
системе Windows это требует использования стандартных драйверов для
принтеров данного типа и GDI. Серверы печати NetWare не
обеспечивают каких бы то ни было мероприятий по подготовке печатаемого
изображения, поэтому файл, созданный клиентом, должен быть уже готов к
выводу непосредственно на принтер.
Клиент
п
nzzq Сервер
Приложение
Драйверы
принтера и GDI
Файл
задания печати
Рис. 25.6- Архитектура печати Novell NetWare
Принтер
2. Файл задания печати поступает в очередь заданий печати на сервере
NetWare одним из двух способов. Приложение может быть
сконфигурировано для передачи задания прямо в очередь, либо вывод на печать
перехватывается через порт принтера (например, LPT1), после чего
перенаправляется в очередь заданий печати. Как только задание доставлено в
очередь, роль клиента в процессе печати завершается. После того как за-
870
Часть VII. Сетевые службы
дания печати встали в очередь, их выполнение может быть
приостановлено администратором. Он же может изменить порядок выполнения
заданий, а также осуществлять мероприятия по их распределению.
3. Сервер печати считывает задание из очереди и отправляет его принтеру
через соответствующий порт. Как только печать завершена, данное
задание печати удаляется из очереди.
Взаимоотношения между объектами, вовлеченными в процесс печати,
конфигурируются с помощью утилит NetWare Administrator или Pconsole.exe.
Объекты сервера печати ассоциированы с конкретными принтерами,
принтеры, в свою очередь, ассоциированы с соответствующими очередями
заданий печати. При данном сценарии все объекты, связанные с печатью,
находятся в пределах одного сервера, но также они легко могут быть разделены
на несколько частей. Можно соединить принтер с другим сервером или
рабочей станцией, используя стандартный параллельный или
последовательный порт. Однако после этого в данной системе понадобится запустить
программу под названием драйвер порта, которая позволит системе получать
задания от сервера печати и отправлять их на принтер через
соответствующий порт. Программа драйвера порта для серверов называется Nprinter.nlm,
для операционных систем Windows 9x следует пользоваться программой
Nptwin95.exe, и, наконец, в Windows Зх применяется Nprinter.exe.
Аналогичным образом, очередь заданий печати может располагаться на
любом томе произвольного сервера сети. Как и в случае с печатью Windows
существует возможность иметь несколько очередей заданий печати,
обслуживаемых одним принтером, а также множество принтеров, обслуживающих
одну очередь. Сервер печати должен принимать форму либо NLM (NetWare
Loadable Module, загружаемый модуль NetWare), исполняемого сервером
NetWare, либо отдельного устройства, например, сервера печати HP JetDirect.
Сервер печати JetDirect позволяет присоединять принтер непосредственно к
сетевому кабелю и обслуживает только данный принтер. Программа
Pserver.nlm, исполняемая сервером NetWare с любой версией ОС, допускает
поддержку до 256 принтеров, соединенных с серверами и рабочими
станциями по всей сети.
Несмотря на то, что разделение элементов процесса печати путем
помещения их на разные машины может быть достаточно удобно, следует также
принимать во внимание дополнительную нагрузку на сеть из-за
возрастающего сетевого трафика. Файлы заданий печати могут иметь гигантские
размеры, так как они содержат графические элементы, шрифты и другую
информацию в "сыром", то есть не сжатом виде. Файл вывода на печать
небольшого документа текстового процессора может иметь размер в несколько
мегабайт, а величина файлов с большим количеством графики и других
элементов часто превышает 100 Мбайт. Когда все элементы печатного процесса
находятся в пределах одного сервера, эти файлы требуется передать по сети
Глава 25. Сетевая печать
871
всего лишь однократно, от клиента к серверу. С другой стороны, если
принтер, очередь заданий печати и сервер печати расположены в разных местах,
каждый файл придется передавать уже три раза.
Распределенная служба печати Novell
Операционная система NetWare 5 поддерживает традиционную систему
печати NetWare, основанную на очередях заданий печати, однако более
предпочтительная архитектура печати для этой версии ОС носит название Novell
Distributed Print Services (NDPS, распределенная служба печати Novell).
Оригинальная архитектура печати NetWare была разработана задолго до появления
NDS, и когда появилась новая служба каталогов, объекты, представляющие
три элемента печати, были включены в нее. NDPS заменяет старую
архитектуру печати единым элементом под названием "агент принтера" (PA, Printer
Agent), который выполняет все функции объектов принтера, сервера печати
и очереди заданий печати.
Как и ранее, принтеры NDPS можно присоединять к серверам, рабочим
станциям или сетевому кабелю, а агент принтера теперь имеет вид либо
программы, исполняемой сервером, либо специального устройства,
интегрированного в принтер. РА управляет процессом обработки заданий печати,
управляет двусторонним взаимодействием между принтером и сетевыми
клиентами, а также уведомляет пользователя о статусе работы и ошибках
принтера. Для создания РА на сервере сначала следует создать в дереве NDS
объект NDPS Manager.
Принтер NDPS может быть сконфигурирован в качестве принтера со
свободным доступом или в качестве принтера с контролируемым доступом.
Принтер со свободным доступом может быть использован всеми
работающими в сети, и обладает минимальным набором возможностей
администрирования и создания уведомлений. Принтер с контролируемым доступом
представлен в базе данных NDS объектом Printer, который не только позволяет
устанавливать права NDS для ограничения доступа к принтеру, но и
обеспечивает более всесторонние возможности администрирования и отправки
уведомлений. Например, администратор может сконфигурировать объект
Printer для отправки уведомлений по электронной почте каждый раз, когда
принтер выходит из строя или испытывает специфические трудности,
например, из-за застревания бумаги. Архитектура администрирования также
обладает определенной расширяемостью, которая позволяет независимым
разработчикам создавать всевозможные интерфейсы, обеспечивающие
звуковые уведомления и другие дополнительные возможности.
NDPS представляет собой архитектуру принтеров, которая не зависит от
протоколов, в отличие от архитектуры печати, основанной на очередях,
требующей обязательного использования протокола IPX. NDPS также сильнее
интегрирована в NDS, чем старая версия архитектуры печати. NetWare
Administrator функционирует в качестве интерфейса для широкого диапазо-
872
Часть VII. Сетевые службы
на параметров конфигурации принтера и индикаторов статуса.
Функциональность ограничивается только способностями двустороннего обмена
самого принтера. Принтеры можно объединять в группы с целью управления
доступом к ним. Также существует возможность, задав свойства объектов-
принтеров, вести поиск принтеров с определенными свойствами.
Novell Print Manager представляет собой утилиту NDPS для пользователей,
которая позволяет им обнаруживать принтеры в сети и устанавливать их, а
также изменять параметры конфигурации принтера (например, размер
страницы) и проверять текущее состояние принтера, включая число заданий, в
данный момент ожидающих обработки. NDPS также обеспечивает возможность
автоматической загрузки драйверов, практически аналогично Windows NT/
2000. Когда пользователь устанавливает принтер NDPS, рабочая станция
загружает драйвер этого принтера из базы данных и устанавливает его без уча-
тия пользователя в задании конкретной модели принтера.
Конфигурация принтера NetWare
Когда архитектура печати NetWare была впервые адаптирована к NDS,
необходимо было по отдельности создавать объекты Printer (Принтер), Print Queue
(Очередь печати) и Print Server (Сервер печати), а затем вручную
конфигурировать связи между ними таким образом, чтобы сервер печати мог управлять
принтером, а принтер мог обслуживать очередь заданий печати. В настоящее
время утилиты NetWare Administrator или Pconsole.exe обладают
возможностью под названием Print Server Quick Setup (быстрая установка сервера
печати), позволяющей создать все три объекта одновременно и автоматически
конфигурирующей взаимоотношения между ними (рис. 25.7). Как только
утилита создала указанные базовые объекты, можно задать значения для их
свойств или добавить новые объекты в целях изменения стратегии печати.
Диалоговое окно деталей объекта Printer (рис. 25.8) предоставляет
возможность указывать, какие именно очереди заданий печати данный сервер будет
обслуживать, а также указать значение уровня приоритета (от 1 до 10) для
каждой из очередей. Как и в случае с сервером печати Windows NT, эти
настройки можно применять для предоставления некоторым пользователям
приоритетного доступа к принтеру. В диалоговом окне деталей объекта Print
Queue расположены объекты Printer и Print Server, ассоциированные с
данной очередью заданий печати, однако здесь нет возможности изменить их.
Тем не менее, именно в этом диалоговом окне можно просмотреть список
заданий печати, стоящих в данный момент в очереди, а также выбрать
пользователей, которым разрешается передавать задания в эту очередь и
пользователей, назначаемых в качестве операторов очереди. Пользователи очереди
могут манипулировать своими собственными заданиями, помещенными в
очередь, удаляя их или приостанавливая их выполнение. Оператор очереди
может управлять любыми заданиями в очереди, изменяя их порядок,
приостанавливая выполнение или удаляя их.
Глава 25. Сетевая печать
873
Print Services Quick Setup fNon-NDPS)
Print Server name:
Create
-Printer
Name:
lype:
fianner type:
|P2
| Parallel
[Tex!
—3
Communication...
Cancel
Help
-Print Queue ~
Name:
Volume:
|Q3
|NWSERVER_SYS
j*]
Рис. 25.7. Инструмент Print Server Quick Setup
утилиты NetWare Administrator
^j Punter (NonNDPS): P1
Assignments
Print server:
PS-corpnetcorpnet
Print (jueues:
i jQueue
Q2.corpnet
Priority
d
Add... | Delete | priority: [Г
Default print queue:
IQI.corpnet
OK
J Cancel I Page Options-
Help
Identification
Assignments
Configuration
Notification
Features
5
3
Э
3
Security Equal To Me
3
See Also
3
Рис. 25.8. Диалоговое окно сведений об объекте Printer
Диалоговое окно деталей объекта Print Server позволяет выбрать принтеры,
которыми данный сервер будет управлять, предоставить привилегии
пользователя сервера и оператора сервера, а также увидеть схему печати,
отображающую все объекты, связанные с данным сервером печати, как показано на
рис. 25.9. В сетях со сложной инфраструктурой печати эта возможность
обеспечивает отличный "вид сверху" на операции, имеющие отношение к печати.
874
Часть VII. Сетевые службы
ЕЭД Print Server (Non NDPS): PS-coipnet
Print Layout (Non NDPS)
[ЙЖ PS-corpnet
^®"P1
tMQ1
Update
Identification
Assignments
Users
Operator
Auditing Log
Security Equal
To Me 1
Print Layout (Non NDPS)
OK J Cancel 1 Page. Options... I Help |
Рис. 25.9- Диалоговое окно сведений об объекте Print Server
Сетевая печать UNIX
Огромное количество всевозможных вариантов UNIX используют широкий
диапазон решений печати. Одно из наиболее популярных решений
заключается в использовании демона LPD (Line Printer Daemon, демон линейного
принтера), запущенного на рабочей станции. В UNIX-системах демон
(daemon) представляет собой программу, исполняемую непрерывно в
фоновом режиме, во многом аналогичную сервису Windows NT. LPD является
демоном, который заставляет систему, где он работает, функционировать в
качестве сервера печати. Системы-клиенты могут посылать свои задания печати
LPD-системе, которая проводит их буферизацию, пока принтер не сможет их
обслужить. Таким образом, базовая архитектура сетевой печати UNIX состоит
из клиентов, серверов, а также заданий печати, стоящих в очереди, что в
целом аналогично тому, что происходит в сетях Windows или NetWare.
После того как принтер установлен на локальной машине, конфигурация
системы для функционирования в качестве сервера печати обычно
заключается в создании буферного каталога, где будут храниться задания печати в
ожидании обработки принтером, а также формировании базы данных
возможностей принтеров, размещаемой в специальном файле. Этот файл
перечисляет имена принтеров, которыми управляет данный сервер, с указанием их
возможностей. Демон просматривает содержимое файла каждый раз, когда в
Глава 25. Сетевая печать
875
спулер поступает файл для печати. Администраторы управляют доступом к
принтеру, перечисляя имена авторизованных пользователей в файле hosts.lpd.
Протокол для обмена данными между демоном LPD и системой-клиентом
определен в документе RFC 1179 под названием "Line Printer Protocol",
опубликованном IETF в августе 1990 г. RFC 1179 представляет собой
информационный документ, а не стандарт TCP/IP, который определяет
функции сервера печати, разработанные для операционной системы BSD UNIX в
1980-х годах. Протокол LPD требует от сервера печати с запущенным
демоном LPD прослушивать порт 515 на предмет входящих TCP-соединений от
клиентов. Клиенты должны применять номера портов с 721 по 731
(включительно), и как только соединение установлено, могут посылать серверу
задания печати, а также команды, позволяющие им проверять состояние и
управлять заданиями, стоящими в очереди.
Большинство приложений UNIX обеспечивают прямой доступ к функциям
принтера, как и в случае с любой другой операционной системой, однако
системы-клиенты также используют большое количество команд для
передачи LPD новых заданий печати и управления уже существующими
заданиями. Названия команд могут отличаться в зависимости от конкретной
версии ОС UNIX. Основной командой для передачи работ является 1р (или
lpr), синтаксис которой выглядит следующим образом:
Lp [параметры] имя файла
Команда имеет огромное число параметров, позволяющих пользователям
указать, какой принтер должен получить задание, и определить, как задание
должно быть отпечатано. Помимо этого параметры позволяют управлять
использованием титульных листов и делать многие другие вещи. Команда 1р
предназначена для отправки принтеру заданий печати в формате ASCII,
возможно с несколькими базовыми командами форматирования. С
помощью команды 1р также возможна отправка принтеру PostScript-файлов.
Остальные команды, имеющие отношение к печати, таковы:
□ lprm (или cancel) — удаляет задания из очереди;
□ lpq (или ipstat) —- выводит содержимое очереди заданий печати.
Задание печати LPD состоит из двух файлов: один содержит фактические
данные для печати, а другой файл является управляющим и включает
сведения о файле данных, например, имя документа, выводимого на печать, и его
атрибуты. Первым серверу печати может быть отправлен любой из этих
файлов, но существуют некоторые реализации LPD (например,
маршрутизаторы, поддерживающие принтеры, которые соединены через асинхронные
порты), игнорирующие содержимое управляющего файла, так как не имеют
возможностей для хранения больших файлов. Вместо этого они передают
данные печати непосредственно принтеру, даже если управляющий файл
еще не прибыл.
Глава 26
Организация доступа
в Интернет
На сегодняшний день доступ в Интернет является неотъемлемой частью в
организации локальной сети. Даже если работодатели не желают, чтобы
персонал в рабочее время просиживал часами в Интернете, они, вероятно,
предоставляют работникам доступ к электронной почте, а также могут
эксплуатировать Интернет в других коммерческих целях. В этой главе
рассматривается процесс подключения локальной сети к Интернету, обеспечение
пользователей необходимыми службами и защита сети от внешнего
вторжения. Предоставление пользователям локальной сети доступа в Интернет — это
вопрос установления соединения с глобальной сетью и совместного
использования его в локальной сети. Можно выделить основные этапы этого процесса.
1. Заключение контракта с поставщиком Интернет-услуг — ISP (Internet
Service Provider).
2. Установка оборудования, необходимого для осуществления соединения.
3. Установка и настройка маршрутизатора, который объединит локальную
сеть и сеть поставщика услуг Интернета.
4. Конфигурирование пользовательских систем для доступа в Интернет
через маршрутизатор.
5. Организация доступа клиентов к службам Интернета, в которых они
нуждаются.
6. Защита локальной сети от несанкционированного доступа извне.
Выбор поставщика услуг Интернета
По существу Интернет — это пирамида поставщиков услуг глобальной сети
(или другими словами провайдеров). На вершине этой пирамиды —
крупные провайдеры, подключенные к большим опорным сетям и продающие
высокоскоростные каналы доступа более мелким провайдерам, те, в свою
очередь, дробят эти каналы на каналы с меньшей пропускной способностью
и перепродают их другим провайдерам или конечным пользователям, как
показано на рис. 26.1. Провайдеры, находящиеся на более высоком уровне,
Глава 26. Организация доступа в Интернет
877
используют для подключения к опорным сетям каналы с большой
пропускной способностью (иногда их называют "толстые информационные
каналы"), чтобы обработать весь трафик, сгенерированный
провайдером-клиентом, который, в свою очередь, использует более "тонкие информационные
каналы". Место организации-клиента, занимаемое в этой "цепочке
снабжения", зависит от того, какая пропускная способность ей необходима, какой
тип соединения она будет использовать, и какой провайдер станет
предоставлять этот сервис. Канал, может быть перепродан несколько раз, прежде
чем его получит конечный пользователь, однако ничего плохого в этом нет,
если эти услуги предоставляет провайдер с хорошей репутацией и
качественным оборудованием.
Корпоративная сеть Корпоративная сеть
(бизнес-пользователи) (бизнес-пользователи)
Рис. 26-1. Большинство провайдеров Интернета перепродают пропускную
способность каналов, которую они получают от своих провайдеров
В сфере бизнеса доступ в Интернет может быть очень важен. Когда
пользователи не могут обменяться электронной почтой со своими партнерами или
клиенты не имеют доступа к Web-сайту поставщика, то бизнес от этого
страдает. Поэтому важно выбрать провайдера, который сможет предоставить бы-
878
Часть VII. Сетевые службы
стрый канал с постоянной пропускной способностью. Чем большая
пропускная способность канала необходима, тем лучшими техническими средствами
должен обладать провайдер, чтобы поддерживать надежное соединение.
Например, небольшой местный провайдер, обслуживающий пользователей с
подключением по коммутируемому каналу, может иметь соединение Т1 (со
скоростью 1,544 Мбит/с) со своим собственным провайдером. Он разделяет
этот канал на некоторое количество соединений по 56 Кбит/с. Один канал Т1
способен поддерживать на этой скорости 25—30 соединений с
пользователями, и провайдер может продать 50, или даже больше, подписок на
подключение, поскольку знает, что не все пользователи будут работать одновременно.
Это также означает, что, возможно, некоторые пользователи не смогут
дозвониться до провайдера, поскольку все линии будут заняты. Надежность
предоставляемого провайдером сервиса основана на отношении числа подписчиков
к числу возможных соединений. Для домашнего пользователя невозможность
соединения, вероятно, не самая главная проблема — он может дозвониться
позже, но у бизнес-пользователя более строгие требования.
Обычно в бизнесе не используются коммутируемые соединения, но иногда,
для предоставления небольшому количеству пользователей возможности
работы с электронной почтой организуется совместное использование
коммутируемого соединения, при котором подключение к провайдеру
происходит по требованию, или через определенные промежутки времени. Однако
для организации подобного типа подключений провайдер должен иметь
такое соотношение числа клиентов к числу линий, чтобы обеспечить
гарантированное соединение с пользователем в любое время. Часто нет другого
пути определения надежности провайдера, кроме как пользование его
услугами некоторое время. Размер компании провайдера не обязательно
связан с качеством сервиса. Недавно один из крупнейших поставщиков
услуг Интернета подвергся резкой критике из-за того, что продал намного
больше подписок на подключение, чем позволяет его инфраструктура. Если
вы воспользовались услугами подобной компании, то можете безболезненно
сменить провайдера, поскольку этот тип подключения не требует
специального оборудования или больших затрат на установку.
Обеспечение доступа в Интернет большого числа пользователей требует нечто
большее, чем коммутируемое соединение. Для больших организаций наиболее
распространенным решением является выделенная телефонная линия. Линия
Т1 способна обеспечить доступом в Интернет около 100 среднестатистических
пользователей, а усеченный канал Т1 можно использовать в качестве
подканала по 64 Кбит/с. Подключение к Интернету по выделенной телефонной
линии является дорогим удовольствием. Месячная плата телефонной
компании, предоставляющей телефонную линию, и провайдеру, обеспечивающему
Интернет-сервис, может достигать 2000 $ и более. Также имеет большое
значение стоимость оборудования и его установки, и так как выделенная
линия — это постоянное соединение, то смена провайдера становится большой
Глава 26. Организация доступа в Интернет
879
проблемой. Поэтому при выборе провайдера следует быть уверенным, что он
надежен и сможет полностью удовлетворить ваши потребности.
Многие провайдеры, обслуживающие в основном пользователей с
коммутируемым подключением, также предлагают соединения Т1 и другие виды
услуг, но они могут быть и не оборудованы должным образом для
предоставления такого рода сервиса. Провайдер, который предлагает услугу Т1,
должен иметь, по крайней мере, линию ТЗ (со скоростью 44,737 Мбит/с),
соединяющую его с Интернетом. Следует также помнить, что ваш
провайдер подключен к своему провайдеру, у которого он покупает доступ в
Интернет и перепродает вам. Если у провайдера, стоящего в пирамиде выше,
ухудшается сервис, то он ухудшается и у вашего непосредственного
провайдера. Поэтому солидные фирмы, предлагающие Интернет-улуги для сферы
бизнеса, имеют несколько линий ТЗ, подключенных к разным провайдерам
(которые находятся в иерархии на ступень выше), для обеспечения
качественных услуг Интернета. Около 90% трафика Интернета проходит по сетям,
принадлежащим Sprint, Cable & Wireless и Uunet Worldcom. Провайдер,
подключенный непосредственно к одной или нескольким из этих сетей, с
большей вероятностью предоставит надежное и быстрое соединение, чем
тот, который подключен к более мелкой сети.
Существуют и другие причины, которые могут повлиять на качество услуг,
например перебои с электроснабжением. У солидных провайдеров есть
технические средства, которые могут поддержать сервис в рабочем состоянии
несмотря на эти проблемы, например, резервные источники питания в виде
батарей и/или генератора. Провайдеры, обладающие таким дополнительным
оборудованием, обычно гордятся этим и, скорее всего, не просто расскажут
вам все о своих возможностях, но и устроят небольшую экскурсию.
Маркетинговые исследования не будут напрасными, если вы планируете
заключить контракт на многие тысячи долларов в год.
Другие типы подключения к Интернету, такие как ISDN, DSL и кабельные
модемы, находятся между коммутируемым соединением и выделенной
телефонной линией. Они популярны у домашних пользователей Интернета, а
также имеют потенциал для широкого распространения в деловой среде.
Широкое распространение всех этих видов подключения сдерживается
ограничениями технологии. Для ISDN и DSL требуется, чтобы телефонная
компания, предоставляющая линию, имела коммутационную станцию,
расположенную сравнительно близко к офису клиента. Соединения при
помощи кабельного модема обычно предоставляются компанией кабельного
телевидения, которая обслуживает ваш район. Среди этих трех видов
подключения только ISDN предоставляет возможность смены провайдера без
дополнительных трат на установку оборудования, поскольку при этом типе
подключения используются обычные телефонные линии. Если такая
возможность существует, смена провайдера DSL или провайдера кабельной
сети требует полного цикла работ по установке и подключению оборудования.
880
Часть VII. Сетевые службы
Типы подключения
Следующие разделы рассматривают технологии, которые можно
использовать для подключения локальной сети к Интернету, их преимущества и
недостатки. Эти различные типы соединений с Интернетом по существу
являются каналами связи глобальной сети, технические детали которой были
рассмотрены в главе 7.
Подключение с помощью модема
Большинство пользователей, имеющих компьютеры, не подключенные к
какой-либо локальной сети, использует для соединения с Интернетом
стандартный асинхронный модем, и подключаются по аналоговой телефонной
линии. Хотя этот тип соединения предназначен, главным образом, для
использования одним компьютером, его можно применять и для подключения
к Интернету локальной сети. Главный недостаток этого вида соединения —
конечно, относительно низкая пропускная способность. Сегодня
большинство провайдеров Интернета имеет оборудование, поддерживающее
подключения на скорости 56 Кбит/с, но реальные скорости ниже. Федеральная
Комиссия по Связи (Federal Communications Commission) ограничивает
скорость передачи данных по аналоговым телефонным линиям до 53 Кбит/с,
но даже и она достигается редко. Обычно максимальная скорость
подключения лежит в пределах от 40 до 50 Кбит/с и зависит, прежде всего, от
состояния телефонных линий, соединяющих пользователя и телефонную
станцию. Кроме того, такую скорость имеет только входящий поток данных,
то есть поток данных от провайдера к пользователю. Максимальная
скорость исходящего потока — 33,6 Кбит/с, которая является также
максимальной, как для входящего, так и для исходящего потока данных в случае
провайдеров, которые не имеют цифровых телефонных линий и другого
необходимого оборудования.
Подключение при помощи модема — наиболее экономичный способ
соединения с Интернетом. Правда, пользователь должен сам приобрести модем,
но на сегодняшний день на рынке модемов существует весьма высокая
конкуренция, и они достаточно дешевы. Еще необходима обычная телефонная
линия, и наличие Интернет-провайдера, но сейчас имеются тысячи
поставщиков услуг, которые предоставляют сервис подключения по
коммутируемому соединению. Не должно возникнуть проблем в поиске провайдера с
местным (локальным) телефонным номером — это сведет телефонные
расходы к минимуму. Типичная стоимость неограниченного доступа по
коммутируемому соединению составляет приблизительно 20 $ в месяц, возможно с
небольшой платой за первоначальное подключение; но если планируется
использовать это подключение для соединения локальной сети с
Интернетом, то следует знать, что провайдеры могут иметь различные определения
"неограниченного доступа". Почти в каждом случае "неограниченный дос-
Глава 26. Организация доступа в Интернет
881
туп" не дает возможности оставаться подключенными к Интернету 24 часа в
сутки. Большинство провайдеров предъявляют некие условия на
"неограниченный доступ", например ограничение длительности непрерывного
соединения или лимитированное число часов в месяц. Поэтому коммутируемое
соединение с Интернетом не может обеспечить пользователей локальной
сети непрерывным доступом.
Существует несколько способов преодоления этих ограничений. Некоторые
провайдеры предлагают выделенный сервис коммутируемого соединения.
В этом случае подключение осуществляется по телефонному номеру
провайдера, который выделяется исключительно для одного клиента. Можно
оставаться на связи сколь угодно долго за фиксированную месячную абонентскую
плату. Стоимость этого типа подключения — значительно выше, чем у
обычного коммутируемого соединения, в среднем от 100 $ до 150 $ в месяц; и все
это при условии, что локальные звонки бесплатны и не ограничены.
Другой способ — соединение по требованию, которое является одной из
функций большинства маршрутизаторов, оно также дает возможность
совместно использовать коммутируемое соединение при подключении
локальной сети к Интернету. При этом типе соединения модем подключается
к провайдеру всякий раз, когда клиент создает запрос, предназначенный для
глобальной сети. Если запросов больше не поступает, после некоторого
времени бездействия происходит отключение. При необходимости модем вновь
автоматически подключится. Этот способ соединения более экономичен,
чем услуга выделенного коммутируемого соединения, поскольку
используется обычное модемное подключение, но эта экономия может быть и не
очень велика, поскольку приходится помногу раз восстанавливать
соединение, а это — дополнительные звонки.
Ко всему сказанному можно добавить так же то, что при обычном
коммутируемом соединении с Интернетом существует технологически узкое место —
пользователь отвечает за периодическое отключение и подключение к
провайдеру. Поэтому этот тип подключения может подходить вам, только если
вы ответственный пользователь.
Недостаток совместного использования коммутируемого соединения — его
явно низкая пропускная способность. Данный вид модемного соединения,
предназначенный для отдельного пользователя, очевидно, может
обслуживать двух или трех пользователей в локальной сети, если им не требуется
высокое быстродействие. По этой причине совместное использование
коммутируемого соединения наиболее распространено при доступе в Интернет
из дома, нежели в деловой среде. Однако существует возможность
объединить пропускную способность двух или более коммутируемых соединений в
единый канал передачи данных. Технология, при помощи которой это
делается, называется обратным мультиплексированием; в Windows 98, NT и 2000
она называется "мулътисвязъ" (multilink).
882
Часть VII. Сетевые службы
При мультисвязи для каждого из подключений, которые будут объединены,
требуется отдельный СОМ-порт, модем, телефонная линия и порт
провайдера. Кроме того, провайдер должен поддерживать протокол мультисвязи, и
это — один из факторов, который удерживает указанную технологию от
широкого распространения. Другим фактором является то, что на сегодняшний
день существуют иные, более быстрые типы подключения, такие как
кабельные модемы и DSL, которые обеспечивают гораздо лучший сервис при
приблизительно той же стоимости.
ISDN
ISDN — это сервис коммутируемых соединений, который работает на
стандартных телефонных линиях, но использует цифровую связь и более
высокие скорости обмена, чем обычные аналоговые модемы. Имеются два вида
IDSN: интерфейс базового уровня (BRI, Basic Rate Interface), который
обеспечивает пропускную способность 128 Кбит/с, и интерфейс основного уровня
(PRI, Primary Rate Interface), работающий со скоростью до 1,544 Мбит/с. BRI
ориентирован, прежде всего, на домашних пользователей, тогда как PRI
направлен на коммерческое использование. Оба вида ISDN больше
распространены в Европе, нежели чем в Северной Америке.
Технология ISDN была разработана с целью заменить аналоговые телефонные
системы, и начала распространяться с середины 80-х годов. Но она не имела
большого коммерческого успеха в США до начала Интернет-бума,
подтолкнувшего пользователей к поиску более быстрых способов доступа в Интернет.
Существует множество провайдеров, которые предлагают подключение при
помощи ISDN, главным образом используя сервис BRI, но эта технология
заслужила репутацию сложной в настройке и неустойчивой в работе.
Основное преимущество ISDN состоит в том, что это полностью цифровой
вид связи с заданной пропускной способностью, и в то же время это такой
же вид подключения по коммутируемой телефонной линии, как аналоговые
модемные соединения. Когда имеется уже установленный сервис IDSN, то
даже если возникнет желание сменить провайдера, все, что придется для
этого сделать — это изменить набираемый телефонный номер. Нет
необходимости что-либо менять в программном или аппаратном обеспечении. PRI
обеспечивает ту же самую пропускную способность, как и линия Т1, но
фактически состоит из 24 каналов по 64 Кбит/с каждый, которые могут
быть объединены в один канал передачи данных или использоваться
независимо для передачи данных или голоса.
Сервис ISDN должен быть установлен телефонной компанией. Никакой
специальной проводки или монтажа для BRI не требуется. На стороне клиента
телефонная линия подключается к устройству, называемому NT1, которое, в
свою очередь, связано с терминальным адаптером, у которого есть интерфейс
для компьютера или маршрутизатором. В большинстве случаев придется ку-
Глава 26. Организация доступа в Интернет
883
пить NT1 и терминальный адаптер самостоятельно, хотя некоторые фирмы-
производители интегрируют эти два устройства в одно. В дополнение к
затратам на оборудование прибавляется плата телефонной компании за установку
сервиса, ежемесячная абонентская плата и плата за соединение, обычно около
одного цента за минуту. Поскольку это — сервис коммутируемого
соединения, когда нет необходимости в доступе в Интернет, можно отсоединиться от
провайдера, чтобы не платить за время соединения.
К этим всем расходам еще прибавляется плата провайдеру за доступ в
Интернет. Некоторые поставщики услуг предлагают решение "под ключ", при
котором они сами организуют установку ISDN телефонной компанией, в то
время как другие предлагают решить задачу установки самостоятельно.
В конце концов, для среднего домашнего пользователя ISDN может стать
дорогим решением, и в сравнении с более новыми технологиями, такими
как DSL и кабельными модемами, увеличение пропускной способности (с
40 или 50 Кбит/с до 128 Кбит/с) не стоит затрачиваемых денег и усилий.
При совместном использовании соединения ISDN BRI можно использовать
те же самые аппаратные или программные маршрутизаторы, которые
применялись бы для аналогового коммутируемого соединения, но разница в
пропускной способности (по сравнению с аналоговым коммутируемым
соединением) сможет обеспечить доступ в Интернет дополнительно только
лишь нескольким пользователям.
DSL
Технология DSL (Digital Subscriber Line, цифровая абонентская линия)
обеспечивает высокоскоростной доступ в Интернет по стандартным
аналоговым телефонным линиям. Этот вид подключения к глобальной сети во
многом похож на ISDN, за исключением того, что связь между
пользователем и провайдером постоянна и обычно проходит на более высоких
скоростях. Наиболее популярный вид DSL для доступа в Интернет — ADSL
(Asymmetrical Digital Subscriber Line, асимметричная цифровая абонентская
линия). Асимметричное подключение — это подключение, при котором
скорость входящего потока данных отличается от скорости исходящего потока
данных. Провайдеры услуг ADSL обычно предлагают целый ряд скоростей
(и соответственно цен), которые могут находиться в диапазоне, начиная от
640 Кбит/с для входящего потока данных и 160 Кбит/с для исходящего и
заканчивая 1,544 Мбит/с для входящего и 320 Кбит/с для исходящего.
Разность во входящей и исходящей скоростях делает это подключение
приемлемым для доступа пользователя в Интернет, при котором трафик состоит
главным образом из входящего потока данных, но оно совершенно не
подходит для владельцев Интернет-серверов, которым требуется большая
скорость исходящего потока данных.
Во многих случаях сервис SDSL (Symmetrical Digital Subscriber Line,
симметричная цифровая абонентская линия) более подходит для доступа в Интер-
884
Часть VII. Сетевые службы
нет в сфере бизнеса, поскольку предоставляет так же, как и ADSL
различные скорости подключения, но при одинаковых скоростях входящего и
исходящего потоков данных. По сравнению с выделенными линиями и
другими типами подключений, обеспечивающих подобные скорости передачи,
DSL — довольно экономичная альтернатива, которая требует относительно
небольших начальных инвестиций.
DSL — самая последняя технология доступа в Интернет, которая появилась
на рынке, и она адресуется прежде всего домашним пользователям, но не
существует никаких видимых препятствий для того, чтобы DSL в конечном
счете также стала популярным решением в деловом мире. Единственное
требующееся оборудование — это DSL-"модем" и стандартная плата Ethernet для
компьютера. Большинство поставщиков услуг Интернета или продают
оборудование, или сдают его в аренду, что соответственно увеличивает
ежемесячную плату. Еще одним плюсом является то, что нет нужды в дополнительной
телефонной линии, так как технология DSL позволяет эксплуатировать
линию для разговоров даже при активном состоянии соединения с Интернетом.
^ Примечание j|
Для получения более подробной информации о технологии DSL и пропускной
способности различных служб см. главу 7.
Кабельные модемы
Многие компании кабельного телевидения используют преимущества
широкополосных оптоволоконных сетей, которые проложены по всей территории
Северной Америки, для подключения пользователей к Интернету в
дополнение к вещанию телепрограмм. Так как большинство потенциальных
абонентов уже имеет кабель, проложенный в их дома, а у кабельной компании
существует штат специалистов по обслуживанию сетей, процесс установки состоит
в подключении через разделитель сигнала к коаксиальному телевизионному
кабелю устройства, подобного модему. Это устройство выполняет функции
интерфейса к кабельной сети и подсоединяется к стандартной плате Ethernet,
установленной в компьютер. Так как одна и та же компания обеспечивает
оборудование, линию, и доступ в Интернет, то оплачивается только один
счет — приблизительно 40 $ в месяц (не включая плату за просмотр
телепрограмм кабельного телевидения). Оборудование может быть взято в аренду,
стоимость которой будет включена в ежемесячную плату, или его можно
выкупить у кабельной компании, тогда абонентская плата будет более низкой.
Однако следует учитывать, что подключение к Интернету с помощью
кабельных модемов — сравнительно новая технология, которая еще не настолько
стандартизирована, как, например, аналоговые модемы. Очень вероятно, что
то же самое оборудование может не подойти, если будет принято решение
подключиться к другой кабельной системе.
Глава 26. Организация доступа в Интернет
885
У кабельных модемов превосходная пропускная способность— 512 Кбит/с,
но они асимметричны, подобно DSL, так что это максимальная скорость
входящего потока данных. Асимметричность объясняется тем, что телевизионные
кабельные сети предназначены, прежде всего, для передачи сигнала абоненту.
Передача сигнала в обратном направлении тоже возможна, при этом скорость
исходящего потока данных обычно ограничена 128 Кбит/с или даже еще
медленнее. Но даже такая пропускная способность соизмерима с подключением
BRI ISDN, и гораздо быстрее, чем любое коммутируемое соединение.
Поэтому подключение к глобальной сети с помощью кабельного модема —
превосходное решение для Интернет-серфинга и работы клиентских Интернет-
приложений, даже когда оно используется при совместном доступе
нескольких пользователей, но далеко не самое лучшее решение задействовать этот
вид соединения для подключения к Интернету собственного Web-сервера.
Потенциальный недостаток данного типа подключения к Интернету, в
отличие от всех других, рассматриваемых здесь, заключается в том, что
кабельная сеть использует общедоступную сетевую среду. Оптоволоконная
сеть, принадлежащая кабельной системе, по существу, является одним из
участков городской вычислительной сети (MAN, metropolitan area network),
которая объединяет вас и ваших соседей в большую сеть Ethernet. Чем больше
пользователей одновременно подключены к Интернету, тем меньше
пропускная способность вашего соединения. В результате в часы пиковой
нагрузки может быть заметно замедление доступа в Интернет. Кроме того,
необходимо обеспечить защиту локальной сети от вторжения других
пользователей, находящихся в той же самой городской сети.
Компании кабельного телевидения привыкли иметь дело с домашними
пользователями Интернета, и их сервис нацелен, прежде всего, на отдельно
стоящие компьютеры. Однако не существует никакой технологической причины,
которая не позволяла бы организовать для локальной сети совместный доступ
в Интернет при помощи кабельного модема, при условии, что кабельная
компания не запрещает этого. Для некоторых компаний кабельного телевидения
организация доступа в Интернет— это новое направление в их.бизнесе, и у
них, возможно, до сих пор еще не определена политика в отношении
совместного использования одного подключения несколькими компьютерами.
Другие фирмы могут ограничить максимальное число пользователей одного
подключения или увеличить абонентскую плату. Если говорить о пропускной
способности и соотношении цена/качество, то подключение к Интернету при
помощи кабельного модема — это лучший выбор на сегодняшний день.
Выделенные линии
Большинство типов подключения, рассмотренных выше, ориентированы,
прежде всего, на домашнего пользователя Интернета, но по большому счету
они могут быть использованы и в деловой сфере для подключения
локальной сети к Интернету. Выделенные линии — способ доступа к ресурсам
886
Часть VII. Сетевые службы
глобальной сети, характерный для делового мира, поскольку они обладают
большой пропускной способностью и обеспечивают различные скорости
доступа. В основном используется линия Т1 с пропускной способностью
1,544 Мбит/с, которая может функционировать как один канал дйнных или
быть разбита на речевые каналы по 64 Кбит/с. Некоторые провайдеры
предлагают отдельный подканал 64 Кбит/с, называемый усеченный канал Т1
(fractional" T1). Выделенная линия — это постоянное соединение между
двумя узлами, установленное телефонной компанией, которое доступно
постоянно и работает с определенной пропускной способностью. Стоимость
непосредственно самой линии зависит от расстояния между этими двумя
узлами. Так как существует довольно много поставщиков услуг Интернета,
которые предлагают линии Т1, будет не сложно найти одного, точка
подключения которого находится наиболее близко. Однако даже не очень
протяженная линия может стоить более 1500 $ в месяц, плюс огромная
стоимость оборудования и его установки. Оборудование, называемое модуль
обслуживания канала/модуль обслуживания данных (CSU/DSU, channel service
unit/data service unit), может стоить более 1000 $. Все это в дополнение к
оплате услуг провайдера, который запросит, по крайней мере, 1000 $ в месяц.
Поэтому выделенная линия является достаточно дорогим удовольствием, но
может обслуживать большое количество пользователей Интернета и
разрешает пользователю иметь свой собственный Интернет-сервер.
Поскольку выделенная линия является постоянным соединением, сменить
поставщика услуг Интернета будет нелегко. Для этого придется демонтировать
старую линию и проложить новую, что, возможно, потребует довольно много
времени и средств. Поэтому, выбирая провайдера, хорошо подумайте, сможет
ли он предоставить те услуги, которые возможно понадобятся в будущем.
Коммутация кдров
Коммутация кадров (frame relay) является альтернативой выделенной линии.
Она дает возможность платить только за ту часть пропускной способности
канала, которая действительно используется. Когда линия Т1
устанавливается для доступа в Интернет, то оплачивается ее полная пропускная
способность, даже тогда, когда линия не занята. Коммутация кадров — тип канала
связи глобальной сети, который использует выделенную линию для
соединения с локальным провайдером, маршрутизирующим трафик через свою
сеть для доставки его другому провайдеру. Этот провайдер, в свою очередь,
связывается с узлом, к которому идет обращение, используя другую
выделенную линию. По существу, это тот же самый тип соединения, что и
выделенный линия, но с небольшими отличиями. По-прежнему необходимо
установить выделенную линию между своим узлом и провайдером, и
оплачивать все счета телефонной компании за физическую линию связи, но
оплата услуг Интернет-провайдера будет существенно ниже, так как не надо
платить за пропускную способность соединения, когда канал не использует-
Глава 26. Организация доступа в Интернет
887
ся и офис закрыт. При заключении договора с поставщиком услуг
Интернета на обслуживание канала с коммутацией кадров с ним согласуется
оговоренная скорость переданы (CIR, Committed Information Rate), определяющая
минимальную скорость канала, которая будет гарантированно доступна. В
периоды времени повышенной нагрузки (так называемые "всплески') CIR
можно превысить, заплатив за это дополнительную сумму. Если через
какое-то время после подписания контракта требования к пропускной
способности возрастут, то можно согласовать новую CIR.
Таким образом, при типичном соединении необходимо установить линию
Т1 между своим узлом и поставщиком услуг Интернета и заключить договор
на оговоренную скорость передачи, например, 768 Кбит/с. Это гарантирует,
что скорость 768 Кбит/с будет доступна все время, но не надо платить за
пропускную способность, когда соединение не используется или офис
закрыт. В периоды повышенной интенсивности трафика скорость канала
может возрастать и достигать полной пропускной способности канала (для
Т1 — 1,544 Мбит/с) при условии, что у провайдера есть возможность
предоставить дополнительную полосу пропускания. При использовании канала
с коммутацией кадров стоимость непосредственно самого канала или
необходимого оборудования не снижается. Уменьшаются только платежи
поставщику услуг Интернета (от 20% до 40%), при условии, что договор был
заключен на CIR, меньшую, чем полная пропускная способность линии Т1
(или другого выделенного канала).
Требования к пропускной
способности соединения
Необходимая пропускная способность будет существенно влиять на весь
процесс подключения локальной сети к Интернету, начиная от покупки
оборудования и заканчивая выбором поставщика услуг. В табл. 26.1
приведены наиболее распространенные на сегодняшний день типы подключения
к глобальной сети, их пропускная способность и приблизительное число
поддерживаемых пользователей различных приложений.
Таблица 26.1. Типы соединений с Интернетом и предполагаемое
использование пропускной способности
Тип Средняя факти- Службы
соединения ческаяскорость
6 пользователей электронной почты;
просмотр Web-страниц одним или двумя
пользователями одновременно;
загрузка больших объемов данных по FTP
одним или двумя пользователями одновременно
Обычное ком- 28,8—33,6 Кбит/с •
мутируемое
888
Часть VII. Сетевые службы
Таблица 26.1 (окончание)
Тип
соединения
Средняя
фактическая скорость
Службы
Высокоскоростное
коммутируемое
До 53 Кбит/с • до 10 пользователей электронной почты;
• просмотр Web-страниц от 2 до 3
пользователей одновременно;
• загрузка больших объемов данных по FTP
одним или двумя пользователями одновременно
128 Кбит/с • до 20 пользователей электронной почты;
• просмотр Web-страниц от 6 до 8
пользователей одновременно;
• загрузка больших объемов данных по FTP от
3 до 4 пользователей одновременно
IDSN
Кабельные
модемы
До 512 Кбит/с
входящий поток;
до 128 Кбит/с
исходящий поток
• более 50 пользователей электронной почты;
• просмотр Web-страниц от 25 до 30
пользователей одновременно;
• загрузка больших объемов данных по FTP от
12 до 15 пользователей одновременно
DSL
До 640 Кбит/с
входящий поток;
до 160 Кбит/с
исходящий поток
• более 60 пользователей электронной почты;
• просмотр Web-страниц от 30 до 35
пользователей одновременно;
• загрузка больших объемов данных по FTP от
15 до 18 пользователей одновременно
Т1 1,544 Мбит/с • более 120 пользователей электронной почты;
• просмотр Web-страниц от 75 до 100
пользователей одновременно;
• загрузка больших объемов данных по FTP от
40 до 50 пользователей одновременно
Оценки даны относительно количества клиентов одного вида сервиса,
которые используют соединение одновременно. Например* коммутируемое
соединение 33,6 Кбит/с будет поддерживать или до шести пользователей
электронной почты или два Web-браузера или двух FTP-клиентов, но не всех их
вместе взятых одновременно. Следует принять во внимание так же, что
трафик TCP/IP имеет характер "всплесков" (считается, что данные в виде
"порций" с большей вероятностью дойдут до адресата, чем, если они будут
передаваться непрерывным потоком).
Данные в таблице относятся к тем пользователям, которые фактически
работают в указанных программах. Например, можно предусмотреть в
бюджете подключение с помощью линии Т1, поддерживающее 100 пользователей
Глава 26. Организация доступа в Интернет
889
Интернета, но в то же время это подключение можно эксплуатировать,
чтобы обеспечить доступ в глобальную сеть нескольким сотням пользователей,
поскольку известно, что одновременно в Интернете будет работать
немногим более 100 пользователей. В большинстве случаев пользователи
Интернета имеют доступ ко всем трем упомянутым службам.
При оценке типов подключения к Интернету и потребностей пользователей
необходимо убедиться, что учтена возможность работы пользователя
одновременно с несколькими службами, например, просмотр Web-страниц во
время загрузки файлов с помощью FTP. Также следует принимать во
внимание возможный рост локальной сети и увеличение использования
различных служб Интернета.
В следующих разделах рассмотрены наиболее распространенные Интернет-
службы и проблемы, связанные с использованием пропускной способности
соединения.
Электронная почта
Электронная почта — одна из основных Интернет-служб, требующая в
большинстве случаев наименьшей пропускной способности соединения.
Сообщения электронной почты состоят из ASCII-текста, для которого
необходима относительно небольшая пропускная способность соединения.
Поэтому при данной пропускной способности соединения можно обслуживать
большее количество пользователей электронной почты, чем любого другого
Интернет-сервиса.
Существует фактор, усложняющий задачу, — возможность прикрепления к
почтовым сообщениям файлов практически любого размера. Если
соединение с Интернетом для передачи электронной почты относительно
медленное, то вполне вероятно, что лишь одно сообщение с большим вложением
монополизирует соединение на достаточно длительное время. Поэтому на
почтовом сервере можно установить ограничение на размер прикрепленных
файлов, которые разрешается принимать и отправлять пользователям. Это
особенно актуально, когда применяется асимметричное подключение типа
DSL или кабельного модема. В этих случаях следует ограничить
максимальный размер прикрепленного файла, вычисленный на основе скорости
исходящего потока. Это необходимо сделать, если нет уверенности, что
внутренняя политика относительно посылки сообщений с большими вложениями
будет соблюдаться пользователями.
Web-серфинг
Web-страницы в основном состоят из файлов HTML, которые представляют
собой текст ASCII, и, как правило, небольших изображений. Поэтому
объемы данных, составляющих страницы, довольно скромны. Однако
существует ряд факторов, которые делают Web-серфинг (перемещение по гипертек-
890
Часть VII. Сетевые службы
стовым ссылкам) более требовательным к пропускной способности
Интернет-сервисом, нежели электронная почта.
Электронная почта — это служба, в которой задержка между передачей
сообщения и получением ответа воспринимается как должное, и задержки,
вызванные загруженностью подключения, в разумных пределах абсолютно
приемлемы. Однако пользователи, обращающиеся к WWW, ожидают более
6bicfporo отклика. Задержки в получении файлов, из которых состоят
страницы в Интернете, доставляют пользователям неудобства, особенно в сфере
бизнеса. Загрузка больших объемов данных при подключении с малой
пропускной способностью может привести к виртуальному останову работы в
сети. Еще один фактор — способность Web-страниц ссылаться на другие
типы файлов, например двоичные файлы программ, объемные изображения
и звуковые файлы, для загрузки которых требуется большая пропускная
способность.
Принимая все это во внимание, следует предусмотреть меньшее количество
пользователей сети, чем при поддержке только электронной почтой. При
домашнем подключении доступ в Интернет используется, прежде всего, для
отдыха, поэтому два или три пользователя, очевидно, могут совместно
использовать подключение, предназначенное для одного. При этом они могут
и подождать или попробовать подключиться позже, если задержки станут
слишком большими. Однако в деловой среде, где подключение (возможно)
используется для коммерческих целей, задержки способны привести к
снижению производительности труда и другим отрицательным результатам.
Также важно рассмотреть предполагаемое время, которое пользователи будут
проводить в Интернете. Web-серфинг — довольно увлекательное занятие,
поэтому при расчете следует учесть, сколько времени пользователь проводит в
сети "по работе" и, умножив его на два, получить время, которое пользователь
тратит в личных целях, если только не планируется внедрить механизм,
который будет контролировать или ограничивать доступ в Интернет.
Web-трафик в основном состоит из входящего потока данных. Сообщения,
генерируемые Web-браузерами, в основном представляют собой небольшие
запросы, передаваемые определенным Web-серверам в сети. В ответ серверы
отправляют требуемые файлы, обычно небольшие по размеру, но
значительно большие, чем запросы. Поэтому асимметричные подключения к
Интернету, такие как DSL и кабельные модемы, очень подходят для Web-
серфинга.
FTP
Популярность WWW (World Wide Web) затмила некогда основной
межсетевой протокол обмена FTP (File Transfer Protocol, протокол передачи
файлов), тем не менее, он по-прежнему широко применяется. Многие из ссылок
на страницах сети, которые запускают загрузку файлов, используют прото-
Глава 26. Организация доступа в Интернет
891
кол FTP вместо HTTP (Hypertext Transfer Protocol, протокол передачи
гипертекстовых данных), стандартного протокола для обмена
Web-сообщениями. Файлы, загружаемые при помощи протокола FTP, обычно
являются двоичными, такими как программы и изображения, и чаще они
больше тех файлов, из которых состоят Web-страницы.
Частота переключений на протокол FTP в результате активации ссылки,
расположенной на Web-странице, не очень велика. Например, типичный
пользователь может выполнять одну или две FTP-загрузки в течение часа
Web-серфинга. Однако специализированные FTP-клиенты проводят
большую часть времени, выполняя передачу файлов, и могут требовать
значительно большей пропускной способности, чем клиенты Web-браузеров.
Серьезные пользователи FTP имеют склонность передавать большие файлы,
определенная часть из которых может быть огромной. Опытные
пользователи, привлеченные к бета-тестированию программ, в процессе работы могут
загружать десятки или даже сотни мегабайт программного обеспечения.
Поскольку потребности у FTP-клиентов в пропускной способности больше,
чем фактически у любых других клиентов Интернет-сервисов, то при
расчете пропускной способности канала следует это учитывать. Еще одно
отличие между FTP, запускаемым ссылкой Web-страницы, и
специализированным FTP-клиентом состоит в том, что в первом случае файлы могут только
приниматься пользователем, в то время как FTP-клиент способен
передавать файлы в обоих направлениях. Поэтому асимметричное подключение
подходит при использовании протокола FTP, активизируемого ссылками с
Web-страниц, но никак не для специализированных FTP-клиентов, которым
часто требуется исходящая передача данных.
Новости Usenet
Usenet — информационная служба Интернета, но это не "новости" в
традиционном смысле слова. Usenet — это, фактически, совокупность из 30 000—
40 000 форумов обмена сообщениями, называемыми телеконференциями, на
абсолютно любые темы — от связанных с компьютером до развлечений,
которые поддерживаются на серверах новостей в Интернете. Пользователи
получают доступ к этим форумам с помощью специальной программы чтения
конференций, которая загружает самые последние сообщения из этих
телеконференций, и отправляет обратно ответы пользователя.
В основном данные, передаваемые Usenet, представляют собой простой
текст ASCII, так что нагрузка на канал подключения к Интернету примерно
такая же, как и у клиента электронной почты. Некоторые из
телеконференций практикуют пересылку двоичных файлов, которые кодируются в текст
ASCII. Эти двоичные файлы — эквивалент файлов, прикрепленных к
сообщениям электронной почты, требующий аналогичной пропускной
способности соединения с Интернетом.
892
Часть VII. Сетевые службы
Пока пользователи обращаются к серверу новостей в Интернете или к
аналогичному серверу, поддерживаемому провайдером, клиента Usenet можно
рассматривать как эквивалент клиента электронной почты, Однако, если
существуют планы запустить свой собственный сервер новостей, требования
к пропускной способности будут намного больше, чем у любого другого
приложения Интернета. Объем передаваемых новостей может достигать
нескольких гигабайтов данных ежедневно, а это довольно серьезная нагрузка
даже для самого быстрого подключения.
Web-сайт и FTP-хостинг
Пропускную способность, необходимую для доступа пользователя в
Интернет, можно приблизительно оценить, но когда существуют собственные
Web- и FTP-серверы, трафик определяется числом обращающихся к ним
внешних пользователей. В большинстве случаев коммерческие организации
прилагают все усилия, чтобы, по возможности, как можно больше клиентов
посетило их Web-сайты, так что надо иметь уверенность, что пропускная
способность соединения с Интернетом достаточна для предоставления
доступа максимальному числу реально ожидаемых пользователей.
Недостаточная пропускная способность гораздо более серьезная проблема
при поддержке собственного коммерческого Web-сайта, чем при
обеспечении внутренних пользователей простым доступом в Интернет. Неудобства
собственных служащих ничто по сравнению с потерей потенциальных
клиентов и представлением бизнеса в непрофессиональном свете. Если к
своему Web-сайту планируется привлекать пользователей Интернета, то надо
быть готовым к тому, чтобы обработать все поступающие запросы.
В отличие от программ Интернет-пользователя, у которых преобладает
входящий поток данных, Web- и FTP-серверы генерируют главным образом
исходящий поток данных, так что асимметричные технологии, такие как
ADSL и кабельные модемы, не подходят для этой цели.
Интернет-услуги
Основной задачей провайдеров является предоставление доступа в
Интернет. Однако для Интернет-служб требуется ряд дополнительных сервисов, и,
вероятно, что потребуется заказать у провайдера дополнительные услуги,
если не планируется организовать эти сервисы внутри своей сети.
Например, клиентам будет необходим доступ к серверам DNS (Domain Name
System, система доменных имен). Можно использовать серверы своего
провайдера или организовать собственные серверы в своей локальной сети.
Также провайдеры обычно предоставляют доступ к почтовым серверам и
серверам телеконференций, а за дополнительную плату могут поддерживать
у себя и Web-сайт клиента. Тем не менее, все эти сервисы можно организо-
Глава 26. Организация доступа в Интернет
893
вать у себя в локальной сети. Для большой локальной сети с сотнями
пользователей это является практичным решением, но для маленьких сетей
вообще-то лучше получать эти услуги от провайдера. Следующие разделы
исследуют эти сервисы и их организацию.
1Р-адреса
Одна из немногих вещей, которую можно получить от провайдера, кроме
подключения непосредственно к Интернету, — это зарегистрированный IP-
адрес (или адреса). Каждая пользовательская система, связанная с
Интернетом, должна иметь IP-адрес, но только системы с зарегистрированными IP-
адресами могут быть видны в Интернете. Провайдер получает
зарегистрированные адреса или от IANA (Internet Assigned Numbers Authority, Агентство
по выделению имен и уникальных параметров протоколов Интернета) или
от своих собственных провайдеров, и переназначает их клиентам.
|^ Примечание ^|
Для получения более подробной информации о зарегистрированных и
незарегистрированных IP-адресах см. главу 11.
Доступность IP-адресов зависит от используемого типа подключения и от
конфигурации собственной сети провайдера. Например, системы кабельного
телевидения эксплуатируют частные, незарегистрированные сети и
назначают незарегистрированные адреса подключенным к ним компьютерам.
В случае, когда все пользователи сети имеют незарегистрированные IP-
адреса, у них есть доступ в Интернет, но внешние пользователи Интернета
не имеют доступа к компьютерам внутренних пользователей. Это абсолютно
приемлемо для пользовательских приложений Интернета, но при такой
организации нет возможности иметь в своей сети Web- или FTP-сервер.
В случае соединения Tl, ISDN, Frame Relay или даже коммутируемого
канала провайдер должен быть способен предоставить такое количество
зарегистрированных IP-адресов, которое необходимо клиенту, правда, скорее
всего за них придется доплатить. На самом деле, зарегистрированные IP-адреса
необходимо использовать только для Web-серверов и других компьютеров,
которые должны быть доступны из Интернета. Каждая система с этим
типом адресов уязвима для несанкционированного доступа из Интернета и
поэтому должна быть хорошо защищена от вторжения.
^ Примечание j|
Для получения более подробной информации относительно защиты систем от
несанкционированного доступа и использования незарегистрированных IP-
адресов для доступа в Интернет см. разд. "Межсетевая защита" далее в этой
главе.
894
Часть VII. Сетевые службы
DNS
DNS (Domain Name System, система доменных имен) — это служба, которая
преобразовывает понятные пользователю имена серверов Интернета в IP-
адреса, необходимые для связи с ними. Для нормальной работы
пользовательских приложений необходим доступ к серверу DNS, чтобы "переводить"
URL, названия серверов и адреса электронной почты в IP-адреса. Все
провайдеры имеют серверы DNS, и довольно часто пользовательские системы
автоматически сконфигурированы для их использования при соединении с
провайдером. Например, система, работающая по коммутируемому
соединению, в процессе регистрации и подключения к серверу провайдера
получает от него свой IP-адрес и адрес сервера DNS. Всякий раз, когда
пользователь системы клиента набирает URL или щелкает по ссылке, компьютер
посылает запрос серверу DNS провайдера, который возвращает IP-адрес,
соответствующий данному имени.
Система, которая непосредственно связана с провайдером при помощи
модема или любым другим способом, может быть автоматически
сконфигурирована для работы с DNS-серверами. Если подключение используется
совместно с другими пользователями сети, необходимо сконфигурировать
пользовательские системы или вручную, или с помощью других средств, например
сервер DHCP (Dynamic Host Configuration Protocol, протокол динамической
конфигурации хоста).
Пользовательские системы применяют систему доменных имен только для
разрешения имен серверов, расположенных в Интернете, к которым они
хотят получить доступ, но для организации собственного Web- или FTP-
сервера понадобится также свой сервер DNS, который будет хранить записи
о ресурсах, содержащие имена этих серверов и соответствующие им IP-
адреса. Это необходимо для других пользователей Интернета, чтобы они
имели возможность обратиться к вашим серверам, набрав лишь их название,
например, www.zacker.com. Когда провайдер поддерживает Web- или FTP-
серверы клиента у себя, то занесение сведений о них в базы данных
серверов DNS провайдера обычно является частью пакета услуг по Web-хостингу.
Чтобы зарегистрировать имя домена, необходимо обратиться в одно из
регистрационных бюро, которое отвечает за поддержку записей о ресурсах для
доменов верхнего уровня, таких как com, org, net и так далее. В одно время
компания Network Solution (www.networksolutions.com) была единственной,
кто регистрировал имена для этих доменов, но на сегодняшний день
существует уже несколько таких организаций.
^ Примечание ^|
Для получения более подробной информации о системе доменных имен,
функционировании серверов DNS, и регистрации имен доменов см. главу 10.
Глава 26. Организация доступа в Интернет
895
Можно установить свои собственные серверы DNS для их использования
клиентами собственной сети при доступе в Интернет и для поддержания
своих Web- и FTP-серверов. В большинство сетевых операционных систем, типа
Windows NT, 2000, UNIX и Netware, уже включено программное обеспечение
сервера DNS. Компьютер, функционирующий как сервер DNS, должен иметь
зарегистрированный IP-адрес, чтобы быть видимым из Интернета. Если
необходимо представить в Интернете свои собственные серверы, то понадобится
зарегистрировать IP-адреса серверов DNS, а также свое доменное имя.
Почтовые серверы
Для принятия и отправки сообщений электронной почты пользователям
необходимо иметь адреса электронной почты и доступ к серверам
электронной почты. Электронная почта Интернета основана на протоколе SMTP
(Simple Mail Transfer Protocol, простой протокол передачи почты), который
переносит электронную почту между серверами и определяет хорошо
известный формат адреса имя_полъзователяШотшп.сот, Большинство
провайдеров предоставляет услуги электронной почты с помощью двух типов
почтовых серверов: сервер SMTP для отправки исходящей почты и сервер РОРЗ
(Post Office Protocol, протокол почтового отделения) или сервер IMAP
(Internet Message Access Protocol, протокол доступа к сообщениям
Интернета) для приема входящей почты. Оба этих сервера (которые могут
находиться на одном или на разных компьютерах) имеют зарегистрированные IP-
адреса, чтобы их можно было увидеть из Интернета.
Большинство учетных данных для доступа в Интернет, предоставляемых
провайдером, в особенности предназначенных для домашних пользователей,
включают в себя, по крайней мере, один адрес электронной почты и доступ
к почтовым серверам провайдера. Некоторые провайдеры за символическую
плату или даже бесплатно предлагают несколько адресов электронной почты
с одной учетной записью. Для доступа к почтовым серверам, в отличие от
серверов DNS, каждого клиента электронной почты придется
сконфигурировать вручную, независимо от того, связан ли его компьютер
непосредственно с провайдером или разделяет подключение с другими пользователями.
Если локальная сеть подключена к Интернету, и ее пользователи
обращаются к почтовым серверам провайдеров, то он должен или обеспечить каждого
пользователя локальной сети адресом электронной почты и учетной
записью для доступа к РОРЗ- или IMAP-серверу, или предоставить
администратору этой сети специальный доступ, который даст ему возможность
соединиться с сервером и создать учетные записи самостоятельно.
Если принято решение установить свои собственные почтовые серверы, то
все вопросы, касающиеся учетных записей, можно решить самостоятельно и
создать любое их количество, но существуют некоторые нюансы, которые
необходимо принять во внимание. Как и серверы DNS, компьютеры,
исполняющие роль почтовых серверов, должны иметь зарегистрированные IP-
896
Часть VII. Сетевые службы
адреса, а для того, чтобы сообщения электронной почты внешних
пользователей могли всегда найти сервер SMTP, он должен быть связан с
Интернетом постоянно. Если сервер выключен или недоступен, то почтовые
сообщения, направленные к любому пользователю, имеющему учетную запись
адреса электронной почты на этом сервере, будут отосланы обратно
отправителю. Так же следует обратить внимание, что программное обеспечение
почтового сервера не включено в сетевые операционные системы, и цены на
него могут иметь большой разброс. Полнофункциональные программы
электронной почты для Windows NT, подобные Microsoft Exchange, могут быть
весьма дороги, в то время, как на наиболее популярных почтовых серверах в
Интернете услуга посылки сообщений электронной почты является
бесплатной. В дополнение ко всему вышесказанному, необходимо также иметь
свое собственное зарегистрированное имя домена и соответствующие
записи в DNS, чтобы сообщения электронной почты, посланные
пользователями из другого места в Интернете, могли находить путь на ваш сервер.
Поддержка собственных почтовых серверов — задача, требующая большого
количества ресурсов и времени, и поэтому рекомендуется только для
сетевых администраторов с большим количеством пользователей и постоянным,
высокоскоростным подключением к Интернету, типа Т1.
Серверы телеконференций
Большинство провайдеров предоставляет доступ к серверу телеконференций
Usenet; и в большинстве случаев не имеет смысла создавать свой сервер
телеконференций из-за огромного количества передаваемых данных, которые
необходимы для полноценного функционирования этого вида сервиса. Тем
не менее, некоторые компании имеют серверы телеконференций для
технической поддержки или для анонсирования продукции. У частного сервера
телеконференций нет необходимости в приеме потоков сообщений от Usenet,
так что его потребности в пропускной способности не больше, чем у
обычного Web-сервера.
Web-хостинг
Большое количество провайдеров предлагают услугу Web-хостинга
(поддержка Web-сайта клиента на своем Web-сервере), включающую в себя
небольшой сайт с учетной записью для доступа в Интернет. Такая услуга
подходит, скорее всего, для персонального Web-сайта, если же есть желание
создать профессиональный сайт, то придется дополнительно ежемесячно
платить за дисковое пространство, поддержку и другие услуги. Как и в
случаях с электронной почтой и серверами DNS, для поддержки своего Web-
сайта можно воспользоваться услугами провайдера или сторонней
организации, либо заниматься поддержкой самостоятельно.
Так же, как и почтовые серверы, Web-серверы должны иметь
зарегистрированный IP-адрес и быть доступны из Интернета. Кроме того, понадобится
Глава 26. Организация доступа в Интернет
897
постоянно доступное подключение к Интернету с достаточной пропускной
способностью для потока данных, который будет производить ваш сайт.
Программное обеспечение для поддержки Web-сервера поставляется с
большинством сетевых операционных систем, но существует ряд причин, почему
для поддержки Web-сайта лучше воспользоваться услугами провайдера.
У таких провайдеров, как правило, избыточное число внешних каналов для
обеспечения быстрого и непрерывного доступа к серверам, кроме этого, у
них имеются системы обеспечения отказоустойчивости, которые могут
защитить от сбоев дисковых накопителей и отказов системы
энергоснабжения. Также они могут предоставлять другие услуги, например, поддержку
серверов баз данных или организацию электронных магазинов, которые
дают возможность создать современный информационный узел. Очевидно,
что все это можно организовать и поддерживать самостоятельно у себя в
сети и, скорее всего, для крупной компании это будет экономически
целесообразнее, но для большинства Web-сайтов услуга Web-хостинга может
обеспечить более надежное и постоянное присутствие в WWW.
Маршрутизаторы Интернета
Для подключения сети к Интернету необходимо иметь маршрутизатор,
который обеспечит интерфейс между локальной сетью и сетью провайдера.
Его сеть, в свою очередь, связана с сетью другого провайдера или с опорной
сетью Интернета. Большинство людей представляет маршрутизатор как
дорогое автономное устройство, используемое только в больших сетях, но им
может быть просто программа, работающая на персональном компьютере,
или скромное по размерам устройство, предназначенное обеспечить
подключение к Интернету небольшой локальной сети.
Основные функции маршрутизатора, заключаются в приеме от рабочих
станций локальной сети пакетов, направляемых в Интернет, их
модификации для передачи по каналу связи с провайдером и отправке их серверу.
Далее провайдер пересылает эти пакеты соответствующему адресату в
Интернете. Формат пакетов, создаваемых маршрутизатором, зависит от
используемого типа подключения к Интернету. Так как маршрутизатор является
устройством Сетевого уровня, а в Интернете используется исключительно
протокол TCP/IP, все пакеты содержат IP дейтаграммы, которые на своем
пути к адресату могут быть модифицированы несколько раз различными
протоколами Канального уровня.
Одно время высококлассные маршрутизаторы, предназначенные для
использования в больших сетях, выполняли, главным образом, только
основные функции маршрутизации. Сегодня маршрутизаторы, разработанные
специально для соединения локальных сетей и Интернета, часто выполняют
и другие задачи, например, осуществляют межсетевую защиту, производят
трансляцию сетевых адресов (NAT, Network Address Translation), а также вы-
898
Часть VII. Сетевые службы
ступают в роли серверов DHCP. Эти особенности были специально
предусмотрены разработчиками, чтобы сделать процесс подключения локальной
сети к Интернету более легким и безопасным.
Программные маршрутизаторы
Программный маршрутизатор — это программа, которая дает возможность
компьютеру совместно использовать его подключение к Интернету с
другими компьютерами в локальной сети. Одни операционные системы, такие
как Windows NT, могут управлять IP-трафиком самостоятельно, но в других,
таких как Windows 98, данной возможности нет. Программа маршрутизации
предоставляет системе возможность направления IP-трафика, а также ряд
других функций, которые упрощают процесс совместного использования
подключения к Интернету. В ОС Windows 98 Second Edition (вторая
редакция) включена программа маршрутизатора, которая называется ICS (Internet
Connection Sharing, совместное использование подключения к Интернету).
Есть также программные продукты третьих фирм, выполняющие
практически те же функции, например NAT32 компании ACT Software или WinRoute
фирмы ITWIN Technology. Эти программы предназначены для обеспечения
доступа в Интернет пользователей небольшой локальной сети, и не стоит
использовать их для сетей с большим количеством пользователей.
^ Примечание ^Д
Для получения информации по NAT32 и загрузки пробной версии программы
обращайтесь по адресу www.nat32.com, относительно WinRoute — по адресу
www.itwin.com.my/winroute.htm.
Как и любой маршрутизатор, компьютер, обеспечивающий доступ в
Интернет, связан с двумя сетями: локальной, используя стандартную плату
сетевого адаптера, и сетью провайдера, используя модем, ISDN, DSL или
кабельный модем. Программное обеспечение маршрутизатора никак не влияет
на само соединение с Интернетом. Провайдеру и системам Интернета весь
трафик передается в таком же виде, в каком он был отправлен
маршрутизатором. Компьютер, выполняющий функцию маршрутизатора, можно
применять как обычную рабочую станцию.
Любая другая рабочая станция в локальной сети при обращении в Интернет
использует IP-адрес компьютера-маршрутизатора, как адрес шлюза по
умолчанию. Большинство пользовательских приложений могут обращаться в
Интернет через маршрутизатор без каких-либо доработок.
Трансляция сетевых адресов
Программные маршрутизаторы обычно эксплуатируются при совместном
использовании таких видов подключения, которые обычно предназначены
для одиночных пользователей, например коммутируемое соединение, BRI
Глава 26. Организация доступа в Интернет
899
ISDN, кабельные модемы. Провайдеры, предоставляющие эти типы
подключений, обычно не добавляют в подписку зарегистрированные IP-адреса
для множества систем, поэтому программные маршрутизаторы используют
технологию, которая называется трансляция сетевых адресов (NAT, Network
Address Translation), чтобы дать возможность компьютерам локальной сети
работать по незарегистрированным IP-адресам.
В Windows NT встроена функция маршрутизации IP-трафика, но если
использовать подключенную к Интернету систему Windows NT в качестве
маршрутизатора, то для всех рабочих станций локальной сети необходимо
получить зарегистрированные IP-адреса. Мало того, что это может быть
довольно дорого (некоторые провайдеры берут от 10 $ до 20 $ в месяц за
каждый дополнительный зарегистрированный IP-адрес), но это также откроет
сеть для несанкционированного доступа. Зарегистрированные IP-адреса
делают рабочие станции локальной сети видимыми для любого пользователя
Интернета, желающего получить к ним доступ. А, как правило, при
установке в небольших локальных сетях совместного использования
подключения к Интернету редко вкладывают деньги в сложные системы защиты от
несанкционированного доступа.
С помощью NAT рабочим станциям назначаются незарегистрированные IP-
адреса. IANA обозначила три класса диапазонов IP-адресов для
использования в незарегистрированных сетях. Эти адреса не выделяются в какой-либо
определенной сети. Назначая их в своей локальной сети, можете быть
уверены, что никакого конфликта между адресами ваших компьютеров и
адресами общедоступных систем в Интернете не существует. Эти адреса
перечислены в табл. 26.2.
Таблица 26.2. Незарегистрированные IP-адреса для использования
в частных сетях
Класс
Класс А
Класс В
Класс С
Адреса частной сети
С 10.0.0.0 до 10.255.255.255
С 172.16.0.0 до 172.31.255.255
С 192.168.0.0 до 192.168.255.255
Когда пользовательская система из локальной сети посылает пакет серверу в
Интернете, заголовок пакета содержит IP-адрес отправителя, который не
зарегистрирован. Если бы этот пакет достиг своей цели в неизменном виде,
то сервер послал бы ответ на незарегистрированный IP-адрес. Эта попытка
потерпела бы неудачу, поскольку маршрутизаторы в Интернете не
пересылают пакеты получателям с незарегистрированными адресами. Поэтому
маршрутизатор в локальной сети преобразует IP-адрес в каждом пакете из
незарегистрированного адреса клиента локальной сети непосредственно в
900
Часть VII. Сетевые службы
свой зарегистрированный адрес. В этом случае сервер Интернет, к которому
происходило обращение, сможет послать ответ маршрутизатору, а тот, в
свою очередь, перешлет его соответствующему клиенту.
Таким образом, NAT дает возможность любому числу рабочих станций
обращаться в Интернет, используя всего лишь один зарегистрированный IP-
адрес. В связи с бурным развитием глобальной сети 32-разрядное
пространство свободных IP-адресов быстро исчерпывается, а использование NAT
помогает сохранять зарегистрированные IP-адреса, позволяя использовать
их только для систем, которые должны быть непосредственно доступны из
Интернета. Плюс к этому, маршрутизатор защищает рабочие станции от
прямого доступа из Интернета. Только сам маршрутизатор имеет адрес,
который является видимым снаружи, это устраняет возможность передачи IP-
трафика непосредственно рабочей станции в локальной сети.
DHCP
Программные маршрутизаторы ориентированы на пользователей с
небольшим запасом знаний о сетевых технологиях, поэтому в них максимально
упрощен процесс настройки доступа рабочих станций к маршрутизатору.
Программный маршрутизатор обычно содержит службу DHCP, которая
автоматически присваивает клиентам TCP/IP рабочих станций локальной сети
незарегистрированный IP-адрес, а адрес маршрутизатора задает как шлюз
по умолчанию. В результате, для пользовательских рабочих станций не
требуется никакой ручной настройки, кроме указания использовать DHCP для
получения настроек TCP/IP.
Аппаратные маршрутизаторы
Наряду с программными маршрутизаторами, существуют также аппаратные
маршрутизаторы, предназначенные для использования в сетях различного
размера. Это устройство представляет собой, по сути, специализированную
ЭВМ, со своим собственным процессором, программным обеспечением и
IP-адресами, оно выполняет все функции программного маршрутизатора и
обычно имеет ряд других возможностей, например, фильтрацию пакетов и
поддержку различных протоколов. Основное отличие заключается в том, что
аппаратный маршрутизатор является отдельным устройством, которое не
зависит от какой-либо рабочей станции в сети и более устойчиво к помехам,
чем компьютер. При использовании программного маршрутизатора доступ
клиентов локальной сети к Интернету зависит от одной рабочей станции.
Если этот компьютер выключается, или возникает необходимость в
перезагрузке, то все пользователи локальной сети лишаются доступа в Интернет.
Функционирование аппаратного маршрутизатора полностью направлено на
предоставление доступа в Интернет и, в отличие от обычной рабочей
станции, он не подвержен сбоям из-за ошибок пользователя или некорректно
работающего приложения.
Глава 26. Организация доступа в Интернет
901
Аппаратные маршрутизаторы подключаются и к локальной сети, и к сети
провайдера. Некоторые маршрутизаторы имеют встроенный концентратор
Ethernet, позволяющий подключать рабочие станции непосредственно к
нему, в то время как другие имеют только интерфейс Ethernet, который
подсоединяется к порту стандартного концентратора. В последнем варианте
устройство более универсально, поскольку можно использовать
концентратор с любым количеством портов, в отличие от случая, когда число портов
определяется типом встроенного концентратора. Маршрутизатор также
подключается к сети провайдера. Существуют различные устройства,
поддерживающие разные типы подключений. Например, маршрутизаторы,
предназначенные для применения дома или в небольших локальных сетях, могут
иметь последовательный порт или слот PC card для стандартного
аналогового модема или могут поддерживать BRI ISDN или DSL. В более
серьезные встраивается поддержка PRI ISDN, коммутации кадров или
выделенных линий. Как и программные маршрутизаторы, эти устройства обычно
используют функцию NAT для предоставления пользователю доступа в
Интернет, также они могут иметь интегрированный сервер DHCP.
Большинство устройств имеет встроенный Web-сервер, который позволяет
конфигурировать маршрутизатор с помощью стандартного Web-браузера.
Аппаратные маршрутизаторы значительно дороже программных, их
стоимость колеблется в диапазоне от нескольких сотен долларов за устройства
для небольших сетей до тысяч долларов за более продвинутые модели, но
следует отметить, что последние обеспечивают более надежную систему
совместного использования соединения.
Требования, предъявляемые к клиенту
Один из этапов процесса обеспечения пользователей локальной сети
доступом в Интернет — это непосредственно конфигурирование
пользовательских систем. Интернет — это сеть, основанная на протоколах TCP/IP, и
если еще не настроены все рабочие станции, которые будут обращаться в
Интернет, на использование протокола TCP/IP, то это необходимо сделать.
Сегодня в большинстве локальных сетей TCP/IP используется как основной
протокол связи. И если в сети нет серверов Novell NetWare, которые
требуют наличия IPX, никакие другие протоколы не нужны.
Для каждой рабочей станции, которая будет обращаться в Интернет,
должны быть настроены следующие параметры TCP/IP:
□ IP-адрес;
□ адрес шлюза по умолчанию;
□ адреса серверов DNS.
902
Часть VII. Сетевые службы
При назначении IP-адресов, в начале необходимо определиться, какие
адреса будут использоваться: зарегистрированные или незарегистрированные.
Некоторые сетевые администраторы при проектировании локальной сети,
которую не планируется подключать к Интернету, выбирают IP-адреса
произвольно, так как никакого конфликта с Интернетом быть не может. И если
позже все же появится необходимость в подключении сети к Интернету, им
придется заново проделать всю работу по назначению адресов.
Тип используемых адресов определяется типом подключения к Интернету, а
также типом межсетевой защиты от внешнего вторжения, которую
планируется использовать. Если, например, предполагается применять NAT, то рабочим
станциям необходимо назначить незарегистрированные адреса. При
использовании других типов межсетевой защиты, например, основанных на
фильтрации пакетов, допускается указание зарегистрированных IP-адресов.
Задаваемый для каждой рабочей станции адрес шлюза по умолчанию — это
внутренний IP-адрес маршрутизатора, который обеспечивает доступ в
Интернет. Если рабочая станция находится в одной локальной сети с
маршрутизатором, который непосредственно связан с Интернетом, то этот
маршрутизатор является шлюзом по умолчанию. В многосегментной сети для
некоторых из рабочих станций шлюзом по умолчанию будет маршрутизатор,
который обеспечивает доступ к сегменту, где расположен маршрутизатор,
подключенный к Интернету. При этом типе сети необходимо
сконфигурировать маршрутизаторы локальной сети так, чтобы они знали адрес
маршрутизатора, подключенного к Интернету. Для этого можно использовать
статический маршрут или протокол маршрутизации.
На каждой рабочей станции также должен быть настроен, по крайней мере,
один IP-адрес сервера DNS, находящегося в локальной сети или в сети
провайдера. Хотя для рабочей станции с установленным TCP/IP существует
возможность связаться с другой системой без сервера DNS, но при этом
пользователь должен будет набрать вместо названия сервера его IP-адрес, а
это довольно непрактично. Желательно задавать адреса двух серверов DNS,
потому что если один из них не будет функционировать, то всегда можно
обратиться к другому.
Межсетевая защита
Межсетевая защита или firewall (брандмауэр) — это аппаратное или
программное устройство, предназначенное для защиты сети от
несанкционированного доступа из другой сети, путем регулирования трафика, проходящего
через маршрутизатор, соединяющий эти сети. Данный термин наиболее
часто используется в связи с защитой от вторжений в Интернет, но он также
применим и в отношении защиты одной локальной сети от пользователей
другой, а также защиты локальной сети, подключенной к региональной се-
Глава 26. Организация доступа в Интернет
903
ти. Без какой-либо межсетевой защиты внешние пользователи могут
получить доступ к файлам в локальной сети, занести вирусы, использовать
серверы локальной сети для своих целей, или даже полностью удалить
содержимое дисков пользователей.
Полная изоляция сети от взаимодействия с другими сетями — задача
нетрудная, но функция межсетевой защиты заключается не в этом.
Межсетевая защита предназначена для того, чтобы разрешать определенным видам
трафика проход через маршрутизатор, расположенный между сетями, а весь
остальной трафик задерживать. Например, если необходимо, чтобы рабочие
станции локальной сети имели возможность посылать запросы HTTP из
Web-браузеров серверам Интернета, а серверы могли ответить, но при этом
нежелательно, чтобы внешние пользователи глобальной сети получили
доступ к рабочим станциям. Существует несколько различных методов
обеспечения разных степеней защиты сетевых систем. Например, требования к
защите рабочих станций и Web-серверов отличаются довольно существенно.
В зависимости от размера сети, выполняемых системами функций и
степени риска межсетевая защита может принимать множество форм. По
существу, этот термин появился для обозначения любого вида защиты от внешнего
воздействия. Фактически, настоящая межсетевая защита — это комплекс
защитных действий, элементы которого могут быть реализованы
различными сетевыми компонентами. Эти компоненты, работая вместе, могут
регулировать не только трафик, допускаемый в сеть, но и исходящий трафик.
Например, в дополнение к предотвращению доступа внешних пользователей
Интернета к компьютерам локальной сети, можно использовать межсетевую
защиту для запрещения Web-серфинга некоторым внутренним
пользователям, но при этом оставить им возможность использования электронной
почты Интернета.
Недорогой программный маршрутизатор применяют NAT, чтобы дать
возможность рабочим станциям небольшой сети использовать
незарегистрированные адреса, и в некотором смысле это тоже форма межсетевой защиты.
Большая корпорация с многоканальным подключением Т1 к Интернету,
скорее всего, будет иметь компьютер между внутренней сетью и
маршрутизаторами, соединенными с Интернетом, на котором будет установлено
программное обеспечение межсетевой защиты. Некоторые функции межсетевой
защиты встроены в маршрутизатор, остальные выполняются отдельными
программами, которые необходимо установить на компьютер.
Межсетевая защита может устанавливать преграду по любому из двух
принципов, выбор которых, в основном, зависит от степени риска, допустимого
для данной сети, и потребностей сетевых пользователей:
□ все, что специально не разрешено — запрещено;
□ все, что специально не запрещено — разрешено.
904
Часть VII. Сетевые службы
Эти два принципа — по существу, отражение явления, когда стакан видится
или наполовину полным или полупустым. Можно начать с сети, которая
полностью защищена, и постепенно открывать порталы, разрешающие
прохождение определенных видов трафика, или же начать с полностью
открытой сети и постепенно блокировать виды трафика, которые могут быть
подозрительными. Первый метод намного безопаснее, и вообще
рекомендуется во всех средах. Однако при этом придается особое значение защите, а
не легкости работы с сетью. Последний метод менее безопасен, но делает
использование сети более легкой задачей. Правда, в этом случае
администратору придется предвидеть способы обхода межсетевой защиты и
принимать меры против таких попыток. О хакерах доподлинно известно только
одно — они бесконечно изобретательны, и не отставать от их дьявольских
ухищрений бывает довольно трудно.
Сетевые администраторы могут использовать разнообразные технологии,
чтобы воплотить эти принципы и защитить различные системы в сети.
Следующие разделы рассматривают некоторые из этих технологий и области их
применения.
Фильтрация пакетов
Фильтрация пакетов — это функция, реализуемая в маршрутизаторах и
межсетевых защитах, которая разрешает или запрещает дальнейшее прохождение
пакета в соответствии с заданными администратором правилами. Эти правила
опираются на информацию, имеющуюся в заголовке каждого пакета:
□ IP-адрес источника и назначения;
□ инкапсулированный протокол;
□ порт источника и назначения;
□ тип сообщения ICMP;
□ входящий и исходящий интерфейс.
Используя комбинации значений этих критериев, можете задать точные
условия, при которых пакеты окажутся пропущенными через межсетевую
защиту. Например, можно задать IP-адреса компьютеров в Интернете, которые
могут связаться с определенными машинами в локальной сети, используя
протокол Telnet. В результате, все пакеты, направленные в локальную сеть и
использующие порт 23 (порт для протокола Telnet), будут отвергнуты, кроме
тех, IP-адреса источников которых указаны в правилах. Используя такие
правила, сетевые администраторы могут разрешать Telnet-доступ к
локальным системам определенным внешним пользователям (например, другим
администраторам), в то время как все остальные будут лишены такого
доступа. Это называется сервис-зависимая фильтрация, потому что она управляет
трафиком определенного вида сервиса, например Telnet.
Глава 26. Организация доступа в Интернет
905
Сервис-независимая фильтрация используется для предотвращения
определенных типов вторжений, которые не основаны на какой-либо
специфической службе. Например, хакер может пытаться получить доступ к
компьютеру в частной локальной сети, маскируя свои пакеты так, как если бы они
были созданы системой, принадлежащей этой локальной сети. Это
называется spoofing (spoof— обман). Хотя пакеты и могут иметь IP-адрес
внутренней системы, но они приходят на маршрутизатор через интерфейс, который
не связан с Интернетом. Должным образом сконфигурированный фильтр
может увязать IP-адреса внутренних систем с интерфейсом внутренней сети,
так, чтобы пакеты, прибывающие из Интернета с аналогичным IP-адресом,
могли бы быть обнаружены и отброшены.
Фильтрация пакетов — это функция, встраиваемая во многие маршрутизаторы,
поэтому при организации этого вида защиты дополнительных расходов не
будет, плюс к этому, не нужна никакая модификация пользовательского
программного обеспечения. Однако создание совокупности фильтров, которые
обеспечат адекватную защиту сети против большинства типов нападения,
требует детального знания работы служб и протоколов, и даже в этом случае фильтры
не смогут предотвратить некоторые типы вторжения. Фильтрация пакетов также
создает дополнительную нагрузку по обработке трафика на маршрутизатор,
которая увеличивается с ростом сложности и количества фильтров.
Прокси-серверы
Прокси-серверы (proxy servers), известные так же, как шлюзы прикладного
уровня или хосты-бастионы (bastion hosts), обеспечивают более высокий уровень
защиты, чем фильтрация пакетов, но они предназначены регулировать
доступ только для определенного приложения. В сущности, прокси-сервер
выступает в роли посредника между клиентом и сервером определенной
службы. Фильтрация пакетов используется для исключения прямой связи между
клиентами и серверами определенной службы, вместо этого весь трафик
направляется через прокси-сервер (рис. 26.2).
Рис. 26.2. Прокси-серверы коммутируют трафик приложения
между клиентами и серверами
Поскольку прокси-сервер "знает" в деталях определенное приложение и его
функции, он может более точно регулировать связи этого приложения с
906
Часть VII. Сетевые службы
внешним миром. Для каждого из приложений, необходимых пользователям
локальной сети, в межсетевой защите может быть предусмотрен
индивидуальный прокси-сервер, как показано на рис. 26.3.
Шлюзы
Прикладного
уровня
Другие
службы
E-mail
HTTP
FTP
TCP
JO
IP
Контроллер шлюза
j\
Прокси-
сервер
Прокси-
сервер
сервер
/
Прокси- ч*
Прокси- \
сервер
Другие
службы
E-mail
HTTP
FTP
Щ
TCP
"Л
ip
Внутренняя
► сеть
Брандмауэр/Прокси-сервер
Рис. 26.3. Один прокси-сервер может предоставлять индивидуальные шлюзы
для нескольких приложений
Наибольшее распространение на сегодняшний день получили
прокси-серверы для Web. Программы Web-браузеров в локальной сети
сконфигурированы так, чтобы посылать все запросы прокси-серверу, вместо сервера в
Интернет, к которому они хотят обратиться. Прокси-сервер (который имеет
доступ в Интернет), в свою очередь, передает запрос соответствующему
серверу в Интернет, используя собственный IP-адрес как адрес источника
запроса, принимает ответ от сервера и пересылает его клиенту, который
изначально делал запрос.
Поскольку в Интернете виден только адрес прокси-сервера, у внешних
пользователей нет возможности получить доступ к пользовательским
системам в этой локальной сети. Кроме того, прокси-сервер анализирует каждый
пакет, пришедший из Интернета, и только пакеты, которые являются
ответом на определенный запрос, пересылаются дальше. Также прокси-сервер
может самостоятельно исследовать данные на предмет наличия в них опас-
Глава 26. Организация доступа в Интернет
907
ного кода или подозрительного содержания. Прокси-сервер имеет
уникальные возможности регулирования трафика пользователя с большой
точностью. Типичный прокси-сервер Web, например, дает возможность сетевому
администратору регистрировать все действия пользователей в Интернете,
ограничивать доступ к некоторым сайтам или вводить временные ограничения
на доступ, а также кэшировать непосредственно на прокси-сервере часто
посещаемые сайты, что позволяет остальным пользователям получать ту же
самую информацию намного быстрее.
К недостаткам прокси-серверов можно отнести то, что для каждой службы
необходимы свой прокси-сервер и коррекция пользовательского
программного обеспечения. Например, прежде чем использовать Web-браузер,
следует его сконфигурировать для работы с прокси-сервером. Раньше
требовалось конфигурировать Web-браузер каждого пользователя вручную, но
сейчас появились протоколы, которые позволяют программе Web-браузера
автоматически обнаруживать прокси-сервер и выбирать соответствующую
конфигурацию.
Шлюзы уровня канала
Шлюз уровня канала (circuit-level gateway) — это функция, которая обычно
обеспечивается шлюзами Прикладного уровня. Она позволяет надежным
пользователям локальной сети обращаться к службам Интернета, используя
защиту прокси-сервера без обработки и фильтрации пакетов. Шлюз создает
мост между интерфейсом локальной сети и интерфейсом сети Интернет,
который дает возможность пользовательской системе посылать трафик сквозь
межсетевую защиту. Шлюз по-прежнему заменяет IP-адрес системы
локальной сети на свой, чтобы клиент был невидим для пользователей Интернета.
Объединение технологий
межсетевой защиты
Существуют различные варианты объединения вышеописанных видов
межсетевой защиты. В относительно простом случае, когда требуется только доступ
пользователей в Интернет, фильтрация пакетов одна или в комбинации с
прокси-сервером, может обеспечить достаточный уровень защиты.
Добавление прокси-сервера к фильтрации пакетов дополнительно усилит защиту
сети, потому что потенциальному взломщику будет необходимо проникнуть уже
через два уровня защиты. Однако, если в локальной сети есть серверы,
которые должны быть видны из Интернета, то проблема значительно усложняется.
Одна из наиболее безопасных мер межсетевой защиты, которую можно
использовать при такой конфигурации, называется экранирующая подсеть
(screened subnet firewall). Она включает демилитаризированную зону (DMZ,
demilitarized zone) — подсеть, расположенную между локальной сетью и Ин-
908
Часть VII. Сетевые службы
тернетом. С помощью двух маршрутизаторов с функцией фильтрации
пакетов создается сеть DMZ, в которой наряду с прокси-сервером расположены
Web-, FTP- и почтовый серверы, а также любые другие машины, которые
должны быть видны из Интернета, как показано на рис. 26.4.
п
Рабочая станция
Частная
сеть
Рабочая станция
П
Внутренний ■
маршрутизатор _.
Внешний
маршрутизатор
iA* |sw"!
l/" \
k—f Интернет J
Прокси- Web-сервер
сервер
Рабочая станция
Трафик частной -
сети остановлен
во внутреннем
маршрутизаторе
Интернет-трафик
остановлен
во внешнем
маршрутизаторе
Рис. 26.4. Межсетевая защита экранирующей подсетью обеспечивает частной сети
три уровня защиты
Эти два маршрутизатора сконфигурированы так, чтобы обеспечить системам
из локальной сети и из Интернета доступ с определенным уровнем к
некоторым системам, расположенным в сети DMZ, но при этом трафик напрямую
через DMZ не проходит. Пользователь из Интернета должен пройти уже через
три отдельных уровня защиты (маршрутизатор — прокси-сервер —
маршрутизатор), прежде чем получит доступ к системе в локальной сети.
Межсетевая защита данного типа — это целый комплекс устройств, которые
должны быть сконфигурированы под конкретную сеть, и может потребовать
много времени и денег. Цены на серьезные программные продукты для
защиты сетей предприятия могут легко достигать пятизначных чисел, и процесс их
установки заключается не просто в запуске программы инсталляции. Однако,
по сравнению с потенциальной стоимостью потерянных данных и
последствиями вторжения хакера, усилия по защите сети выглядят не столь большими.
Обеспечение пользователей доступом в Интернет — задача, которую придется
решать почти каждому сетевому администратору, и понимание всех
концепций может только облегчить работу. Защита сети от несанкционированного
доступа — это элемент, которому надо уделить пристальное внимание в
процессе проектирования и проведения работ по установке локальной сети.
ЧАСТЬ VIII.
СЕТЕВОЕ
АДМИНИСТРИРОВАНИЕ
Глава 27
Администрирование
сетей Windows
Несмотря на то, что корпоративные сети обычно используют множество
операционных систем, особенно на серверах, на большинстве
пользовательских рабочих станций установлена какая-либо из версий Windows.
Независимо от того, согласны ли вы с тем, что интерфейс Windows является
интуитивным и дружественным пользователю или не согласны, нет никаких
сомнений в том, что администрирование сотен или тысяч рабочих станций
Windows представляет собой крайне масштабную задачу. Операционные
системы Windows 95, Windows 98, Windows NT Workstation и Windows 2000
Professional включают различные инструменты, которые администраторы
сетей могут применять для облегчения процессов установки, управления и
обслуживания операционных систем большого числа рабочих станций. Эта
глава рассматривает некоторые из инструментов, а также возможность их
использования для одновременного конфигурирования рабочих станций
вместо работы с каждой из них в отдельности.
Одной из первичных задач любого администратора сети должно стать
создание конфигураций рабочих станций, которые были бы постоянными и
едиными. В таком случае, если возникнут какие-либо проблемы,
обслуживающий персонал сети будет располагать полной информацией о рабочей
конфигурации пользователя. Невозможность сделать это обычно приводит к
существенному увеличению времени и затрат, необходимых для устранения
неисправностей, и повышает стоимость эксплуатации машины. К
несчастью, пользователи имеют тенденцию экспериментировать со своими
рабочими станциями, изменяя настройки конфигурации или устанавливая
нелицензионное программное обеспечение. Это может привести к тому, что
система будет работать нестабильно, а также затруднять процессы
обслуживания и отладки. Поэтому администраторам настоятельно рекомендуется
предпринимать ряд ограничительных мер по отношению к рабочим
станциям сети, чтобы предотвратить эти неавторизованные эксперименты.
Такие возможности, как создание профилей пользователей и правил
системной политики, являются базовыми инструментами, которые можно
использовать в системах Windows для выполнения указанных задач независимо
от предполагаемого уровня ограничительных мер для пользователей сети.
912
Часть VIII. Сетевое администрирование
Применяя эти инструменты, можно ограничить набор программ,
разрешенных для запуска в данной системе, запретить доступ к отдельным элементам
операционной системы, а также контролировать использование сетевых
ресурсов. Эти инструменты, как и некоторые другие, являются частью того,
что фирма Microsoft называет Zero Administration Initiative (ZAI, инициатива
нулевого администрирования). Сущность ZAI неправильно понимается
многими людьми, которые склонны считать, что ее цель заключается в создании
рабочей станции, не требующей вообще никакого обслуживания и
административного вмешательства любого рода. На самом же деле, ZAI была
разработана для того, чтобы не допускать проведения пользователями
мероприятий по системному администрированию, для которых они не имеют
соответствующей квалификации. С помощью настройки тщательно
спланированной и протестированной конфигурации и последующего запрещения
любых ее изменений пользователями можно значительно уменьшить
стоимость обслуживания рабочих станций.
Проведение ограничительной политики и уменьшение количества
пользователей, имеющих доступ к рабочим станциям, способно привести к
серьезным последствиям, поэтому администраторы всегда должны учитывать
возможности пользователей сети, прежде чем принимать подобные решения.
Неопытные пользователи компьютеров могут счесть очень удобным и даже
приветствовать ограниченную конфигурацию, изолирующую их от сложных
и непонятных элементов операционной системы. Однако пользователи с
более высоким уровнем навыков в сфере применения компьютеров вполне
могут негативно воспринять ограничение доступа лишь небольшой частью
возможностей компьютера, из-за чего в свою очередь может упасть
эффективность их работы.
Размещение приложений и данных
Одной из главных задач любого администратора сети является принятие
решения о том, в каком именно месте сети будут храниться определенные
данные. Рабочим станциям сети требуется доступ к файлам операционной
системы, приложениям и рабочим файлам, поэтому определение мест
расположения этих элементов представляет собой важнейшую часть процесса
создания стабильной и безопасной сети. Некоторые администраторы
вообще не контролируют, где пользователи хранят свои рабочие файлы. К
счастью, большинство приложений, работающих в среде Windows,
устанавливаются по умолчанию в каталог C:\Program Files локального диска, и это
уже обеспечивает некоторую меру последовательности, если нет ничего
более существенного. Некоторые приложения даже создают рабочие каталоги
по умолчанию на локальном диске, однако оставлять пользователей наедине
с их собственными устройствами, когда речь идет о хранении файлов
данных, обычно представляет собой крайне опасную практику. Многие пользо-
Глава 27. Администрирование сетей Windows
913
ватели не имеют вообще никаких или имеют очень мало знаний о структуре
каталогов своих компьютеров, а также не обладают опытом в управлении
файлами. Это может привести к тому, что файлы для разных приложений
окажутся беспорядочно "свалены" в один общий каталог и оставлены без
всякой защиты от случайного повреждения или удаления.
Размещение операционной
системы на сервере
На заре Windows запуск операционной системы с диска сервера являлся
практической альтернативой установки ОС на каждую рабочую станцию.
Хранение файлов операционной системы на сервере позволяло
администратору не только предотвратить их повреждение или случайное удаление, но и
обновлять версию ОС для всех рабочих станций одновременно. Подобное
решение также помогает экономить дисковое пространство локальной
машины. Однако с годами емкость диска средней рабочей станции возросла
неимоверно, а размер самой операционной системы Windows превысил все
мыслимые пределы.
В настоящее время простая установка стандартной операционной системы на
отображенный диск сервера уже не может считаться практичной. Рабочая
станция, использующая операционную систему Windows 95/98 или
Windows NT/2000, должна загрузить многие мегабайты информации только для
запуска системы. Если умножить эту цифру на общее количество рабочих
станций сети, исчисляемое сотнями, можно легко представить, что общий
объем сетевого трафика, генерируемого при этом, будет способен лечь тяжким
грузом даже на самую быструю сеть. Кроме того, недостаток дискового
пространства более не является проблемой, когда самые обыкновенные рабочие
станции оснащаются жесткими дисками, способными хранить от 2 до 8 Гбайт
информации и даже больше. Установка операционной системы на локальный
диск представляется в большинстве случаев более очевидным решением.
С другой стороны, в настоящее время появился целый ряд новых
технологий, позволяющих снова сделать практичной исполнение операционной
системы Windows с сервера. Однако в нынешнем варианте рабочие станции
не загружают операционную систему целиком с диска сервера. Вместо
этого, рабочие станции функционируют в качестве клиентов-терминалов,
которые соединяются с сервером терминалов. Операционная система и
приложения рабочей станции фактически исполняются сервером, в то. время как
функции терминала исчерпываются исключительно вводом/выводом. В
результате, рабочие станции требуют минимального количества ресурсов, так
как сервер берет на себя львиную долю нагрузки.
При использовании подобной схемы терминалы могут быть относительно
слабыми компьютерами, например, машинами с процессором 486, испол-
914
Часть VIII. Сетевое администрирование
няющими программу эмуляции терминала, или же специализированными
терминалами Windows, разработанными для запуска исключительно
клиентского программного обеспечения. В любом случае, стоимость подобной
рабочей станции даже близко нельзя сравнивать с ценой нового
персонального компьютера, чье аппаратное обеспечение достаточно для исполнения
индивидуальной копии Windows NT или 2000. Операционная система
Windows NT 4.0 имеет специальную версию, поддерживающую данную
технологию, которая носит название Windows NT Server Terminal Server Edition, a
операционная система Windows 2000 уже включает возможность сервера
терминалов в основной набор. Существуют также продукты независимых
разработчиков, обеспечивающие аналогичные возможности, наиболее известным
из которых является WinFrame от Citrix Systems (http://www.citrix.com).
Эксплуатация сети Windows, основанной на терминалах, коренным образом
отличается от обслуживания стандартной ЛВС, и данный вариант нельзя
назвать альтернативой для тех сетей, что уже используют полные версии
операционных систем Windows на своих рабочих станциях. Однако, если
формируется новая сеть или проводится масштабное расширение,
использование терминалов Windows может стать одним из тех вариантов решения,
которые следует рассмотреть.
Размещение приложений на сервере
Запуск приложений с диска сервера вместо диска рабочей станции
представляет собой еще один способ обеспечения стабильной рабочей
конфигурации для пользователей и сведения к минимуму нагрузки по
администрированию сети. В простейшей форме процесс сводится к установке
приложения обычным образом с указанием каталога сетевого диска, вместо
локального каталога, в качестве места расположения файлов программы.
Однако приложения Windows никогда не отличались простотой, поэтому в
реальности этот процесс выглядит намного сложнее.
Запуск приложений с диска сервера имеет как достоинства, так и недостатки.
Положительным фактором, как и в случае с размещением на сервере
операционной системы, можно назвать экономию пространства локальных дисков,
защиту файлов приложений от повреждения или удаления, а также
возможность улучшения и обслуживания единственной копии приложения, а не
индивидуальных копий на каждой рабочей станции. Среди недостатков на
первый план выступает тот факт, что приложения, размещенные на сервере,
обычно работают сравнительно медленнее, чем их локальные аналоги, а также
генерируют существенный объем сетевого трафика и не могут
функционировать, если сервер неисправен или недоступен по иным причинам.
Во времена DOS приложения были самодостаточными и обычно состояли
не более чем из одного программного каталога, который содержал все
файлы данного приложения. Тогда можно было установить приложение на сер-
Глава 27. Администрирование сетей Windows
915
вер и позволить другим системам использовать его, просто запуская
исполняемый файл. Сегодняшние приложения Windows намного сложнее, и
программа их инсталляции не исчерпывается простым копированием файлов.
Кроме программных файлов приложение Windows обычно включает
определенные установки системного реестра, наличие некоторых DLL-файлов
Windows, которые должны присутствовать на локальном диске, а также
процедуру создания строк в меню кнопки Start (Пуск) и пиктограмм,
необходимых для запуска приложения.
Если есть желание совместно использовать несколькими рабочими
станциями приложение, размещенное на сервере, то, как правило, по-прежнему
придется провести его полную установку на каждой машине. Это делается
для того, чтобы быть уверенным, что каждая рабочая станция имеет
соответствующие файлы Windows, установки реестра и пиктограммы,
необходимые для работы приложения. Один из способов практической реализации
приложения, размещенного на сервере, заключается в проведении полной
инсталляции программы на каждую рабочую станцию, с указанием имени
одного и того же каталога сервера в качестве места расположения файлов
программы в каждом отдельном случае. Таким образом, каждая рабочая
станция получит все необходимые файлы и модификации, а на сервере
останется всего одна копия файлов приложения.
Другой важной проблемой является способность поддерживать
индивидуальные параметры конфигурации для каждой рабочей станции, получающей
доступ к приложению. Например, если один из пользователей
модифицирует интерфейс совместно используемого приложения, весьма нежелательно,
чтобы эти изменения отражались на других пользователях. В результате,
каждый из пользователей приложения должен поддерживать собственную
копию параметров конфигурации данного приложения. Является это простой
или сложной задачей и выполнимо ли вообще, целиком и полностью
зависит от того, где именно данное приложение хранит свои конфигурационные
установки. Если, например, установки сохраняются в системном реестре
или INI-файле Windows, в процессе инсталляции будет создана отдельная
конфигурация для каждой рабочей станции. Однако, если по умолчанию
установки конфигурации приложения размещаются вместе с файлами
программы на сервере, то следует предпринять ряд шагов, направленных на то,
чтобы не допустить ситуации, когда изменения, вносимые одним
пользователем, аннулируют изменения других пользователей.
В некоторых случаях существует возможность конфигурирования
приложения для хранения установок конфигурации в альтернативном месте, что
позволяет переместить их на локальный диск каждой из рабочих станций или
в индивидуальный каталог каждого пользователя на сервере. Если такой
возможности нет, данное приложение нельзя считать подходящим для
совместного использования в сети.
916
Часть VIII. Сетевое администрирование
Во многих случаях наиболее практичным способом исполнения приложений,
размещенных на сервере, является применение приложения, которое имеет
свои собственные сетевые возможности. Например, Microsoft Office позволяет
создавать на сервере точку управляемой инсталляции (administrative installation
point), которую можно затем использовать для установки приложения на
рабочие станции. Проводя каждую инсталляцию, можно выбирать, будут ли
файлы приложения копироваться на локальный диск, запускаться с диска
сервера или распределяться между сервером и рабочей станцией.
Хранение рабочих файлов
В большинстве современных сетей Windows как операционная система, так
и файлы приложений устанавливаются на локальных дисках рабочих
станций. Однако по-прежнему только от администратора сети зависит принятие
решения о том, где именно будут храниться файлы данных, создаваемые и
изменяемые пользователями. При решении данного вопроса следует
обращать особое внимание на некоторые принципиальные моменты, а именно,
доступность этих файлов для пользователей и их безопасность. Естественно,
пользователи должны получать доступ к своим файлам данных, но
существуют также файлы, которые должны совместно использоваться многими
пользователями. Важные файлы данных также должны быть защищены от
модификации и удаления неавторизованным персоналом и к тому же
дублироваться на альтернативном носителе в целях страховки от
непредвиденных обстоятельств, например, выхода диска из строя или пожара.
Рабочие файлы могут иметь различный формат, что не может не отражаться
на том, каким способом их надлежит хранить. Например, документы
индивидуальных пользователей, созданные с помощью текстовых редакторов или
электронных таблиц, предназначены для использования одним человеком в
каждый момент времени, в то время как базы данных поддерживают
одновременный доступ нескольких пользователей. В большинстве случаев файлы
баз данных хранятся на компьютерах, исполняющих приложения серверов
баз данных, поэтому администраторы могут регулировать доступ к ним с
помощью разрешений файловой системы и защищать регулярным
резервным копированием. Другие типы файлов могут требовать дополнительного
планирования.
Так как операционные системы Windows 95/98 и Windows NT/2000 все
относятся к одноранговым сетевым операционным системам, можно
разрешить пользователям хранить свои документы как на локальных дисках, так
и на дисках сервера, и по-прежнему иметь возможность их совместного
использования с другими пользователями сети. Однако есть несколько
достаточно веских причин, по которым более правильным решением
представляется хранение всех рабочих файлов на жестких дисках сервера. Первая и
наиболее важная из этих причин заключается в том, что так намного проще
Глава 27. Администрирование сетей Windows
917
защищать файлы от потери из-за сбоя диска рабочей станции. Серверы с
большей вероятностью оснащены всевозможными защитными
механизмами, такими как, например, RAID-массивы или зеркальные тома. Кроме
того, серверам проще использовать резервное копирование. В конце концов,
серверы позволяют сделать данные доступными в любое время, тогда как
рабочая станция может быть выключена при отсутствии пользователя.
Вторая причина относится к управлению доступом. Несмотря на то, что и
серверы, и рабочие станции Windows имеют сходные возможности по
предоставлению определенных прав конкретным пользователям, сами
пользователи крайне редко обладают достаточным уровнем навыков или желанием
для того, чтобы эффективно защитить свои собственные файлы. Поэтому
администраторам сети намного проще управлять правами на одном сервере,
чем на множестве рабочих станций. Еще одна немаловажная причина
состоит в том, что присутствие дисков совместного использования у каждой
рабочей станции делает крайне трудным обнаружение конкретной
информации в сети. Если только бегло взглянуть на домен Windows NT или 2000 и
увидеть там десятки или сотни компьютеров, каждый из которых имеет
собственные ресурсы совместного использования, можно легко понять, насколько
сложной будет задача по определению местоположения конкретного файла.
Ограничение ресурсов совместного использования рамками относительно
небольшого числа серверов способно упростить подобный процесс.
В результате наилучшей стратегией для большинства сетей Windows
представляется установка операционной системы и всех приложений на
локальные диски рабочих станций в сочетании с хранением всех рабочих файлов
на серверах сети. Наиболее распространенная практика заключается в
создании на сервере индивидуального каталога для каждого пользователя,
причем пользователю предоставляется полный контроль над собственным
каталогом. Затем следует сконфигурировать все приложения для хранения
рабочих файлов в этом каталоге по умолчанию, чтобы никакой ценной
информации не оставалось на локальном диске. В зависимости от нужд
пользователей сети вы можете сделать домашние каталоги частными (private),
чтобы только данный пользователь имел доступ к своему каталогу, или же
разрешить всем пользователям доступ типа "только чтение" к
индивидуальным каталогам других пользователей. Это позволит каждому пользователю
совместно использовать любой рабочий файл с другим пользователем,
просто сообщив ему имя и место расположения этого файла.
При создании учетной записи пользователя в домене Windows NT или объекта
пользователя в Active Directory операционной системы Windows 2000 существует
возможность одновременного создания индивидуального каталога для данного
пользователя с помощью диалогового окна, изображенного на рис. 27.1. По
умолчанию пользователям предоставляется полный контроль над их
домашними каталогами, а всем остальным доступ полностью запрещен.
918
Часть VIII. Сетевое администрирование
lUsei Environment Profile |
User: jdoe (John Doe)
г User Profiles
User Profile Path: |N\cz1 SusersSjdoe
! l_ogon Script Name: ]
Г Home Directory
i f" Local Path: |
■ [<? Connect |U: jj To |\\cz1\users\jdoe
OK
Cancel
Help
xj
Рис. 27.1. Диалоговое окно User Environment Profile утилиты
User Manager for Domains операционной системы Windows NT
При желании можно изменить эти права, чтобы предоставить доступ к
каталогу другим пользователям сети или, по крайней мере, администраторам.
Контроль конфигурации
рабочей станции
В организации, состоящей из опытных пользователей, каждого пользователя
можно предоставить самому себе в вопросах конфигурации рабочего стола
Windows. Знающие пользователи могут создавать свои пиктограммы на
рабочем столе, управлять собственными ярлыками меню кнопки Start (Пуск),
самостоятельно вьщелять для обозначения дисков определенные буквы. Однако
далеко не всякая организация может похвастаться большим количеством
опытных пользователей, и поэтому намного удобнее предоставить
администратору сети возможность сформировать стабильную и жизнеспособную
конфигурацию рабочих станций.
Отображение дисков
Многие неопытные пользователи не имеют четкого представления о
сущности сети и о том, как диск сервера может обозначаться определенной буквой
на локальной машине. Пользователь может иметь диск, обозначенный
буквой F, который соответствует диску определенного сервера, и полагать, что
системы остальных пользователей сконфигурированы таким же образом.
Если распределение букв для обозначения дисков на рабочих станциях не
является постоянным, могут возникать недоразумения, когда, например,
один пользователь говорит другому, что файл находится на диске F, а
фактически эта буква соответствует совсем другому диску совместного
использования. Для того чтобы избежать подобных сложностей, администраторам
Глава 27. Администрирование сетей Windows
919
следует создать стратегию стабильного отображения дисков для
пользователей, совместно применяющих одни и те же ресурсы.
В качестве примера можно привести тот факт, что, в большинстве случаев,
пользователи имеют в качестве своего "домашнего сервера" сервер отдела или
рабочей группы, поэтому очень хорошей идеей будет обозначение диска этого
сервера одной и той же буквой на всех рабочих станциях. Если в сети есть
серверы приложений, предоставляющие свои ресурсы всем пользователям сети
(например, сервер базы данных компании), тогда каждая система сети должна
обозначать диск этого сервера одной и той же буквой. Реализация даже таких
минимальных мер позволит значительно уменьшить число надоедливых звонков
озадаченных пользователей в службу технической поддержки сети.
John Doe Properties
Member Of | Dial-in | Environment | Sessions
Remote control | Terminal Services Profile
General | Address | Account Profile | Telephones | Organization
User profile—
Profile path:
Logon script:
Home folder-
<* Local path: |
С Connect: | j] To: f"
OK
Cancel
Apply
Рис. 27.2. Вкладка Profile
диалогового окна свойств
объекта пользователя в консоли
Users and Computers, входящей
в Active Directory
Для реализации стабильного набора букв, соответствующих дискам
пользователей, можно применять скрипты входа в сеть. Они содержат команды net
use, отображающие диски определенных серверов при каждом подключении
пользователя к сети. Правильное структурирование этих команд позволит
создать единый скрипт входа в сеть для многочисленных пользователей.
Например, для выделения буквы диска, обозначающей домашний каталог
каждого пользователя, можно использовать следующую команду:
NET USE X: /home
920
Часть VIII. Сетевое администрирование
Чтобы обозначить командный файл в качестве файла скрипта входа в сеть,
необходимо указать его имя в диалоговом окне User Environment Proffle
утилиты User Manager for Domains операционной системы Windows NT 4.0. В
системе же Windows 2000, имя этого файла следует указать на вкладке Proffle
(Профиль) диалогового окна Properties (Свойства) объекта данного
пользователя в консоли Users and Computers, входящей в Active Directory (рис. 27.2).
^ Примечание ^
Для получения более подробной информации о различных способах
использования команды net операционной системы Windows NT см. главу 28.
Профили пользователей
Создание профилей пользователей представляет собой метод сохранения
ярлыков и установок конфигурации рабочего стола индивидуальных
пользователей в каталогах, к которым возможно получение доступа в процессе
запуска их систем. Отдельные профили для каждого пользователя разрешают
каждому из них возвращать свои собственные конфигурационные установки
при регистрации в системе. Если профили пользователей хранятся на
рабочей станции, то становится возможным ее совместная эксплуатация
несколькими пользователями, причем без необходимости перезаписывать
конфигурационные установки друг друга. Если же профили хранятся на сервере
сети, пользователи смогут получать к ним доступ с любой рабочей станции.
Это называется перемещаемым профилем (roaming profile). Кроме того, можно
заставить пользователей загружать определенный профиль при каждом
входе в систему и запретить им изменять его. Это будет называться
обязательным профилем (mandatory profile).
Системный реестр Windows 95 и 98 состоит из двух файлов на локальном
диске под названиями System.dat и User.dat. Файл User.dat соответствует
ключу реестра hkey^_current_user, который содержит все
конфигурационные установки, имеющие отношение к пользователю, зарегистрированному
в данный момент. В операционных системах Windows NT и 2000
соответствующий файл называется Ntuser.dat. Этот файл, также называемый ульем
реестра (registry hive), формирует основу профиля пользователя. При
загрузке файла User.dat или Ntuser.dat в процессе старта системы, содержащиеся в
нем установки переписываются в системный реестр и становятся активными
в данной системе.
Улей пользователя содержит следующие типы установок конфигурации:
О все определяемые пользователем установки Windows Explorer (Проводник
Windows);
П постоянные соединения сетевых дисков;
П соединения сетевых принтеров;
Глава 27. Администрирование сетей Windows
921
П все определяемые пользователем установки Control Panel (Панель
управления), например, раздел Display (Экран);
П все установки панели задач;
О все определяемые пользователем установки вспомогательных программ
Windows, например, Calculator (Калькулятор), Notepad (Блокнот), Clock
(Часы), Paint, а также HyperTerminal;
□ все закладки, созданные в системе справочных файлов Windows.
Кроме самого улья профиль пользователя может также включать
подкаталоги, содержащие ярлыки и другие элементы, которые формируют
конфигурацию рабочего стола данного пользователя. Эти подкаталоги
перечислены ниже.
□ Application Data. Содержит данные, специфические для приложений,
например, индивидуальные файлы словарей.
□ Cookies. Содержит cookies, используемые Internet Explorer для хранения
информации о взаимодействии системы с определенными сайтами
Интернета.
□ Desktop (Рабочий стол). Содержит ярлыки к программам и файлам,
появляющиеся на рабочем столе Windows.
□ Favorites (Избранное) (только Windows NT/2000). Содержит ярлыки
программ, файлов и URL, которые появляются в списке Favorites браузера
Internet Explorer.
□ History (только Windows 95/98 и Windows NT). Содержит ярлыки URL,
ранее посещенных пользователем с помощью Internet Explorer.
О My Documents (Мои документы) (только Windows 2000), Содержит
ярлыки личных документов и других файлов.
□ NetHood. Содержит ярлыки, появляющиеся в окне Network Neighborhood
(Сетевое окружение).
П Personal (только Windows NT). Содержит ярлыки личных документов и
других файлов.
□ PrintHood (только Windows NT/2000). Содержит ярлыки, появляющиеся в
окне Printers (Принтеры).
□ Recent. Содержит ярлыки, появляющиеся в папке Documents
(Документы) меню кнопки Start (Пуск).
□ SendTo (только Windows NT/2000), Содержит ярлыки программ и
областей файловой системы, появляющиеся в папке SendTo (Отправить)
контекстного меню.
□ Start menu (Главное меню). Содержит ярлыки программ и файлов,
появляющиеся в меню кнопки Start (Пуск).
□ Templates (Шаблоны). Содержит ярлыки шаблонов документов.
922
Часть VIII. Сетевое администрирование
^ Примечание ^Д
Каталоги NetHood, PrintHood и Templates по умолчанию являются скрытыми.
Для того чтобы просмотреть их содержимое, Windows Explorer должен быть
сконфигурирован для просмотра скрытых файлов.
С помощью улья реестра и подкаталогов профиль пользователя
конфигурирует большую часть среды рабочей станции, включая такие элементы
оформления, как цвета экрана и обоев, а также рабочие элементы,
например, пиктограммы рабочего стола и ярлыки меню кнопки Start (Пуск).
Более серьезные компоненты конфигурации системы, такие как драйверы
устройств или их установки, не входят в профиль пользователя. Если,
например, в систему устанавливается новое оборудование, то все пользователи
будут иметь к нему доступ, независимо от того, какой профиль применяется
в данный момент.
Change Passwords | Remote Administration User Profiles |
С All jjsers of this computer use the same preferences and
desktop settings.
<*" Osers can customize their preferences and desktop
•**tt»ngs. Windows switches to your personal settings
youlog^on. _
Г User profile settings— — —
W Include desktop icons and Network Neighborhood
contents in user settings.
W Include £tart menu and Program groups in user
settings.
OK
Cancel
Рис. 27.3. Вкладка User Profiles
раздела панели управления Passwords
операционной системы Windows 98
По умолчанию операционная система Windows NT создает отдельный
профиль для каждого пользователя, который регистрируется на данной машине,
и хранит эти профили в каталоге \Winnt\Profiles системного жесткого диска.
Система также создает профиль пользователя по умолчанию в процессе
собственной инсталляции, служащий шаблоном при создании новых профилей.
Если есть некие элементы, которые хотелось бы включить во все профили
данной системы, то можно внести соответствующие изменения в этот
профиль, находящийся в каталоге Default User, еще до того, как в системе
зарегистрируется первый пользователь. После этого система будет копировать
Глава 27. Администрирование сетей Windows
923
профиль по умолчанию в новый каталог при регистрации каждого
следующего пользователя.
В операционных системах Windows 95 и 98 применение профилей
пользователей не является обязательным и контролируется вкладкой User Profiles
(Профили пользователей) в составе раздела панели управления Passwords
(Пароли) (рис. 27.3). В этом диалоговом окне вы можете указать, обязана ли
система создавать новый профиль для каждого следующего пользователя,
который проходит регистрацию, а также должен ли этот профиль включать
пиктограммы рабочего стола, установки Network Neighborhood (Сетевого
окружения), меню кнопки Start (Пуск) и программные группы. Профили
создаются в каталоге \Windows\Profiles системного диска. Однако в отличие
от Windows NT в операционных системах Windows 95 и 98 отсутствует
профиль пользователя по умолчанию.
Создание перемещаемых профилей
Как Windows NT/2000, так и Windows 95/98 хранят профили пользователей
по умолчанию на диске локальной машины. Можно изменить эту
установку, указав место для расположения конкретного профиля пользователя на
сервере сети в том же диалоговом окне User Environment Profile утилиты
User Manager for Domains операционной системы Windows NT или той же
вкладки Profile в системе Windows 2000, где отмечается путь к
индивидуальному каталогу данного пользователя. Системы Windows NT и 2000 работают
с путем, указанным в поле Profile, в то время как Windows 95 и 98
используют индивидуальный каталог. Сервером профилей способна стать любая
система, к которой может быть получен доступ с рабочей станции, причем
она может использовать любую из версий Windows 95/98 или NT/2000 и
даже Novell NetWare.
Как только указано место расположения профиля, операционная система
рабочей станции производит копирование активного профиля на диск
сервера при ближайшем отключении пользователя от сети.
Наилучшим способом организации системы пользовательских профилей
сети является выделение одной машины сети в качестве сервера профилей и
создание на ее диске каталогов с названиями, соответствующими именам
пользователей, в которых и будут храниться профили пользователей. Затем
для задания расположения каталога профиля каждого пользователя можно
использовать переменную %username% в качестве части пути, например:
\\Ntserver\Profiles\%Usemame%
После чего система самостоятельно заменит переменную %username% именем
пользователя, под которым он прошел регистрацию. Однако эта переменная
должна встречаться в обозначении пути лишь однократно и соответствовать
только последнему подкаталогу. С другой стороны, система вполне может
924
Часть VIII. Сетевое администрирование
распознавать расширения, присваиваемые этой переменной, что делает
допустимыми такие варианты путей, как \\Ntserver\Profiles\%Username%.man.
Хранение профилей пользователей на сервере не приводит к их удалению с
той рабочей станции, откуда они происходят. Как только создан профиль,
размещенный на сервере, каждая регистрация пользователя запускает
следующий процесс. Рабочая станция сравнивает профиль сервера с профилем,
находящимся на самой рабочей станции. Если версия профиля сервера
оказывается более новой, чем версия рабочей станции, последняя проводит его
копирование с сервера на локальный диск и уже оттуда загружает его в
память. Если оба профиля идентичны, рабочая станция просто загружает в
память профиль, присутствующий на локальном диске, не переписывая его
с сервера. Когда пользователь отключается от сети, рабочая станция вносит
как в собственную версию профиля, так и в версию рабочей станции, все
изменения, сделанные пользователем в ключах реестра и ярлыках рабочего
стола, формирующих профиль.
Так как профиль всегда загружается только с локального диска, даже в том
случае, когда его версия копируется с сервера, важно принимать во
внимание последствия тех изменений, которые вносятся в профиль с другой
машины. Если, например, администратор изменяет профиль на сервере,
удаляя некоторые ярлыки, то эти манипуляции, скорее всего, ни к чему не
приведут, поскольку ярлыки все равно сохранятся на рабочей станции, и
копирование профиля сервера не вызовет их удаление. Для изменения
профиля необходимо внести соответствующие коррективы как в копию сервера,
так и в копию рабочей станции.
Как только создан профиль определенного пользователя, размещенный на
сервере, этот пользователь может подключаться к сети через любую рабочую
станцию и загружать собственный профиль, кроме небольшого исключения:
профили пользователей, созданные системами Windows 95/98 или NT/2000,
не являются взаимозаменяемыми, так как реестры этих операционных
систем принципиально различны. Пользователь, имеющий профиль
Windows NT/2000 на сервере, не сможет входить в сеть с рабочих станций
Windows 95/98 и загружать тот же профиль или использовать тот же каталог
сервера для хранения еще и профиля Windows 95/98.
Один из потенциальных недостатков хранения профилей серверов на
сервере сети заключается в том, что определенное количество данных регулярно
требуется передавать по сети. Улей реестра и всевозможные подкаталоги с
ярлыками обычно не вызывают сложностей. Однако, если, например
пользователь Windows 2000 Professional хранит многие мегабайты данных в таких
каталогах, как My Documents или Personal, то время, необходимое для
копирования этих каталогов на сервер и считывания их обратно, может
приводить к значительным задержкам в процессе подключения к сети и
отключения от нее. Причина включения таких каталогов, как My Documents или
Personal, заключается в необходимости обеспечить пользователю доступ к
Глава 27. Администрирование сетей Windows
925
его персональным рабочим файлам, если даже он подключается к сети с
другой рабочей станции. Если же все рабочие файлы пользователей уже
хранятся на сервере, как было рекомендовано ранее, то это не является
необходимым, поэтому стоит проинструктировать пользователей, чтобы они
не хранили большие объемы информации в этих каталогах.
Создание обязательных профилей
Когда пользователи модифицируют элементы своей конфигурации Windows,
рабочая станция вносит эти изменения в соответствующие профили
пользователей, чтобы они сохраняли свое действие при следующих подключениях
этих пользователей к сети. Однако существует возможность создания
администратором сети обязательных профилей, которые пользователям не
разрешено изменять. Таким образом, при каждом следующем подключении к
сети конфигурация системы будет оставаться неизменной, независимо от
того, какие модификации были внесены пользователями в процессе
последнего сеанса работы. Для того чтобы не допустить изменения пользователями
собственных профилей, когда они отключаются от сети, следует изменить
имя улья реестра в каталоге сервера, где хранится профиль, с User.dat на
User.man или с Ntuser.dat на Ntuser.man. Когда рабочая станция
обнаруживает файл с расширением man в каталоге профиля, она загружает именно
его, а не файл с расширением dat, и не переписывает ничего в каталог
профиля в процессе отключения пользователя от сети.
|^ Примечание jj
Создавая обязательный профиль, следует убедиться в том, что
соответствующий пользователь в данный момент не работает и не зарегистрирован на
рабочей станции. В противном случае улей будет переписан обратно в файл с
расширением dat во время выхода пользователя из системы.
Другое изменение, которое можно произвести, чтобы убедиться, что именно
обязательный профиль будет использоваться, заключается в присвоении
расширения man самому каталогу, где находится профиль. Это не позволит
пользователю пройти регистрацию в сети, не загрузив профиль. Если
сервер, на котором хранится профиль данного пользователя, окажется
недоступным, пользователь просто не сможет подключиться к сети. Если принято
решение сделать именно так, то следует убедиться в том, что расширение
man не только присутствует у самого каталога, но и фигурирует в пути,
указывающем расположение каталога профиля, в диалоговом окне User
Environment Profile (для Windows NT) или на вкладке Profile диалогового
окна Properties объекта пользователя (для Windows 2000).
Важно понимать, что превращение профилей в обязательные не запрещает
пользователям вносить изменения в конфигурации их рабочих станций, а
просто не позволяет сохранять эти изменения в самом профиле. Кроме того,
926
Часть VIII. Сетевое администрирование
сам по себе обязательный профиль не помешает пользователю вручную
изменить профиль с помощью удаления или добавления ярлыков или
получения доступа к улью реестра. Если хочется обеспечить более высокий
уровень контроля над конфигурацией рабочей станции и вообще помешать
внесению пользователями каких-либо изменений в интерфейс, то следует
применять другой механизм, например, системную политику, а также
убедиться в том, что каталоги профилей на сервере надежно защищены
разрешениями файловой системы.
Репликация профилей
Если в вопросах обеспечения конфигурации рабочих станций
предполагается опираться на размещение профилей пользователей на сервере, то следует
обязательно предпринять ряд мер для того, чтобы эти профили всегда
оставались доступными пользователям, когда бы они ни подключались к сети.
Это особенно важно в том случае, если применяются обязательные профили
с расширением man у соответствующего каталога, так как, если сервер, где
хранятся эти профили, неисправен или недоступен, пользователи с такими
профилями просто не смогут зарегистрироваться в системе. Один из
способов реализации этой идеи заключается в размещении каталогов профилей
на контроллере домена и последующем использовании сервиса Directory
Replicator, входящего в Windows NT или Windows 2000, для регулярного
копирования этих каталогов на другие контроллеры домена в сети.
Как только удастся добиться состояния, когда каталоги профилей будут
продублированы на всех контроллерах домена, можно будет использовать
переменную %LogonServer% в пути к профилю каждого пользователя, чтобы
точно знать, что они всегда смогут получить доступ к своим профилям,
когда подключаются к сети, например:
\\%LogonServer%\users\%UserName%
В процессе входа в сеть рабочая станция заменит переменную
%LogonServer% на имя того контроллера домена, который проводил
аутентификацию пользователя. Так как каталоги профилей продублированы на
всех контроллерах домена, рабочая станция всегда будет иметь доступ к
профилям, пока доступен любой из контроллеров домена. Если же ни один
из контроллеров домена не доступен, то видимо придется решать и так
слишком большие и серьезные проблемы, чтобы беспокоиться о
недоступности каких-то профилей пользователей.
Создание сетевого профиля
пользователя по умолчанию
Операционные системы Windows NT и Windows 2000 имеют профиль
пользователя по умолчанию, который применяется в качестве шаблона при
создании новых профилей. Как упоминалось ранее, его можно модифициро-
Глава 27. Администрирование сетей Windows
927
вать, чтобы все профили, создаваемые на данной машине, имели ряд
определенных характеристик. Также существует возможность создания профиля
пользователя по умолчанию в сети, чтобы обеспечить одинаковый набор
сервисов любому новому профилю, создаваемому в сети. Для этого следует
создать каталог под названием Default User в корне ресурса совместного
использования Netlogon контроллера домена с операционной системой
Windows NT или Windows 2000. По умолчанию ресурс совместного
использования Netlogon находится в каталоге \Winnt\System32\Repl\Import\Scripts
системного диска сервера. Затем необходимо полностью скопировать в каталог
Default User профиль, который предполагается использовать в качестве
сетевого профиля по умолчанию, включая улей реестра и все подкаталоги. С
этого момента, когда бы пользователи не регистрировались в системе
Windows NT или Windows 2000, их профили будут создаваться с помощью
копирования профиля по умолчанию с диска контроллера домена.
^ Примечание ^|
Сетевой профиль пользователя по умолчанию может работать только с
клиентскими системами Windows NT или Windows 2000. Операционные системы
Windows 95 и 98 не создают новые профили с применением сетевого диска.
Контроль реестра рабочей станции
Системный реестр является центральным хранилищем данных о
конфигурации в операционных системах Windows 95/98 и Windows NT/2000, и
осуществление контроля над ним есть одна из наиболее важных частей работы
системного администратора. Возможность получения доступа к реестру рабочей
станции, как удаленно, так и в автоматизированном режиме, позволит
контролировать практически любой аспект функциональности системы, а также
защищать сам реестр от повреждения из-за неавторизованных изменений.
Использование системных политик
Все 32-битные операционные системы Windows включают возможность
проведения системной политики (system policy), варианты которой позволяют
осуществлять значительный объем контроля над конфигурацией рабочей
станции. Определив набор правил системной политики и внедрив его,
можно контролировать, к каким именно компонентам операционной системы
будет разрешен доступ пользователей, какие приложения эти пользователи
смогут запускать, а также какой вид будет иметь их рабочий стол. Правила
системной политики представляют собой не более чем набор установок
системного реестра, которые упакованы в файл системной политики и хранятся
на диске сервера. Когда пользователь подключается к сети, рабочая станция
загружает файл системной политики с сервера и применяет зафиксирован-
928
Часть VIII. Сетевое администрирование
ные там установки к своему системному реестру. Так как рабочая станция
загружает файл системной политики автоматически во время процесса входа
пользователя в сеть, сами пользователи никак не могут этого избежать. Это
делает системную политику прекрасным средством ограничения доступа
пользователей к интерфейсу Windows.
Применение различных правил системной политики представляет собой
альтернативу прямому изменению ключей системного реестра и тем самым
уменьшает возможность неправильного функционирования системы
вследствие орфографических и других ошибок. Вместо того, чтобы вручную
просматривать содержимое дерева реестра в поисках непонятных ключей и
имен элементов, а затем вводить закодированные значения, можно просто
создать файл системной политики с помощью утилиты с графическим
интерфейсом под названием System Policy Editor (SPE, Редактор системной
политики). SPE демонстрирует установки реестра в виде различных правил
политики, представляющих собой обычные фразы на английском языке со
стандартными элементами диалоговых окон Windows, которые расположены
в виде иерархической древовидной структуры (рис. 27.4).
£2 Default Usei Properties
Policies
£J Default User
В Щ| Control Panel
1 -i \jj Display
171 |[д^Ш||ДдЩга
- ^ Desktop
Ц Wallpaper
Щ Color scheme
Ei-U2l Shell
+;^t Restrictions
- \y System
+! ф Restrictions
+ ^ Windows NT Shell
j it & Windows NT System
Settings for Restrict display
Г" Deny access to display icon
P Hide Background tab
Г" Hide Screen Saver tab
P Hide Appearance tab
P Hide Settings tab
OK
Cancel
Рис. 27.4- Диалоговое окно
Default User Properties утилиты
System Policy Editor
Шаблоны системной политики
Редактор системной политики представляет собой просто инструмент для
создания файлов системной политики, он совершенно не контролирует
конкретные варианты политики, которые создает. Сами правила системной
Глава 27. Администрирование сетей Windows
929
политики берут начало из шаблонов системной политики, которые
представляют собой файлы формата ASCII, содержащие ключи реестра,
возможные значения, пояснительный текст. Все это формирует правила политики,
отображаемые в редакторе системной политики.
Например, следующий фрагмент шаблона системной политики
Common.adm создает вариант политики под названием Remote update,
показанный на рис. 27.5:
CATEGORY !!Network
CATEGORY !!Update
POLICY !!RemoteUpdate
KEYNAME System\CurrentControlSet\Control\Update
ACTIONLISTOFF
VALUENAME "UpdateMode" VALUE. NUMERIC 0
END ACTIONLISTOFF
PART !!UpdateMode DROPDOWNLIST REQUIRED
VALUENAME "UpdateMode"
ITEMLIST
NAME !!UM_Automatic VALUE NUMERIC 1
NAME !!UM_Manual VALUE NUMERIC 2
END ITEMLIST
END PART
PART !!UM_Manual_Path EDITTEXT
VALUENAME "NetWorkPath"
END PART
PART !!Display Errors CHECKBOX
VALUENAME "Verbose"
END PART
PART !ILoadBallance
VALUENAME "LoadBallance"
END PART
END POLICY
END CATEGORY ; Udate
END CATEGORY ; Network
Все операционные системы Windows включают кроме SPE еще и множество
файлов шаблонов системной политики. К основным шаблонам можно
отнести файл Winnt.adm, содержащий шаблоны вариантов политики
Windows NT, файл Windows.adm, включающий шаблоны вариантов политики
Windows 95/98, а также файл Common.adm, содержащий шаблоны вариантов
политики, применимых как в Windows 95/98, так и Windows NT/2000. Дру-
930
Часть VIII. Сетевое администрирование
гие приложения, например, Microsoft Office или Internet Explorer, обладают
собственными наборами файлов шаблонов, содержащими политики,
специфичные для данных приложений. Кроме того, можно самостоятельно
создавать свои шаблоны для изменения других установок реестра.
А1 Default Computer Properties
Policies
\m\ Default Computer
- \jj Network
- ^j System policies update
+ ^ System
* <j^ Windows NT Network
+ ^ Windows NT Printers
t ^ Windows NT Remote Access
+ ф Windows NT Shell
+ ^ Windows NT System
+ <fe Windows NT User Profiles
Settings for Remote update
Update modejAulomalic (use defauJt patnj
Path for manual update I
P Display error messages
P Load balancing
"3
OK
Cancel
Рис. 27.5. Политика Windows NT
под названием Remote update
Выбрав в меню Options (Параметры) команду Policy Template (Шаблон),
можно загрузить шаблоны, которые SPE будет использовать для создания
файлов политики. Существует возможность загружать множественные
шаблоны в SPE, и политики, содержащиеся в них, будут сочетаться с
интерфейсом программы. При запуске SPE загружает те шаблоны, которые были
применены при последнем завершении его работы при условии, что
соответствующие файлы по-прежнему находятся на тех же местах.
Если в SPE используется множество шаблонов системной политики,
вероятна ситуация, когда политики, определяемые двумя различными
шаблонами, конфигурируют одну и ту же установку системного реестра. Если
происходит удвоение подобного типа, вариант политики, расположенный
ближе к основанию иерархии диалогового окна Properties (Свойства) объекта,
имеет преимущество.
Файлы системной политики
С помощью SPE можно создавать политики, применяющиеся только к
конкретным пользователям, группам или компьютерам, а также политики для
Глава 27. Администрирование сетей Windows
931
пользователя по умолчанию (Default User) и компьютера по умолчанию
(Default Computer). Политики для многочисленных пользователей сети и
компьютеров хранятся в единственном файле, который каждый компьютер
загружает с сервера в процессе подключения к сети. Файл системной
политики для операционной системы Windows NT называется Ntconfig.pol, a
файл для систем Windows 95/98 носит название Config.pol. Все
операционные системы Windows 95, 98, NT и 2000 оснащены собственными версиями
утилиты System Policy Editor, но все версии имеют одинаковый интерфейс.
Однако файлы политики Windows 95/98 отличаются от файлов политики
Windows NT/2000, поэтому должны создаваться по отдельности.
Версии SPE операционных систем Windows NT и 2000 по умолчанию
инсталлируются вместе с самими операционными системами, и их можно
запускать в любой системе с Windows 95, 98, NT или 2000, просто скопировав
файлы на диск другого компьютера. Однако тип файлов системной
политики, создаваемых SPE, зависит от той операционной системы, в которой
работает программа. Можно создавать файлы политики Windows 95/98,
запуская SPE на машине с операционной системой Windows 95 или 98, но не
получится сформировать файл системной политики Windows 95/98 на
машине с Windows NT/2000 и наоборот. Версии SPE, поставляемые с
Windows 95/98, не инсталлируются по умолчанию, поэтому их требуется
устанавливать вручную (а не просто копировать) с CD-ROM. С их помощью
можно создавать только файлы системной политики Windows 95/98.
Создание файлов политики
Процесс создания нового файла политики сводится к запуску SPE и выбора
в меню File (Файл) команды New Policy (Создать). По умолчанию,
программа создает объекты Default User и Default Computer. Открыв объект, можно
увидеть правила политики, которые могут быть для него сконфигурированы.
Правила политики, которые создаются в рамках объектов по умолчанию,
отражаются на всех рабочих станциях, подключающихся к сети. Также
имеется возможность формирования дополнительных объектов пользователей и
объектов групп, соотносящихся, соответственно, с NetBIOS-именами
компьютеров и именами учетных записей групп в домене Windows NT или 2000.
Правила политики для компьютеров модифицируют установки реестра в
ключе hkey_local_machine, в то время как правила для пользователей и
групп вносят изменения в ключ реестра hkey_current_user. Когда создается
новый объект пользователя, компьютера или группы, SPE копирует в него
содержимое соответствующего объекта по умолчанию и создает новую
пиктограмму, как показано на рис. 27.6. С этими инструментами можно
реализовать различные варианты политики для разных типов пользователей сети.
После сохранения файла политики под соответствующим именем
размещение его в сети обычно сводится к копированию в ресурс совместного
использования Netlogon на контроллерах домена, который по умолчанию на-
932
Часть VIII. Сетевое администрирование
ходится в каталоге \Winnt\System32\Repl\Import\Scripts системного диска.
Рабочие станции всегда автоматически проверяют этот ресурс на предмет
наличия файла политики во время подключения к сети, и если такой файл
там присутствует, загружают и обрабатывают его. Файлы системной
политики всегда обрабатываются уже после загрузки профилей пользователей,
поэтому установки реестра в файле системной политики имеют преимущество
перед установками улья реестра из профиля пользователя.
\j& System Policy Editor - (Untitled)
File £dit View flptions Help
Dtelal ъ\шШ 1
1 Ё> С С
Default Default User ||doej
Computer
5 entries
Ш
cz1
ИИИГПпГ*]
a
Sales Users
Рис. 27.6. Главное окно утилиты System Policy Editor
Приоритеты политики
Задача создания такой стратегии системной политики, которая
предоставляет достаточный контроль над рабочими станциями сети, и которую
одновременно достаточно просто поддерживать, полностью зависит от
администратора сети. Как и в случае большинства административных задач,
удобнее реализовывать системную политику по отношению к группам
пользователей, нежели создавать индивидуальные варианты политики для каждого
пользователя. Формируя файл групповой политики в SPE, существует
возможность задания приоритета для каждой группы (выбрав в меню Options
(Параметры) команду Group Priority (Приоритет группы)), контролирующего
порядок, в котором варианты политики будут применяться к системе. Когда
рабочая станция обрабатывает файл системной политики, и пользователь
является членом более чем одной группы, система применяет групповые
политики в порядке их приоритетов: от самого низкого до самого высокого.
Таким образом, политики с высоким приоритетом могут изменить
установки политик с более низким уровнем приоритета.
Когда в редакторе системной политики создается объект индивидуального
компьютера, он принимает более высокий уровень приоритета, чем
соответствующий объект по умолчанию (Default Computer). Когда пользователь
проходит регистрацию на рабочей станции, представленной объектом для
компьютера, система обрабатывает политики для индивидуального
компьютера и игнорирует политики объекта Default Computer. Аналогичным
образом, если пользователь представлен индивидуальным объектом, система
загружает индивидуальные политики для данного пользователя и игнорирует
Глава 27. Администрирование сетей Windows
933
все политики для групп, к которым этот пользователь принадлежит, как и
политики для пользователя по умолчанию (Default User). Политики для
пользователей и групп имеют также преимущество над политиками для
компьютеров в тех случаях, когда затрагиваются несколько ключей реестра,
чье существование возможно как в hkey_local_machine, так и в
hkey_current__user. Если установка присутствует в обоих ключах,
преимущество находится на стороне значения, расположенного в ключе реестра
HKEY CURRENT USER.
^ Примечание ^|
Системные политики применяются ко всем пользователям, включая и тех, кто
обладает административным доступом. Если планируется наложить жесткие
ограничения на рабочие станции, следует обязательно убедиться, что в виде
исключения создан объект пользователя или группы, который бы обеспечивал
необходимый доступ администраторам.
Определение значений правил политики
После загрузки шаблона политики в SPE и создания нового файла
системной политики можно начинать создание новых объектов и
конфигурирование их правил политики. Объект каждого компьютера, пользователя или
группы в файле политики содержит иерархию категорий, содержащую
различные варианты правил политики. Каждое правило появляется в виде
отдельного пункта, который может принимать одно из трех следующих
значений, имеющих отношение к реализации данной политики.
□ Enabled (Разрешено). Применяет правило политики к системному реестру
с использованием указанного значения.
□ Disabled (Запрещено). Не применяет правило политики к реестру и
удаляет его из реестра, если оно там уже присутствует.
□ Undefined (He определено). Игнорирует правило политики, не изменяя
реестр, независимо от того, присутствует там данная политика или нет.
Кроме этого пункта, правило политики может иметь еще целый ряд других
управляющих элементов, ассоциированных с ним, которые показываются в
области Settings (Параметры) в нижней части диалогового окна, если
правило разрешено. Эти управляющие элементы могут принимать несколько форм,
включая дополнительные пункты, поля для ввода данных и переключатели.
Способ изменения реестра этими элементами управления зависит от
требований отдельных установок и структуры шаблона политики. Некоторые
правила политики просто создают элемент реестра с определенным именем, в
то время как другие могут назначать конкретной установке двоичное,
буквенно-цифровое или шестнадцатеричное значение.
934
Часть VIII. Сетевое администрирование
Ограничение деятельности рабочей станции
с помощью системной политики
Одна из основных функций системной политики заключается в том, чтобы
запретить доступ пользователей к определенным элементам операционной
системы. Для этого существует несколько причин, например:
□ не допускать запуск пользователями неавторизованного программного
обеспечения;
□ не допускать изменения пользователями элементов оформления;
□ изолировать пользователей от возможностей, которыми они не смогут
безопасно воспользоваться.
Осуществив указанные мероприятия, можно помешать тому, чтобы
пользователи тратили массу времени на непродуктивную деятельность, часто
приводящую к нарушениям функционирования рабочих станций вследствие
бездумных экспериментов, для устранения последствий которых часто
требуется мощная техническая поддержка. Следующие разделы описывают, как
именно можно применять определенные правила системной политики для
управления конфигурацией рабочей станции.
Ограничение приложений
Одной из главных причин нестабильности рабочих станций Windows
является установка несовместимых приложений. Большинство пакетов
программного обеспечения для Windows включают модули динамически
подключаемых библиотек (DLL, dynamic link library), которые устанавливаются в
системные каталоги Windows. Очень часто такие модули заменяют уже
существующие, являясь их более новыми версиями, разработанными для
поддержки определенного приложения. Проблема данного типа программного
обеспечения заключается в том, что установка нового приложения с
заменой определенной DLL-библиотеки на более новую версию, вполне может
нарушить функционирование уже существующее приложения в системе.
Один из способов, который позволяет избежать подобных сложностей,
возникающих из-за данного типа конфликта версий, заключается в подборе
группы приложений, удовлетворяющей нужды пользователей, и
последующего тщательного тестирования всех приложений этой группы
одновременно. Как только станет ясно, что приложения совместимы, их следует
установить на рабочие станции и запретить пользователям добавление другого
программного обеспечения, которое сможет привнести несовместимые
элементы. Ограничение программного обеспечения рабочих станций также не
позволит пользователям устанавливать такие непродуктивные приложения,
как игры, отнимающие огромное количество времени, дискового
пространства и даже пропускной способности сети.
Существует несколько технических приемов, которые можно использовать
для предотвращения установки пользователями неавторизованного програм-
Глава 27. Администрирование сетей Windows
935
много обеспечения на свои рабочие станции. Один из них представляет собой
метод грубой силы и заключается в том, чтобы запретить пользователям
доступ к носителю, с которого они могли бы установить вредоносную программу.
Приобретая компьютеры без приводов CD-ROM, можно отсечь первичный
источник неавторизованного программного обеспечения. Также возможно и
предотвращение доступа к флоппи-дисководу с помощью обыкновенного
амбарного замка или же запуска специальной программы, например, сервиса
FloppyLocker, включенного в Microsoft Zero Administration Kit.
Третьим потенциальным источником неавторизованных программ является
Интернет. Если планируется предоставить пользователям доступ к таким
сервисам, как Web, то при этом может возникнуть желание предпринять
определенные шаги для того, чтобы не допустить установки пользователями
программ, загруженных из Интернета. Один из способов добиться этого, а
также избежать любой установки нелицензионного программного
обеспечения, заключается в использовании правил системной политики, не
позволяющих пользователям запускать программы установки, необходимые для
инсталляции программного обеспечения. В решении данного вопроса могут
помочь правила политики, перечисленные ниже.
О Remove Run Command from Start menu (Удалить команду Выполнить из
меню кнопки Пуск). Не разрешает пользователю запускать программу
установки приложения, запрещая доступ в диалоговое окно Run
(Выполнить).
О Run Only Allowed Windows Applications (Запускать только разрешенные
приложения Windows). Позволяет администратору определить список
исполняемых файлов, являющихся единственными программами, которые
можно запускать пользователю. Используя данную политику, надо не
забыть включить в список все исполняемые файлы, необходимые для
нормальной работы Windows, например, Systray.exe или Explorer.exe.
О Disable MS-DOS Prompt (Запретить режим MS-DOS). He дает
возможность пользователям Windows 95/98 запускать программы в режиме
эмуляции MS-DOS.
Блокирование интерфейса
Существует достаточно много элементов интерфейса Windows, доступ к
которым несведущих пользователей не является обязательным. Поэтому их
блокирование поможет наиболее любопытным пользователям воздержаться
от исследования вещей, которых они до конца не понимают, и ликвидирует
риск повреждения системы в ходе этого познавательного процесса.
Некоторые политики, с помощью которых это можно сделать, перечислены ниже.
О Remove Folders from Settings on Start menu (Удалить папки из меню кнопки
Пуск). Блокирует появление папок Control Panel (Панель управления) и
Printers (Принтеры) в группе Settings (Настройка) меню кнопки Start
936
Часть VIII. Сетевое администрирование
(Пуск). Данное правило политики не препятствует доступу пользователей
к панели управления другими способами, но делает менее вероятным
проникновение туда пользователя из чистого любопытства. Можно также
блокировать определенные пиктограммы панели управления системы
Windows 95/98, используя следующие правила политики:
• Restrict Network Control Panel (Ограничение для программы настройки
сети);
• Restrict Printer Settings (Ограничение для программы настройки
принтеров);
• Restrict Passwords Control Panel (Ограничение для программы
настройки защиты);
• Restrict System Control Panel (Ограничение для программы настройки
системы).
П Remove Taskbar from Settings on Start menu (Удалить панель задач из меню
кнопки Пуск). Не разрешает пользователям изменять конфигурационные
установки панели задач и меню кнопки Start (Пуск).
П Remove Run Command from Start menu (Удалить команду Выполнить из
меню кнопки Пуск). Не дает возможность пользователям запускать
программы или исполнять команды с помощью диалогового окна
Выполнить. Эта политика также обеспечивает дополнительную изоляцию
пользователей от таких элементов, как панель управления или командная
строка, к обоим из которых можно получить доступ с помощью команд
диалогового окна Выполнить.
□ Hide All Items on Desktop (Скрыть все пиктограммы рабочего стола).
Блокирует появление всех пиктограмм рабочего стола Windows. Если есть
желание, чтобы пользователи при запуске программ опирались на меню
кнопки Start (Пуск), можно использовать это правило политики для
удаления пиктограмм рабочего стола, отвлекающих внимание.
□ Disable Registry Editing Tools (Запретить редактирование реестра). Прямой
доступ к системному реестру Windows должен быть ограничен только
теми пользователями, кто точно знает, что и как с ним можно делать.
Политика не разрешает пользователям запускать утилиты для
редактирования реестра, входящие в состав операционных систем.
□ Disable Context Menus for the Taskbar (Запретить контекстные меню для
панели задач). Не позволяет системе демонстрировать контекстные меню,
которые появляются при щелчке правой кнопкой мыши по пиктограмме
панели задач.
Также можно использовать системную политику для защиты оформления
элементов интерфейса, что позволяет пользователям не терять время на
настройку цветов экрана и обоев рабочего стола. Кроме того, можно самостоя-
Глава 27. Администрирование сетей Windows
937
тельно сконфигурировать эти параметры, создав стандартизованный
рабочий стол для всех рабочих станций сети. Эти политики перечислены ниже.
□ Deny Access to Display Icon (Запретить возможность настройки экрана).
Удаляет пиктограмму Display (Экран) из окна Control Panel (Панель
управления), не разрешая пользователям получать доступ к
конфигурационным настройкам экрана.
О Hide Background Tab (Скрыть вкладку выбора фона). Блокирует вкладку
Background (Фон) диалогового окна Display Properties (Свойства экрана).
О Hide Screen Saver Tab (Скрыть вкладку выбора заставки). Блокирует
вкладку Screen Saver (Заставка) диалогового окна Display Properties
(Свойства экрана).
О Hide Appearance Tab (Скрыть вкладку выбора оформления). Блокирует
вкладку Appearance (Оформление) диалогового окна Display Properties
(Свойства экрана).
□ Hide Settings Tab (Скрыть вкладку установки параметров). Блокирует
вкладку Settings (Параметры) диалогового окна Display Properties
(Свойства экрана).
О Wallpaper Name (Фоновый рисунок). Позволяет задавать путь и имя файла
растрового изображения, которое система будет использовать в качестве
фонового рисунка рабочего стола.
О Color Scheme (Схема цветов). Позволяет задать цвета, которые система
должна будет использовать для всевозможных элементов рабочего стола.
В качестве альтернативы профилям пользователей системная политика
предоставляет возможность более точной конфигурации ярлыков,
присутствующих на рабочем столе Windows и в меню кнопки Start (Пуск). Вместо
обращения к целому профилю пользователя с помощью данных правил
политики можно указать расположение индивидуальных папок, содержащих
ярлыки для различных элементов интерфейса. Используются следующие
правила политики:
О Custom Programs Folder/Custom Shared Program Folder (Собственная папка
Программы). Определяет расположение папки, содержащей ярлыки,
появляющиеся в папке Programs (Программы) меню кнопки Start (Пуск).
О Custom Desktop Icons/Custom Shared Desktop Icons (Собственные значки
рабочего стола). Определяет расположение папки, содержащей ярлыки,
появляющиеся на рабочем столе Windows.
О Custom Startup Folder/Custom Shared Startup Folder (Собственная папка
Автозагрузка). Определяет расположение папки, содержащей ярлыки,
появляющиеся в папке Startup (Автозагрузка) меню кнопки Start (Пуск).
О Custom Start menu/Custom Shared Start menu (Собственная папка Главное
меню). Определяет расположение папки, содержащей ярлыки,
появляющиеся в меню кнопки Start (Пуск).
938
Часть VIII. Сетевое администрирование
П Hide Start menu Subfolders (Скрыть папки, вложенные в папку Главное
меню). Блокирует появление в меню кнопки Start (Пуск) вложенных
папок, входящих в профиль пользователя, чтобы предотвратить
дублирование с папками, которые определены в предыдущих политиках.
Ц^ Примечание JI
Эти системные политики имеют различные имена в зависимости от того,
применяются они в системах Windows 95/98 или Windows NT/2000. Первое
название, указанное в данных рубриках, соответствует Windows 95/98, а второе —
Windows NT/2000.
Защита файловой системы
Ограничение доступа к файловой системе представляет собой еще один
способ защиты рабочих станций от вмешательства со стороны
пользователей. Если операционные системы и приложения на всех рабочих станциях
сети уже предварительно сконфигурированы, а пользователи извещены о
необходимости хранить все рабочие файлы на дисках серверов, то не
остается ни одной веской причины для того, чтобы пользователям по-прежнему
было необходимо иметь прямой доступ к локальной файловой системе.
Блокирование этого доступа с помощью системной политики позволит не
допустить перемещения, изменения или удаления файлов, необходимых для
функционирования операционной системы рабочей станции. Также можно
ограничить и доступ пользователей в сеть, применяя правила политики,
перечисленные ниже.
□ Hide Drives in My Computer (Скрыть диски в папке Мой компьютер).
Блокирует появление всех букв, обозначающих диски, в папке My Computer
(Мой компьютер), включая и локальные, и сетевые диски.
□ Hide Network Neighborhood (Скрыть сетевое окружение). Блокирует
появление пиктограммы Network Neighborhood (Сетевое окружение) на
рабочем столе Windows и запрещает соединения с применением UNC-имен.
Например, если это правило политики разрешено, пользователи не могут
получить доступ к сетевым дискам с помощью открытия окна с UNC-
именем в диалоговом окне Run (Выполнить).
□ No Entire Network in Network Neighborhood (Скрыть значок Вся сеть в
сетевом окружении). Блокирует пиктограмму Entire Network (Вся сеть) в
окне Network Neighborhood (Сетевое окружение), не позволяя
пользователям просматривать ресурсы за пределами домена или рабочей группы.
□ No Workgroup Contents in Network Neighborhood (He показывать состав
рабочих групп). Блокирует пиктограммы, представляющие системы
текущего домена или рабочей группы в окне Network Neighborhood (Сетевое
окружение).
Глава 27. Администрирование сетей Windows
939
□ Remove Find Command from Start menu (Удалить команду Поиск). Удаляет
команду Find (Поиск), не разрешая пользователям получать доступ к
дискам, которые могут быть защищены от него иными способами. Если,
например, атрибут Hidden используется для защиты локальной файловой
системы, то команда Find (Поиск) по-прежнему сможет вести поиск на
локальном диске, а также позволит видеть скрытые файлы.
Блокирование файловой системы представляет собой весьма радикальный
шаг, который следует тщательно взвесить и спланировать. Только некоторые
типы пользователей почувствуют преимущества при таком ограничивающем
подходе, другие же могут очень сильно на него обидеться. Кроме
применения системной политики будьте готовы использовать права и атрибуты
файловой системы для того, чтобы предотвратить определенные типы доступа
со стороны пользователей.
Прежде всего, необходимо убедиться в том, что системная политика,
используемая для ограничения доступа к рабочим станциям, не ухудшает
уровня функциональности, необходимого пользователям для выполнения их
повседневной работы, а также в том, что к возможностям, которые
планируется ограничить, отказан доступ другими способами. Например, можно
запретить доступ к панели управления, удалив соответствующую папку из
группы Settings (Настройка) в меню кнопки Start (Пуск), однако
пользователи по-прежнему смогут получать к ней доступ с помощью окна My
Computer (Мой компьютер) или диалогового окна Run (Выполнить), если и эти
варианты также не будут заблокированы.
Применение системной политики
Само по себе использование системной политики в системе Windows
контролируется политикой под названием Remote Update, которая применима к
любой операционной системе Windows. Эта политика имеет три возможные
установки.
□ Off (Выключено). Система не использует политику совсем.
□ Automatic (Автоматически). Система автоматически проверяет корневой
каталог ресурса совместного использования Netlogon контроллера
домена, проводившего ее аутентификацию, на предмет присутствия файла
политики пол названием Ntconfig.pol (для систем Windows NT/2000) или
Config.pol (для систем Windows 95/98).
□ Manual (Ручное). Система проводит поиск файла системной политики в
каталоге, указанном в качестве значения другого правила политики под
названием Path for Manual Update (Путь при обновлении в ручном режиме).
Используя политику Remote Update, можно сконфигурировать системы для
получения файлов системной политики из места их расположения по
умолчанию, а также из любой области, которая будет указана. Для того чтобы
940
Часть VIII. Сетевое администрирование
рабочие станции имели возможность доступа к файлам системной политики
в любое время, представляется неплохой идеей репликация их на все
контроллеры домена как в автоматическом, так и в ручном режиме, аналогично
профилям пользователей.
Удаленное редактирование реестра
Кроме методов предварительной конфигурации, таких как профили
пользователей или системная политика, возможно также интерактивное
взаимодействие с реестром рабочей станции Windows, даже из удаленного места, с
помощью нескольких различных инструментов. Операционные системы
Windows NT и 2000 по умолчанию совместимы с точки зрения удаленного
доступа к реестру, но в системах Windows 95 и 98 потребуется установить
сервис Remote Registry Service с CD-ROM, содержащего дистрибутив ОС, и
сконфигурировать систему для возможности управления доступом на уровне
пользователей.
Как редактор реестра Windows 95/98 (regedit.exe), так и редактор реестра
Windows NT/2000 (regedit32.exe) имеют способность установления
соединения с другой системой сети и получения доступа к ее реестру. Кроме того,
можно использовать редактор системной политики для интерактивной
модификации реестра локальной или удаленной системы. Однако доступ к
реестру, обеспечиваемый SPE, ограничивается только теми установками
реестра, которые определены в шаблонах системной политики, загруженных
в данный момент.
Групповые правила политики
Windows 2000
Несмотря на то, что операционная система Windows 2000 полностью
поддерживает использование системной политики Windows NT 4.0, она
представляет еще и такую продвинутую возможность, как создание групповых
правил политики (group policies), которые работают в одной связке с Active
Directory для создания более комплексных конфигураций рабочих станций.
Кроме возможностей политики Windows NT 4.0, связанных с изменением
реестра, групповые правила политики могут включать типы политики,
перечисленные ниже.
□ Правила политики безопасности. Правила политики, содержащей
установки системы безопасности локального компьютера, домена или сети.
□ Правила политики установки и обслуживания программного обеспечения.
Правила политики, позволяющие администратору удаленно проводить
инсталляцию, обновление версий, исправление и удаление программного
обеспечения рабочей станции.
Глава 27. Администрирование сетей Windows
941
О Правила политики скриптов. Правила политики, реализующие
определенные скрипты подключения к сети и отключения от сети для
конкретных пользователей с помощью всевозможных языков написания
скриптов, поддерживаемых Windows Scripting Host.
□ Правила политики перемещения каталогов. Правила политики,
перемещающие определенные каталоги пользователей на сетевые диски, где к
ним может получить доступ любая система.
Можно осуществлять реализацию групповых правил политики, создавая
объекты групповой политики в консолях, входящих в Active Directory
операционной системы Windows 2000, например, Active Directory Users and
Computers (рис. 27.7). Единожды создав объект групповой политики, его
затем можно ассоциировать с любым другим объектом Active Directory, чтобы
распространить на него действие данной политики.
gf Group Policy
Action View
ВВС
,ф-"'■* I ©|йГ|
Tree |
Default Domain Policy [CZ2.zacker.com] Policy
Ш Computer Configuration
Й • jJB User Configuration
Й-61 Software Settings
; ! £3 Software installation
В-Щ Windows Settings
Й $0 Internet Explorer Maintenance
f Scripts (Logon/Logoff)
Security Settings
__ Remote Installation Services
Й-(§§ Folder Redirection
В -El Administrative Templates
Й -111 Windows Components
j Hi Start Menu &Taskbar
Ш "Hi Desktop
Ер-£Э Control Panel
S • •£} Network
Й -Q| System
| £3 Logon/Logoff
1 -ЁЗ Group Policy
Policy
Setting
G3 Logon/Logoff
Hi Group Policy
щ Don't display welcome screen at logon Not configured
j§| Century interpretation for Year 2000 Not configured
Jj) Code signing for device drivers Not configured
Jjjf Custom user interface Not configured
f|f Disable the command prompt Not configured
$t Disable registry editing tools Not configured
J§jf Run only allowed Windows applications Not configured
Щ Don't run specified Windows applications Not configured
JU Disable Autoplay Not configured
jfjl Download missing COM components Not configured
Рис. 27.7. Окно Group Policy операционной системы Windows 2000
Инициатива нулевого администрирования
Microsoft для Windows
Zero Administration Initiative (ZAI, Инициатива нулевого
администрирования) фирмы Microsoft представляет собой программу, которая использует
такие инструменты, как профили пользователей, системная политика и
942
Часть VIII. Сетевое администрирование
другие элементы, чтобы построить определенную конфигурацию рабочей
станции. Эта конфигурация должна быть проста в установке и
эксплуатации, а также обеспечивать пользователей набором возможностей,
необходимых им для работы с полным или практически полным исключением всех
остальных возможностей. Не являясь отдельным продуктом, ZAI есть скорее
теория построения конфигурации рабочей станции, которая включает ряд
элементов, присутствующих в операционных системах Windows уже
достаточно давно, а также многие только что появившиеся элементы.
Принцип ZAI восходит к философии "минимальных привилегий". По
умолчанию рабочие станции Windows остаются "полностью открытыми" после
установки ОС, а это означает, что пользователь имеет полный контроль над
всеми элементами как операционной, так и файловой систем. ZAI начинает
свою деятельность с "полностью закрытой" операционной системы, а затем
предоставляет пользователям доступ только к тем элементам, которые им
действительно необходимы. Это в большинстве случаев означает полное отсутствие
доступа к инструментам для конфигурирования системы, таким как Control Panel
(Панель управления) или редакторы реестра, а также ограничение пользователя
минимальным набором тщательно подобранных приложений.
Основная цель ZAI заключается в автоматизации максимальной доли
процесса установки рабочей станции и снижении общей стоимости ее
эксплуатации. Последнее может быть достигнуто в связи с тем, что ограничение
взаимодействия пользователя с операционной системой способно
предотвратить повреждение конфигурации рабочей станции из-за установки
нелицензионного программного обеспечения и повреждения файлов
операционной системы.
Компоненты ZAK
Zero Administration Kit (Набор средств нулевого администрирования) фирмы
Microsoft (ZAK) был доступен и ранее в виде версий для Windows NT 4.0,
Windows 95/98 и Windows NT Server Terminal Server Edition. ZAK включает два
предварительно сформированных варианта конфигурации рабочих станций,
представляющих собой наборы инструментов, которые можно использовать
вместе с возможностями собственно операционной системы для реализации
этих вариантов конфигурации. Цель ZAK заключается отнюдь не в том, чтобы
обеспечить для сети решение, требующее нулевого администрирования, а
скорее в том, чтобы предоставить администратору сети своего рода шаблон,
на основе которого он сможет создавать собственные варианты конфигурации
рабочих станций, соответствующие требованиям пользователей сети.
^ Примечание ^j|
Zero Administration Kit для Windows бесплатно доступен на Web-сайте фирмы
Microsoft по адресу: http//www.microsoft.com/windows/zak.
Глава 27. Администрирование сетей Windows
943
Два базовых варианта конфигурации, входящих в ZAK, носят названия
TaskStation и AppStation. Конфигурация AppStation предназначена для
пользователей с минимальными знаниями и опытом в области вычислительной
техники, которые должны решать минимальное число задач. Среди таких
пользователей можно назвать, например, сотрудников центра обработки
заказов, деятельность которых сводится к базовому приему заказа или работе
с покупателями. Конфигурация TaskStation ограничена запуском
единственного приложения (в данном случае браузера Internet Explorer), которое
полностью заменяет оболочку программы Windows Explorer (Проводник
Windows) операционной системы. Обычно приложение функционирует в качестве
интерфейсной части системы базы данных, которая обеспечивает
пользователей функциями и информацией, необходимыми для их работы.
Поскольку оболочка полностью замещается приложением, компьютер не
имеет пиктограмм рабочего стола, панели задач или меню кнопки Start
(Пуск), и Internet Explorer автоматически загружается во время запуска
системы. Кроме того, пользователи полностью изолированы от локальной
файловой системы и имеют доступ лишь к сетевым дискам и только
посредством единственного приложения. Так как пользователи TaskStation лишены
другого интерфейса с операционной системой кроме приложения, у них нет
никакой возможности изменить параметры конфигурации системы, а
защищенная файловая система не позволит им модифицировать файлы
операционной системы и приложения на локальном жестком диске.
Конфигурация AppStation является чуть менее ограниченной, чем
TaskStation и обеспечивает большую гибкость пользователям. Система
AppStation исполняет тщательно подобранный набор приложений с диска
сервера и сохраняет оболочку Проводника, а также ряд стандартных
элементов управления Windows, таких как панель задач и меню кнопки Start
(Пуск). Однако указанное меню ограничено только теми ярлыками, которые
необходимы для запуска приложения, и пользователи по-прежнему имеют
доступ к файловой системе, ограниченный конкретными сетевыми дисками
и лишь с применением определенных приложений. Пользователям
недоступна панель управления или любой другой элемент управления
конфигурацией системы, также они лишены доступа к командной строке через
диалоговое окно Run (Выполнить) или сеанса MS-DOS.
Ограничения, накладываемые на рабочую станцию в рамках конфигураций
AppStation и TaskStation, реализуются в основном посредством применения
системных профилей и разрешений файловой системы. Кроме того, ZAK
включает программы, которые можно применять для блокирования доступа
к флоппи-дисководам на рабочих станциях, а также позволяющие
проводить полную установку рабочей станции, включая операционную систему и
приложения, с использованием процедуры, основанной на скриптах и не
требующей вмешательства пользователя или администратора.
944
Часть VIII. Сетевое администрирование
IntelliMirror
Операционная система Windows 2000 добавляет еще больше
функциональности ZAK, особенно своей возможностью под названием IntelliMirror.
IntelliMirror представляет собой сервис, который сохраняет более полный
набор параметров конфигурации рабочих станций на серверах сети таким
образом, что он может быть получен любой системой в любое время. Этот
принцип в основном сходен с перемещаемым профилем пользователя, за
исключением того, что кроме стандартной информации профиля
IntelliMirror поддерживает копии рабочих файлов всех пользователей и
информацию о приложениях, установленных на каждой рабочей станции.
Конечный результат заключается в том, что пользователи могут подключаться
к сети с любой рабочей станции, причем система будет немедленно
загружать их собственные приложения, рабочие файлы и установки
конфигурации, готовые для применения. Таким же образом, если у конкретной
рабочей станции произошел сбой аппаратного обеспечения, администраторы
могут очень быстро и легко сконфигурировать новый компьютер для
пользователя без каких бы то ни было потерь данных пользователя или его
личных конфигурационных установок.
Глава 28
Средства выявления
неисправностей
и управления сетью
Вне зависимости от того, насколько хорошо разработана и установлена сеть,
наступает время, когда она перестает правильно работать. Часть работы
администратора сети заключается в ежедневном контроле производительности
сети и устранении любых проблем, которые могут возникнуть. Для этого
необходимо иметь соответствующие средства и инструменты. В главе 2
рассказывалось о семи уровнях сетевого стека, определенных в эталонной
модели OSI. Нарушения могут возникнуть фактически на любом уровне, и
средства, используемые для диагностики проблем на различных уровнях,
совершенно различны. Знание доступных средств является одним
существенным моментом в борьбе с неисправностями, а умение их правильно
использовать — другим важным моментом.
Утилиты операционной системы
Многие администраторы остаются в неведении о том, какие возможности
по выявлению неисправностей встроены в стандартные операционные
системы. В результате они иногда бесполезно тратят финансовые средства на
приобретение обеспечения от сторонних фирм и оплату услуг
консультантов. В следующих разделах рассматриваются некоторые из средств
выявления проблем сети, предоставляемые операционными системами, наиболее
широко используемыми в современных сетях.
Утилиты Windows
Операционные системы Windows включают различные средства, которые
можно применять ддя управления сетевыми соединениями и выявления
связанных с ними проблем. Большинство из этих программных
инструментов включены как в Windows 95/98, так и в Windows NT/2000, хотя они
могут принимать разные формы.
946
Часть VIII. Сетевое администрирование
NET
Команда net является основным средством управления из командной
строки для сетевого клиента Windows. Эту команду можно использовать для
выполнения многих сетевых функций, схожих с теми, что позволяют
осуществлять графические утилиты, такие как Windows Explorer (Проводник
Windows). Поскольку net — утилита командной строки, то существует
возможность включать ее в скрипты регистрации и командные файлы.
Например, net можно использовать для входа и выхода из сети, подключения
сетевых ресурсов совместного использования, запуска и остановки сервисов,
размещения в сети разделяемых ресурсов.
Команда net реализована как файл с именем Net.exe, который помещается в
системный каталог (C:\Windows или C:\Winnt) в процессе инсталляции
операционной системы. Чтобы использовать эту программу, надо запустить файл
из командной строки, указав подкоманду, которая может иметь
дополнительные параметры. Хотя некоторые подкоманды в Windows 95/98 и в Windows NT
одинаковы, существуют подкоманды уникальные для каждой из
операционных систем. Эти подкоманды и их назначение перечислены в табл. 28.1, а
функции некоторых ключей рассматриваются в следующих разделах.
Таблица 28.1. Варианты команды net операционных систем Windows
Подкоманда Поддерживающая Назначение
net операционная
система
net accounts Windows NT/2000
net computer Windows NT/2000
NET CONFIG Windows 95/98
net CONFIG Windows NT/2000
SERVER
NET CONFIG Windows NT/2000
WORKSTATION
net continue Windows NT/2000
NET DIAG Windows 95/98
NET FILE Windows NT/2000
Конфигурирует установки и правила
политики для всех учетных записей
определенного компьютера или домена
Добавляет или удаляет компьютер из
текущего домена
Выводит на экран информацию о сетевом
клиенте
Конфигурирует параметры сервиса Server
Конфигурирует параметры сервиса
Workstation
Продолжает работу сервиса, который был
приостановлен
Обменивается диагностическими
сообщениями с другой системой, чтобы проверить
соединение
Выводит на экран и закрывает файлы,
совместно используемые пользователями
сети, а также снимает блокировку файлов
Глава 28. Средства выявления неисправностей и управления сетью
947
Таблица 28.1 (продолжение)
Подкоманда
NET
Поддерживающая
операционная
система
Назначение
NET GROUP
NET HELP
NET HELPMSG
NET INIT
NET
LOCALGROUP
NET LOGOFF
NET LOGON
NET NAME
NET PASSWORD
NET PAUSE
NET PRINT
NET SEND
NET SESSION
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows NT/2000
Windows 95/98
Windows NT/2000
Windows 95/98
Windows 95/98
Windows NT/2000
Windows 95/98
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows NT/2000
Windows NT/2000
Создает или удаляет глобальные группы, а
также добавляет в эти группы
пользователей или удаляет их
Выводит на экран справку для
определенных подкоманд net
Выводит на экран дополнительную
информацию о четырехзначных кодах ошибки
Загружает драйверы протоколов и
сетевого адаптера без привязки их к Менеджеру
протоколов (Protocol Manager)
Создает или удаляет локальные группы, а
также добавляет в эти группы
пользователей или удаляет их
Осуществляет выход пользователя из сети
и закрывает соединения со всеми
сетевыми ресурсами совместного использования
Производит регистрацию пользователя в
рабочей группе или домене
Управляет списком имен, используемым
сервисом Messenger для отправки
сообщений
Изменяет пароль регистрации в сети
текущего пользователя
Приостанавливает работу указанного
сервиса без выгрузки его из памяти до того,
как его работа будет возобновлена
командой NET CONTINUE
Управляет работой очередей печати и
заданиями печати, размещенными в них
Передает текстовое сообщение другому
пользователю или компьютеру, используя
сервис Messenger
Выводит на экран информацию о текущих
активных сессиях с другими
пользователями сети и служит для их прекращения
948
Часть VIII. Сетевое администрирование
Таблица 28.1 (окончание)
Подкоманда
NET
Поддерживающая
операционная
система
Назначение
NET SHARE
NET START
NET
STATISTICS
NET STOP
NET TIME
NET USE
NET USER
NET VER
NET VIEW
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows 95/98;
Windows NT/2000
Windows NT/2000
Windows 95/98
Windows 95/98;
Windows NT/2000
Выводит на экран, создает и удаляет
ресурсы, предоставленные в совместное
использование на данном компьютере
Запускает указанный сетевой сервис
Выводит на экран статистику для сервисов
Server и Workstation
Останавливает указанный сетевой сервис
Выводит на экран время, установленное в
данной системе, или синхронизирует
время с другой системой
Выводит на экран информацию о
соединениях с сетевыми ресурсами
совместного использования и позволяет управлять
этими соединениями
Создает, изменяет и удаляет учетные
записи пользователей
Выводит на экран тип и номер версии
средства переадресации рабочей группы,
используемого в настоящий момент
Выводит на экран ресурсы, доступные в
сети
NET CONFIG
Команда net config выводит на экран информацию о сетевом клиенте,
установленном на данной системе, такую как показана ниже:
Computer name \\CZ5
User name CRAIGZ
Workgroup NTDOMAIN
Workstation root directory C:\WINDOWS
Software version 4.00.950
Redirector version 4.00
The command was completed successfully.
Глава 28. Средства выявления неисправностей и управления сетью
949
NETDIAG
Команда net diag инициализирует низкоуровневый диагностический тест
между двумя компьютерами в сети. Для этой цели net может работать либо
как клиент диагностики, либо как ее сервер. При запуске команды net diag
система сначала пытается выявить в сети сервер диагностики. Если эта
попытка заканчивается неудачей, система сама начинает выполнять функции
сервера. Если в системе установлены протоколы IPX и NetBIOS (TCP/IP
или NetBEUI), система запрашивает у пользователя сведения, для какого из
протоколов следует выполнить диагностический тест.
Когда система обнаруживает в сети сервер, она передает серию сообщений
сессии NetBIOS или SAP-сообщений протокола IPX и изучает ответы,
приходящие от сервера. В течение теста NetBIOS клиент устанавливает с
сервером соединение TCP или сессию NetBEUI, а затем начинает отправлять
сообщения сессии, содержащие тестовые данные. В случае теста IPX клиент
передает широковещательные сообщения SAP и принимает отклик от
сервера. После этого клиент может передавать серверу однонаправленные
пакеты SAP, содержащие тестовые сообщения.
Команда net diag проверяет работоспособность всего стека протоколов и в
сочетании с другими диагностическими утилитами может помочь выявить
проблему в определенном сервисе или протоколе. Например, если две
системы могут успешно обмениваться сообщениями Ping, но тест net diag
между двумя машинами не проходит, то можно сделать вывод, что проблема
существует где-то выше Сетевого уровня модели OSI.
NET START и NET STOP
Команды net start и net stop используются для запуска и остановки
сетевых сервисов в данной системе. В ОС Windows 95/98 можно использовать
эти команды, чтобы выбрать, какое из средств переадресации следует
загрузить при помощи синтаксиса, отдельные элементы которого описаны ниже.
NET START [BASIC|NWREDIRI WORKSTATION i NETBIND|NETBEUI|NWLINK] [/LIST]
[/YES] [/VERBOSE]
□ basic. Запуск базового средства переадресации.
□ nwredir. Запуск средства переадресации Microsoft Client for NetWare
Networks (Клиент Microsoft для сетей NetWare).
□ workstation. Запуск стандартного средства переадресации.
□ netbind. Привязка протоколов к драйверам сетевых адаптеров.
□ netbeui. Запуск интерфейса NetBIOS.
□ nwlink. Запуск IPX/SPX-совместимого интерфейса.
П /list. Вывод на экран списка работающих сервисов.
950
Часть VIII. Сетевое администрирование
П /yes. Выполнение команды без предварительного запроса данных или
подтверждений.
□ /verbose. Вывод на экран информации о драйверах устройств и сервисах
по мере загрузки.
По умолчанию Windows 95 и 98 загружают полное средство переадресации
рабочей станции, которое обеспечивает доступ к доменам и рабочим группам
сети. Тем не менее, операционная система также включает базовое средство
переадресации, которое можно использовать для базовых возможностей
сетевого взаимодействия, задействовавших минимум системных ресурсов. Базовое
средство переадресации позволяет подключаться к рабочей группе и
осуществлять доступ к ресурсам совместного использования, но не предоставляет
возможности зарегистрироваться в домене Windows NT или 2000.
В ситуациях, когда элементы системы функционируют неправильно,
например, в случае отсутствия возможности загрузить GUI, можно запустить
сетевого клиента реального режима, включенного в Windows 95/98, используя
команды net start basic или net start workstation. Эти команды загру-
жают драйвер NDIS 2.0 для сетевого адаптера и драйверы установленных
протоколов, а затем привязывают драйверы к менеджеру протоколов.
После того как средство переадресации полностью загружено, система
регистрирует пользователя в рабочей группе или домене по умолчанию и
запрашивает пароль. Затем при помощи команды net use можно подключать
сетевые диски и осуществлять к ним доступ или выполнять другие команды,
поддерживающие сетевые функции, такие как net view, которая служит для
отображения ресурсов, доступных в сети, или net diag — для проверки
сетевого взаимодействия. После того как сервисы запущены, их можно
останавливать, используя команду net stop с теми же параметрами, что и для запуска
сервисов, например net stop workstation, но только вне Windows GUI.
Невозможно выполнить команду net stop в сеансе DOS изнутри Windows.
В системах Windows NT можно использовать команды net start и net stop
для запуска и остановки любого сервиса, запущенного на машине, или
пользоваться net pause и net continue для временной приостановки и
продолжения работы сервиса. Ввод из командной строки команды net start
отображает список работающих в данный момент сервисов, такой как
приведен ниже.
These Windows NT services are started:
Alerter
Computer Browser
Content Index
DHCP Client
Eventlog
IIS Admin Service
License Logging Service
Глава 28. Средства выявления неисправностей и управления сетью 951
Messenger
MSDTC
Net Logon
NT LM Security Support Provider
Plug and Play
Print Server for Macintosh
Protected Storage
Remote Procedure Call (RPC) Locator
Remote Procedure Call (RPC) Service
Server
Spooler
Task Scheduler
TCP/IP NetBIOS Helper
Workstation
World Wide Web Publishing Service
The command completed successfully.
[^ Примечание jj
Действие команды net start без параметров в системах Windows 95/98 и
NT/2000 отличается. В системе NT/2000 она носит чисто информативный
характер, а в Windows 95/98 запускает стандартное средство переадресации.
NETSESSION
В Windows NT и 2000 можно заблокировать учетную запись пользователя
через утилиту User Manager или через диалоговое окно свойств объекта
пользователя, и таким образом предотвратить возможность регистрации
пользователя в сети. Однако эта мера не оказывает немедленного эффекта и
вступает в действие только с того момента, когда пользователь попытается
зарегистрироваться в сети в очередной раз. Если необходимо отключить
пользователя от системы немедленно, можно использовать Windows NT
Server Manager или Computer Management Console в Windows 2000, либо
выполнить net session из командной строки.
Запуск net session без параметров отображает список активных в данной
системе сессий, подобный приведенному ниже.
Computer User паше Client Type Opens Idle time
WCZ2 Administrator Windows NT 1381 5 00:14:51
WCZ3 JDOE Windows 4.0 0 00:00:08
WCZ5 CRAIGZ Windows 4.0 0 06:02:51
The command completed successfully.
952
Часть VIII. Сетевое администрирование
Чтобы прекратить сессию немедленно, следует использовать команду net
session со следующим синтаксисом:
NET SESSION [\\имя_компьютера] /delete
Когда в командной строке указывается NetBIOS-имя компьютера, net
session немедленно прекращает все сессии этого компьютера с данной
системой и закрывает все открытые файлы. Если имя компьютера опущено,
net session прекращает все сессии со всеми компьютерами.
Инспектор сети
Net Watcher (Инспектор сети) — это утилита, включенная в Windows 95/98 и
в Windows NT Server 4.0 Resource Kit, которая позволяет отслеживать
пользователей сети, подключенных к компьютеру, ресурсы совместного
использования, к которым они в данный момент осуществляют доступ, и файлы,
открытые удаленными пользователями. Также можно отключать
пользователей от ресурсов совместного использования, принудительно закрывать
файлы, которые эти пользователи открыли, и создавать или удалять
разделяемые ресурсы. Net Watcher обычно применяется для определения, кто из
пользователей в данный момент осуществляет доступ к ресурсам
совместного использования и файлам данного компьютера. Однако с точки зрения
сетевого администрирования лучшая возможность этого приложения
заключается в том, что оно позволяет соединяться с другими компьютерами в
сети и выполнять на них эти действия удаленно.
Соединение с удаленной системой
Net Watcher имеет форму исполняемого файла Netwatch.exe, который
Windows 95/98 устанавливают по умолчанию вместе с операционной системой.
После запуска Net Watcher программа отображает соединения с данной
машиной, которые открыты в настоящий момент. Чтобы отследить активность
другой рабочей станции Windows 95 или 98 в сети, следует выбрать из меню
Управление (Administer) команду Выбрать сервер (Choose Server) и указать
NetBIOS-имя или IP-адрес компьютера, мониторинг которого планируется
осуществлять.
Чтобы соединиться с другой системой Windows 95 или 98 при помощи Net
Watcher, необходимо чтобы для нее было разрешено удаленное управление.
Чтобы его разрешить, пользователь за другой машиной должен открыть
панель управления паролями и на вкладке Remote Administration (Удаленное
управление) установить флажок Enabled Remote Administration of This Server
(Разрешить удаленное управление этим сервером), а также задать пароль,
который будет использоваться для подключения к рабочей станции.
( Совет )
Для систем, содержащих важные данные, желательно использовать
достаточно сложный пароль, так как пользователь с привилегиями удаленного управле-
Глава 28. Средства выявления неисправностей и управления сетью
953
ния может получить доступ ко всем жестким дискам системы и создавать
разделяемые ресурсы без каких-либо ограничений.
Когда разрешается удаленное управление, Windows 98 создает два
административных разделяемых ресурса, указанных ниже.
□ ADMIN$. Обеспечивает администраторам доступ к файловой системе,
даже когда диски не предоставлены в совместное использование.
□ 1РС$. Обеспечивает канал межпроцессного взаимодействия (IPC) между
компьютером пользователя и компьютером администратора.
Эти ресурсы совместного использования позволяют взаимодействовать с
удаленной системой и наблюдать за ее сетевой активностью.
К^~ Примечание ^Д
Возможность удаленного управления в Windows 98 — это не то же самое, что
сервис Remote Registry (Удаленный реестр), который позволяет изменять установки в
реестре других систем сети. Удаленное управление можно разрешить для любой
системы Windows 98, в то время как сервис Remote Registry требует управления
доступом на уровне пользователей и наличия в сети системы Windows NT.
Использование окна подключений
При соединении с другой системой при помощи программы Net Watcher,
устанавливаемого с Windows 95/98, программа выводит окно Connection(s)
(Подключения), которое содержит список пользователей и компьютеров,
осуществляющих доступ к ресурсам совместного использования системы,
как показано на рис. 28.1. В левой панели выводится количество
разделяемых ресурсов и файлов, открытых каждым пользователем, в то время как в
правой панели перечисляются открытые файлы для каждого из ресурсов
совместного использования. Можно отключить пользователя от компьютера
(также как и от любого разделяемого ресурса или файла, к которому
пользователь осуществляет доступ), выделив его имя и выбрав из меню Administer
(Управление) команду Disconnect User (Отключить пользователя).
Administer View H©'P
(Connections to this server
Shared folders connected to and files opened
I Computer j Shares 1 Open Files 1 Connected Time j Idle Time }
___ ___ CZ5 2 3 6:28:30 0:00:48
gCRAIGZ C23 2 0 8:01:40 0:00:45
fiCZI C21 1 1 7:44:02 1:03:14
User
Q ADMIN$
Ус
Q C:\TEMP\HYPERTRM.EXE
Q CATEMPWPERTRM.DLL
Q CATEMP\HTICONS.DLL
Рис. 28.1. Окно Connection(s) программы Net Watcher для Windows 95/98
954
Часть VIII. Сетевое администрирование
Как средство обеспечения безопасности, Net Watcher позволяет проверять
сеть на предмет неавторизованного доступа к определенным системам и
ресурсам совместного использования и предпринимать шаги для
предотвращения продолжения вторжения. Когда обнаруживается, что кто-либо
осуществляет неавторизованный доступ к ресурсу совместного использования,
то этого пользователя можно немедленно откяючить от машины, а затем
переключиться в окно Shared Folders (Общие папки), чтобы изменить
пароль или разрешения для разделяемого ресурса.
К^ Примечание ^
Отключение пользователя от системы является радикальным шагом, в случае
если пользователь имеет открытые файлы. Соединение разрывается без
предупреждения пользователя, и это может привести к потере данных.
Использование окна общих папок
Два других окна программы Net Watcher отображают ту же самую
информацию, но в другом формате. В окне Shared Folder(s) (Общие папки)
перечислены все диски системы, предоставленные в совместное использование,
компьютеры, подключенные к ним, и файлы, открытые каждым из
компьютеров (рис. 28.2). Из этого окна можно создавать и удалять ресурсы
совместного использования на удаленной системе, а также изменять свойства
существующих разделяемых ресурсов.
W Net Watcher - 3 Shaied Folderf*] on UCZ2
Administer View Help
?|с| &Ш &Ш&\
pharedlolders and printers
Connections to this share and files opened
Shared Folder | Shared As 1 Access Type
ЁШЩ с Fuii
Ц)0Л D Full
ЙБЛ CD -Full
ffG3
^CZ5
Q C:\TEMP\HYPERTRM.EXE
Q CATEMP\HYPERTRM.DLL
Q C:\TEMP\HTICONS.DLL
BCZ1
Q C:\temp\D4.GID
Рис. 28.2. Окно Shared Folder(s) программы Net Watcher
для Windows 95/98
Чтобы создать новый ресурс совместного использования, следует из меню
Administer (Управление) выбрать команду Add shared folder (Сделать папку
общей) и выбрать в диалоговом окне Browse for Folder (Ввод пути),
показанном на рис. 28.3, желаемый диск или каталог. В этом диалоговом окне
отображаются существующие на компьютере ресурсы совместного
использования, а также административные разделяемые ресурсы, представленные
буквой диска, после которой стоит символ доллара (такой как с$). В качест-
Глава 28. Средства выявления неисправностей и управления сетью
955
ве корневого каталога для нового ресурса совместного использования
необходимо выбрать один из этих административных разделяемых ресурсов или
его подкаталогов. После того как выбор сделан, появится стандартное
диалоговое окно создания общего ресурса (в котором можно указать имя для
ресурса совместного использования), где следует задать тип доступа,
предоставляемого пользователям, и пароль.
Select the Folder you want to share
jSa}Cz2
ffl-Q с
ва|]
: S3 С] Collwin
ЕЬ-Р1 My Documents
j • Ш CJ Program Files
i lO temp
: ц}~СЗ Windows
©-G3 cd
i .f-Cj d
B-O d$
ffi-Cj Winstall
~j Cancel |
Рйс. 28.3. Административные разделяемые
ресурсы в системе Windows 95/98 выглядят
как буквы дисков, после которых стоит символ $
Также можно изменять пароль для доступа к ресурсу или имя самого
ресурса совместного использования, указав его в списке и выбрав из меню
Administer (Управление) команду Shared Folder Properties (Свойства общей
папки). В случае возникновения бреши в системе обеспечения безопасности
можно даже удалить ресурс совместного использования целиком, чтобы
предотвратить доступ к нему любого из пользователей.
Использование окна открытых файлов
В окне Open File(s) (Открыто файлов) перечислены файлы, находящиеся в
использовании, и пользователи, работающие с ними (рис. 28.4).
Administer View ]j[elp
M.iM^lsJJilM?„
Files open by other users
| Via Share [Accessed By j Open Mode J
Open File
Q C:\TEMP\HTICONS.DLL
0 C:\TEMP\HYPERTRM.DLL
0 C:\TEMP\HYPERTRM.EXE
CZ1
CZ5
CZ5
CZ5
Read/Write
Readonly
Read Only
Read Only
Рис. 28.4. Окно Open File(s) программы Net Watcher
для Windows 95/98
956
Часть VIII. Сетевое администрирование
Из этого окна можно закрыть отдельные файлы (вместо полного отключения
пользователя от системы), выбрав в меню Administer (Управление) команду
Close File (Закрыть файл). Например, файл может быть недоступным из-за
того, что пользователь оставил его открытым и отошел от своего компьютера,
тогда этот файл можно закрыть, не прерывая работы других пользователей.
Наблюдение за сетевой активностью
в Windows NT и Windows 2000
Connection uptiora
;-•£) ARCSERVE
;....£, с
; f> from\\CZ3
&<" C:\lnetPub\wwwroot\zacker.com
JQ; craigz from WCZ5
4 C:\EXCHANGE\mailboK.pst
:■ ' £) CD-lnl
£ from\\CZ3
f> craigz from WCZ5
t!D Clients (Network Client Distribution Share)
ȣID
i ■£ from\\CZ3
|£ craigz from WCZ5
,©dfs
& HPU2 (HP LaserJet IIP)
ȣ) MSAPPS
t!D msoffice
i© NETL0G0N (Logon server share)
■ i© netsys
£D QMS860 (QMS860)
t!D Users
Windows NT и Windows 2000 включают
утилиты, которые обеспечивают те же
функции, что и Net Watcher. Windows NT
Server Resource Kit включает Net Watch,
свою собственную версию программы Net
Watcher (Инспектор сети), которая
использует отличный интерфейс (рис. 28.5), но
выполняет все те же задачи, что и
Net Watcher. Версия NT программы Net
Watcher может наблюдать за другими
системами NT и 2000, а версия
Windows 95/98 —- за другими системами 95/98,
но между собой они взаимодействовать не
могут.
Рис. 28.5. Основное окно программы
Net Watch для Windows NT
Вместо трех различных окон, которые выводит Net Watcher, Net Watch
отображает общие ресурсы, подключения и открытые файлы в виде одного
иерархического дерева, и отключать пользователей и закрывать файлы можно
при помощи контекстных меню. Такие же функции обеспечивает утилита
Server Manager, включенная в Windows NT, используя окна, подобные
приведенному на рис. 28.6.
Connected Users Computer
ml
Opens Time Idle Guest
f| Administrator
!Q; Administrator
& CRAIGZ
£ CRAIGZ
CZ2
CZ3
CZ3
CZ5
1
0
0
2
01:51
05.39
05 34
11:08
01:50 No
05.39 No
00:35 No
00:02 No
3
I
I]
Connected Users: 8
P IPCS
Opens
Close 1 disconnect I Disconnect AJ.. I
00.02
Help
Рис. 28.6. Окно User Sessions
утилиты Server Manager
для Windows NT
Глава 28. Средства выявления неисправностей и управления сетью
957
В Windows 2000 эквивалентные функциональные возможности могут быть
найдены у консоли Computer Management (рис. 28.7). Панели Shares,
Sessions и Open Files позволяют просматривать сетевые соединения любой
системы в сети так же, как Server Manager и Net Watcher.
Ю. Computer Management:
| fiction tfew l| ф« *Ф | ©! US |
Tree |
УЦ Computer Management (Local)
1 ^""Щ& System Tools
j Ш^Ш Event Viewer
J $-® System Information
1 ffi Щ Performance Logs and Alerts
j В-Q Shared Folders
: l^ilBB
j ^J Sessions
1 ' . kj °Den Fi^s
1 Jjk Device Manager
1 ш ®Locd'Users anc^ GrouPs
j i+i $1} Storage
i ffi"fjji Services and Applications
lJ|j^j
Shared Folder
i&> ADMIN*
ш^С$
fc#D$
&U
i#F$
Ы1РС$
ikiMETLOGON
*#SYSVOL
a.
/ | Shared Path
D:\WINNT
C\
D:\
E:\
F:\
D:\WINNT\SYSVOL\...
D:\WINNT\SYSVOL\...
-■■—■ ■ ■ ■•■ "•••-• —•••
i Type | # Client Redirections
Windows 0
Windows 0
Windows 0
Windows 0
Windows 0
Windows 0
Windows 0
Windows 0
;-" [ ■■ ' ■■
ШМШ
j Comment j!
Remote Admin
Def auft share j
Default share 1
Default share j
Default share !
Remote IPC 1
Logon server share j
Logon server share
| |
Рис. 28-7- Консоль Computer Management в Windows 2000
Web Administrator
Web Administrator — это дополнение к серверу Интернета (IIS) от Microsoft,
которое позволяет управлять многими элементами системы Windows NT 4.0
Server при помощи любого Web-браузера, совместимого с языком Java.
Доступный для свободной загрузки с Web-сайта Microsoft по адресу
http://w^w.microsoft.com/ntserver/nts/downloads/management/NTSWebAdmin,
этот программный продукт после установки создает подкаталог \NTADMIN
на Web-сайте, поддерживаемом системой NT Server. Если в браузере указать
этот каталог, то появится основная страница программы Web Administrator
(рис. 28.8).
Из этого окна можно выполнять многие задачи, которые обычно решаются
при помощи встроенных программ администрирования NT, таких как
Control Panel, Server Manager, User Manager, Performance Monitor и других утилит.
Задачи, которые позволяет решать Web Administrator, перечислены ниже.
□ Управление локальными и доменными учетными записями
пользователей, групп и компьютеров.
□ Управление драйверами устройств, установленными в системе.
□ Просмотр журнала регистрации событий NT.
□ Управление разрешениями общих ресурсов и файловой системы.
□ Отправление сообщений пользователям, зарегистрировавшимся на сервере.
958
Часть VIII. Сетевое администрирование
О Удаленная перезагрузка сервера.
□ Управление очередями печати и их содержимым.
□ Запуск, остановка и приостановка работы сервисов.
□ Мониторинг сеансов и отключение пользователей.
□ Просмотр информации о состоянии сервера и статистики
производительности.
[window» nt server Web Administration of
svm^wmmm Microsoft Windows NT Server
Administrators can perform many common tasks on this Windows NT
Server using the list on the left. Simply click on the task you want to
do. Within each task area there are related tasks you can also perform.
You can move from task to task by clicking on any of the items In the
list.
General Windows NT Server status information.
Рис. 28.8- Основной экран программы Web Administrator
Web Administrator использует Java для эмуляции элементов управления, которые
находятся в стандартных приложениях Windows, как показано на рис. 28.9.
Большая часть функциональных возможностей оригинальных программ
присутствует целиком. По умолчанию программа инсталляции утилиты Web
Administrator устанавливает IIS-разрешение, которое позволяет иметь доступ к
сайту только Web-браузеру, запущенному на самом сервере. Можно изменить
это разрешение так, чтобы только определенные пользователи или
компьютеры с указанными IP-адресами имели доступ к Web Administrator.
Утилита Web Administrator является прекрасным инструментом для
управления сетями, использующими несколько операционных систем, так как
обеспечивает административный доступ к серверу NT с любого компьютера,
поддерживающего браузер. Несмотря на то, что многие из служебных средств
Windows NT могут выполнять свои функции с любой из NT-систем в сети,
Web Administrator позволяет персоналу, поддерживающему функционирование
сети, работать из другой операционной системы, такой как Windows 95/98,
Macintosh или UNIX, чтобы иметь доступ к функциям, присущим NT.
Accounts
Devices
Event Logs
Ffje System
Maintenance
Printers
Services
Sessions
Statu?
Глава 28. Средства выявления неисправностей и управления сетью
959
ШШ
£te £cft \#ew Favorites Tools Help
ЩШЩШЩ
Introduction
Devices
Event togs
File System
Maintenance
Printers
Services
Sessions
Status
Select a user account then click a butto-ll
password, add the user account to a grc
to add a new user account.
«flack to Account Manager
Result: Ready
Administrator
creigz
ethel
fred
Guest
install
IUSR.CZ1
IWAM_CZ1
jdoe
jmedison
d
Password]
Groups [
Delete |
Create New
j
Рис. 28.9. Окно User Account
Management утилиты
Web Administrator
NetMeeting
Microsoft NetMeeting — вообще, это программное средство для создания
конференций и коллективной работы, предназначенное для работы через
Интернет, но оно также может оказать большую услугу администратору
сети. NetMeeting является частью полной установки Internet Explorer 4 и 5, но
помимо этого программа также доступна отдельно в виде версий для
Windows 95/98 и NT/2000 (см. http://www.microsoft.com/windows/netmeeting).
В случае отсутствия высокоскоростных соединений производительность
NetMeeting при работе через Интернет обычно разочаровывает. Однако в
локальной сети программа работает намного лучше.
Несмотря на то, что пользователи Интернета в основном имеют дело с
возможностями NetMeeting, направленными на создание аудио- и
видеоконференций, администраторы сети могут использовать возможности совместной
работы в качестве хорошего решения для обеспечения технической
поддержки без перемещения к месту расположения пользователя. Помимо
аудио- и видеоконференций NetMeeting включает возможность ведения
беседы ("чат") в текстовом режиме и доску (электронная доска белого цвета, на
которой можно писать цветными маркерами с одновременным
представлением информации на экране компьютера1), а также коллективную работу в
отдельном приложении.
Например, если пользователь имеет проблему с определенным приложением,
он может послать запрос в "справочный стол" службы поддержки и устано-
Очень похожа на графический редактор Paint. — Ред.
960
Часть VIII. Сетевое администрирование
вить соединение с администратором при помощи NetMeeting. Когда
пользователь делает в рамках NetMeeting приложение общим, администратор может
взять контроль над ним, чтобы продемонстрировать выполнение
определенной процедуры. В любой момент времени только один пользователь может
иметь контроль над приложением, но пользователь, запросивший помощь,
может видеть нажатие клавиш и щелчки мыши, производимые
администратором, и таким образом имеет возможность изучать приложение интерактивно.
Точно так же администратор способен увидеть, каким образом пользователь
пытается выполнить задачу и что он делает неправильно.
Другая возможность NetMeeting называется "общий доступ к рабочему
столу", она позволяет удаленному пользователю получить полный контроль
над компьютером. Администраторы могут прибегнуть к этой возможности
для удаленного конфигурирования системы, установки программного
обеспечения и даже для запуска приложений, и все это без какого-либо прямого
взаимодействия с удаленного компьютера.
Утилиты TCP/IP
TCP/IP стал наиболее распространенным стеком протоколов в сетевой
индустрии, и многие задачи администрирования сети и выявления
неисправностей включают в себя работу с различными элементами этих протоколов.
Так как практически все компьютерные платформы поддерживают TCP/IP,
его основные служебные средства были перенесены на множество
различных операционных систем, а некоторые из них адаптированы к
специальным нуждам. В следующих разделах рассматриваются некоторые из этих
средств, но в большей степени с точки зрения полезности для
администратора сети, нежели чем с позиции составляющих элементов и специфики
реализации.
Ping
Утилита Ping несомненно является наиболее распространенным средством
диагностики TCP/IP и включена практически в каждую реализацию
протоколов TCP/IP. В большинстве случаев это — утилита командной строки,
хотя существуют несколько графических версий, а также версии на базе
меню. Все они выполняют одни и те же задачи. Основная функция Ping
заключается в отправке сообщения другой TCP/IP-системе в сети, чтобы
определить, правильно ли работает стек протоколов вплоть до Сетевого
уровня. Так как стек протоколов TCP/IP функционирует одинаково во всех
системах, то можно использовать программу для проверки соединения
между двумя любыми компьютерами вне зависимости от процессорной
платформы или операционной системы.
Все Windows-системы устанавливают программу Ping, предназначенную для
работы из командной строки, как часть своего стека протоколов TCP/IP.
Глава 28. Средства выявления неисправностей и управления сетью
961
Она называется Ping.exe и размещается в системном каталоге (таком как
C:\Windows или C:\Winnt). Похожим образом все командные процессоры в
различных вариантах UNIX поддерживают команду ping. Novell NetWare
включает утилиту Ping.nlm с интерфейсом на основе меню, которая
запускается на сервере, а также реализацию для командной строки сервера с
именем Tping.nlm.
Ping работает, передавая последовательность сообщений Echo Request
(Запрос отклика) по указанному IP-адресу с помощью протокола ICMP
(Internet Control Message Protocol, Протокол контроля сообщений в Интернете).
Когда система, использующая этот IP-адрес, принимает сообщение, она
создает сообщение Echo Reply в ответ на каждый запрос Echo Request и
передает его обратно отправителю. ICMP является TCP/IP-протоколом с
несколькими десятками типов сообщений, которые выполняют различные
функции диагностики и передачи отчетов об ошибках. Сообщения ICMP
переносятся непосредственно внутри IP-дейтаграмм. Протокол
Транспортного уровня не задействуется, поэтому успешное завершение теста Ping
говорит о том, что стек протоколов ниже Сетевого уровня функционирует
правильно. Если отправляющая сообщения Echo Request система не
получает на них откликов, то что-то не так с отправляющей или принимающей
системой, либо сетевым соединением между ними.
^ Примечание ^д
Для получения более подробной информации о протоколе ICMP и его
разнообразных функциях обращайтесь к главе 11.
В случае, если программа Ping реализована в виде утилиты командной
строки, для выполнения теста Ping следует использовать следующий синтаксис:
PING назначение
где назначение является переменной, которую следует заменить именем или
IP-адресом другой системы в сети. Система назначения может быть
идентифицирована ее IP-адресом или именем в случае, если присутствует
соответствующий механизм, позволяющий разрешать имена в IP-адреса. Это
означает, что можно использовать хост-имя для указания системы
назначения, если для того, чтобы разрешать, имена существует DNS-сервер или
файл HOSTS. В сетях Windows также можно использовать NetBIOS-имена,
полагаясь на любой стандартный механизм для их разрешения, такой как
серверы WINS, широковещательные передачи или файл LMHOSTS.
Окно вывода результатов выполнения команды ping выглядит следующим
образом:
Pinging cz3 [192.168.2.3] with 32 bytes of data:
Reply from 192.168.2.3: bytes=32 time=lms TTL=128
Reply from 192.168.2.3: bytes=32 time<10ms TTL=128
962
Часть VIII. Сетевое администрирование
Reply from 192.168.2.3: bytes=32 time==lms TTL=128
Reply from 192.168.2.3: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.2.3:
Packets: Sent = 4, Received = 4, Lost =0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
[^ Примечание ^
Так как большинство реализаций Ping отображают IP-адрес, разрешенный из
имени системы, указанного в командной строке, программа Ping также
является быстрым и простым средством для того, чтобы определить IP-адрес нужной
системы.
Программа отображает строку результатов для каждого отправленного
сообщения Echo Request, по умолчанию указывая IP-адрес получателя,
количество байтов, переданных в каждом сообщении, количество времени,
прошедшего между передачей сообщения и получением отклика, а также TTL
(время жизни) целевой системы. TTL представляет собой количество
маршрутизаторов, которое может преодолеть пакет прежде чем будет отброшен.
Ping имеет другое диагностическое применение помимо определения,
существует ли система и работает ли она. Если тест Ping с использованием IP-
адреса проходит успешно, a Ping с указанием имени системы заканчивается
неудачей, то проблема заключается в сбое, возникающем в процессе
разрешения имени. При попытке взаимодействия с Интернет-сайтом это
свидетельствует о том, что проблема либо с конфигурацией DNS-сервера,
заданной на рабочей станции, либо с самим DNS-сервером. Если тест Ping для
систем в локальной сети проходит успешно, а для систем в Интернете
заканчивается неудачей, то проблема либо с установкой шлюза по умолчанию
в конфигурации рабочей станции, либо в соединении с Интернетом.
^ Примечание ^Д
Отправка команды Ping по адресу обратной связи системы (127.0.0.1) выясняет
работоспособность стека протоколов TCP/IP, но не является адекватным
способом проверить работу сетевого адаптера, так как трафик, отправленный по
этому адресу, распространяется вниз по стеку протоколов только до
Транспортного уровня сети и возвращается обратно, даже не покидая компьютер
через сетевой адаптер.
В большинстве реализаций Ping позволяет задавать в командной строке
дополнительные параметры, чтобы изменить размер и количество сообщений
Echo Request, передаваемых одной командой ping, а также рабочие характе-
Глава 28. Средства выявления неисправностей и управления сетью 963
ристики. В программе Ping.exe для Windows, например, существуют
следующие параметры:
PING [-tj [-a] [-n число] [-1 размер] [-f] [-i TTL] [-v TOS]
[-г число] [-s число] [ [-j список__узлов] I [-k список_узлов] ]
[-w таймаут] назначение
О -t. Определяет отправку пакетов на указанный узел до команды
прерывания от пользователя (комбинация клавиш <Ctrl>+<C>).
□ -а. Осуществялет разрешение IP-адреса в имя узла.
□ -п число. Указывает количество сообщений Echo Request, которые
следует отправить.
□ -1 размер. Задает размер отправляемых сообщений Echo Request.
□ -f. Устанавливает флаг, запрещающий фрагментацию пакетов Echo
Request.
□ -i ttl. Задает значение TTL для пакетов Echo Request.
□ -v tos. Задает тип службы (TOS, Type of Service) для пакетов Echo
Request.
О -г число. Производит запись IP-адресов маршрутизаторов для
указанного числа транзитов.
□ -s число. Производит запись временных отметок прохождения
маршрутизаторов для указанного числа транзитов.
□ -j список_узлов. Задает неполный список маршрутизаторов (свободный
выбор маршрута), через которые должны пройти пакеты.
□ -к список__узлов. Задает полный список маршрутизаторов (жесткий
выбор маршрута), через которые должны пройти пакеты.
□ -w таймаут. Интервал ожидания каждого ответа в миллисекундах.
Существует множество различных применений для этих параметров,
которые могут помочь управлять сетью и выявлять проблемы. Например, создав
пакеты Echo Request большего, чем обычно размера, и отправив большее их
количество (или отправляя их непрерывно), можно эмулировать в сети
пользовательский трафик, чтобы проверить ее возможность оставаться
стабильной при большой загрузке. Также можно сравнить производительность
различных маршрутов через сеть (или через Интернет), задав IP-адреса
маршрутизаторов, через которые должны пройти пакеты Echo Request,
чтобы достигнуть своего места назначения. Параметр - j обеспечивает свободный
выбор маршрута, предписывающий пакетам использовать маршрутизаторы,
IP-адреса которых заданы, но также могут применяться и другие
маршрутизаторы. Параметр -к обеспечивает жесткий выбор маршрута, при котором
необходимо указать адрес каждого маршрутизатора, который пакет должен
использовать, чтобы достигнуть места назначения.
964
Часть VIII. Сетевое администрирование
Traceroute
Traceroute — это другая утилита, которая обычно реализована как программа
командной строки и включена в большинство стеков TCP/IP, хотя иногда
она носит другое имя. В системах UNIX команда называется traceroute, a
реализация для Windows с такими же функциональными возможностями
называется Tracert.exe. Назначением этого программного средства являются
отображения маршрута, который преодолевают пакеты IP, чтобы достигнуть
определенной системы назначения. Когда программа запускается с
указанием имени или IP-адреса системы назначения в качестве параметра
командной строки, результат, выведенный на экран, будет выглядеть
приблизительно так:
Tracing route to zacker.com [192.41.15.74] over a maximum of 30 hops:
qrvl-67.epix.net [199.224.67.3]
qrvl.epix.net [199.224.67.1]
svcr0-7b.epix.net [199.224.103.125]
routerOS.epix.net [216.37.155.162]
cpbg01-7.epix.net [199.224.88.62]
Seriall.ph.ALTER.NET [157.130.7.213]
161.ATM2.ALTER.NET [146.188.162.118]
294.ATM7.ALTER.NET [146.188.160.126]
192.ATM10.ALTER.NET [146.188.160.93]
uu.iadl.verio.net [137.39.23.22]
iad3.dcaO.verio.net [129.250.2.62]
dca0.pao5.verio.net [129.250.2.245]
p4-01.us.bb.verio.net [129.250.2.74]
раоб.pvuO.verio.net [129.250.3.26]
puO.vwh.verio.net [129.250.16.14]
zacker.com [192.41.15.74]
Trace complete.
Каждая запись в трассировке представляет маршрутизатор, который
обрабатывал пакеты, созданные программой traceroute, на пути к их месту
назначения. В данном случае пакетам понадобилось преодолеть 16 транзитов,
чтобы достичь сервера zacker.com. Трехзначные числа в каждой записи
определяют время путешествия пакета до данного маршрутизатора и обратно в
миллисекундах, за ними следует доменное имя маршрутизатора и его IP-
адрес. В трассировке, подобной этой, до места назначения, расположенного
в Интернете, значения времени перехода пакета туда и обратно
сравнительно большие и могут предоставить информацию о магистральных сетях,
которые использует поставщик услуг Интернета (в данном случае alter.net), и
географии маршрута, по которому следовал трафик. Например, когда запус-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
254
151
163
136
161
165
182
178
168
260
163
235
224
406
267
257
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
194
135
150
160
145
149
242
149
147
150
175
243
249
272
250
270
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
162 ms
154 ms
173 ms
164 ms
170 ms
164 ms
169 ms
1839 ms
155 ms
176 ms
166 ms
244 ms
255 ms
265 ms
271 ms
278 ms
Глава 28. Средства выявления неисправностей и управления сетью
965
кается трассировка до системы назначения, расположенной на другом
континенте, иногда можно определить, когда маршрут проходил через океан по
неожиданному увеличению времени распространения туда и обратно. В
частной сети команду trace route можно использовать для определения пути
через маршрутизаторы, которым обычно следует локальный трафик, что
позволяет задуматься о том, как можно лучше распределить по сети трафик.
Большинство реализаций traceroute работают, передавая такой же тип
ICMP-сообщений Echo Request, как используется утилитой Ping, хотя
некоторые по умолчанию используют пакеты UDP. Единственное различие
заключается в самих сообщениях, где программа traceroute изменяет
значение поля TTL для каждой последовательности из трех пакетов. Поле TTL
является защитным механизмом, который предотвращает бесконечную
циркуляцию по сети пакетов IP. В каждом обрабатываемом пакете
маршрутизатор уменьшает значение поля TTL на единицу. Если значение поля TTL
пакета достигает 0, маршрутизатор отбрасывает такой пакет и возвращает
системе, изначально его отправившей, ICMP-сообщение об ошибке "Time to
Live Exceeded in Transit" (Время жизни пакета истекло в процессе передачи).
В первой последовательности пакетов traceroute пакеты имеют значение
поля TTL, равное 1. Таким образом, первый получивший пакеты
маршрутизатор отбрасывает их и возвращает обратно источнику сообщение об
ошибке. Вычислив интервал времени между передачей сообщения и появлением
связанной с ним ошибки, traceroute получает время распространения
пакета туда и обратно, а затем использует IP-адрес источника сообщения об
ошибке для идентификации маршрутизатора. Во второй последовательности
сообщений значение TTL равняется 2, поэтому пакет достигает второго
маршрутизатора прежде, чем будет отброшен. Третья последовательность пакетов
имеет значение TTL, равное 3, и так далее, пока сообщения не достигнут
системы назначения.
Важно понимать, что, несмотря на возможную пользу этого средства, в
информацию, которую оно предоставляет, заложена определенная неточность.
Просто тот факт, что пакет, переданный прямо сейчас, достиг места
назначения, пройдя по определенному маршруту, не означает, что пакет,
переданный минутой позже, попадет в то же место назначения, по такому же
маршруту. Сети (и в особенности Интернет) изменчивы, и маршрутизаторы
разработаны для того, чтобы автоматически учитывать возникающие
изменения. Маршрут, которым следуют к своему месту назначения пакеты
traceroute, может меняться даже в середине процесса трассировки,
поэтому вполне возможно, что последовательность маршрутизаторов,
отображаемая программой, будет составлена из двух или более отличающихся путей к
месту назначения, из-за изменений, произошедших в сети. В частной сети
такой случай менее вероятен, но все же возможен.
966
Часть VIII. Сетевое администрирование
Route
Таблица маршрутизации является жизненно важной частью сетевого стека
любой системы TCP/IP, даже той, что не выполняет функции
маршрутизатора. Система использует таблицу маршрутизации, чтобы определить, каким
образом следует передавать каждый пакет. Программа Route.exe в Windows и
команда route, включенная в большинство версий UNIX, позволяет
просматривать таблицу маршрутизации и добавлять или удалять записи в ней.
^7 Примечание ^Д
Для получения более подробной информации о таблице маршрутизации и
принципах IP-маршрутизации обращайтесь к главе 6.
Netstat
Netstat является утилитой Командной строки, которая отображает статистику
сетевого трафика для различных протоколов TCP/IP и, в зависимости от
платформы, может также выводить на экран другую информацию.
Большинство вариантов UNIX поддерживают команду netstat, а операционные
системы Windows включают программу Netstat.exe, которая по умолчанию
устанавливается вместе со стеком TCP/IP. Параметры командной строки
для netstat в разных реализациях могут варьироваться, но одним из
основных является параметр -s, который отображает статистику для каждого из
основных протоколов TCP/IP, как показано ниже.
IP Statistics
Packets Received = 130898
Received Header Errors = 0
Received Address Errors =19
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 130898
Output Request = 152294
Routing Discards = 0
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
Глава 28. Средства выявления неисправностей и управления сетью
967
ICMP Statistics
Messages
Errors
Destination Unreachable
Time Exceeded
Parameter Problems
Source Quenchs
Redirects
Echos
Echo Replies
Timestamps
Timestamps Replies
Address Masks
Address Mask Replies
TCP Statistics
Active Opens
Passive Opens
Failed Connection Attempts
Reset Connections
Current Connections
Segments Received
Segments Sent
Segments Retransmitted
UDP Statistics
Datagrams Received
No Ports
Receive Errors
Datagrams Sent
Received
499
44
0
414
0
0
0
1
27
0
0
0
0
= 1893
= 12
= 37
= 657
= 0
== 117508
= 142099
= 378
= 12399
« 943
= 0
= 9129
Sent
683
0
154
0
0
0
0
522
1
0
0
0
0
He считая общего числа пакетов, принятых и переданных каждым
протоколом, netstat предоставляет различную информацию о сбойных ситуациях и
других процессах, которая может помочь выявить проблемы сетевого
взаимодействия на различных уровнях модели OSI. Версия netstat для Windows
также способна отображать статистику Ethernet (при использовании
параметра -е), которая может помочь изолировать проблемы с сетевым
оборудованием. Информация, отображаемая netstat, приведена ниже.
Interface Statistics
Received
Sent
968
Часть VIII. Сетевое администрирование
20434045
92824
743
0
О
При запуске с параметром -е программа Netstat.exe отображает
информацию о соединениях TCP, активных в данный момент на компьютере, и
сервисах UDP, которые ожидают входных данных, как показано ниже.
Active Connections
Bytes
Unicast packets
Non-unicast packets
Discards
Errors
Unknown protocols
44483612
94653
4543
0
0
15452
Proto
TCP
TCP
TCP
TCP
TCP
TCP
TCP
TCP
UDP
UDP
UDP
Local Address
cz5:1044
cz5:1025
cz5:1025
cz5:137
cz5:138
cz5:nbsession
cz5:nbsession
cz5:2521
cz5:1044
cz5:nbname
cz5:nbdatagram
Foreign Adress
CZ5:0
CZ5:0
CZl:nbsession
CZ5:0
CZ5:0
CZ5:0
CZ3:1531
netsurge.com:pop
3
State
LISTENING
LISTENING
ESTABLISHED
LISTENING
LISTENING
LISTENING
ESTABLISHED
TIME WAIT
K^ Примечание ^J
Также возможно вывести статистику сетевого трафика для протоколов верхних
уровней, таких как Server Message Blocks (SMB), используя команду
NET STATISTICS.
Nslookup
Nslookup является утилитой, которая позволяет отправлять запросы
непосредственно определенному DNS-серверу, чтобы разрешить имена в IP-
адреса или запросить иную информацию. В отличие от других методов
разрешения имен, таких как использование Ping, Nslookup позволяет указать,
какой из серверов получит команды, что дает возможность определить,
правильно ли работает DNS-сервер и содержит ли он верные данные.
Первоначально разработанная для систем UNIX, программа Nslookup.exe также
включена в ТСР-клиентов для операционных систем Windows NT и 2000, но
не дня Windows 95 и 98. Тем не менее, доступны реализации Nslookup от сто-
Глава 28. Средства выявления неисправностей и управления сетью
969
ронних производителей, например программа с графическим интерфейсом,
включенная в Luc Neijens' CyberKit (доступная с www.cyberkit.net).
Nslookup.exe может быть запущена в интерактивном и неинтерактивном
режиме. Чтобы передать отдельный запрос, можно использовать
неинтерактивный режим, применяя в командной строке следующий синтаксис:
Nslookup имя_узла имя_сервера
Вместо переменной имя_узла следует указать доменное имя или IP-адрес,
которые нужно разрешить, а переменную имя_сервера заменить на имя или
IP-адрес DNS-сервера, которому этот запрос надо послать. Если опустить
параметр имя_сервера, программа использует DNS-сервер по умолчанию.
Результат работы программы в неинтерактивном режиме в Windows 2000
выглядит следующим образом:
Server: nsl.secure.net
Address: 192.41.1.10
Name: zacker.com
Address: 192.41.15.74
Aliases: www.zacker.com
Чтобы запустить Nslookup в интерактивном режиме, следует ввести имя
программы в командной строке без указания параметров (для
использования DNS-сервера по умолчанию) или с дефисом на месте переменной
имя_узла и следующим за ним именем DNS-сервера, как показано ниже:
Nslookup — имя_сервера
Программа формирует приглашение для ввода в виде угловой скобки (>),
после которой можно набирать имена или адреса, а также большое
количество команд, изменяющих параметры, используемые Nslookup для запроса
сервера имен. Список команд можно вывести на экран, набрав в строке
приглашения слово help. Для выхода из программы служит комбинация
клавиш <Ctrl>+<C>.
Ipconfig
Программа Ipconfig является простой утилитой для отображения
конфигурационных параметров TCP/IP системы. Это особенно полезно, когда для
автоматической конфигурации клиентов TCP/IP в сети используются
серверы DHCP, так как для пользователей не существует другого простого
способа увидеть, какие установки были назначены их рабочим станциям. Все
реализации UNIX включают команду ipconfig (с произвольной
конфигурацией интерфейса), и системы Windows 98, NT и 2000 имеют программу
командной строки Ipconfig.exe. В Windows 95/98 также включена утилита
970
Часть VIII. Сетевое администрирование
Winipcfg.exe (рис. 28.10) с графическим интерфейсом, которая выполняет те
же функции.
г Host Information~
Host Name |
DNS Servers j
Node Type |
NetBIOS Scope Id f~
IP Routing Enabled f~"
NetBIOS Resolution Uses DNS f
CZ2
199.224.86.15
J
Hybrid
WINS Proxy Enabled Г"
Ethernet Adapter Information-
Adapter Address j
IP Address [
Subnet Mask [
Default Gateway |
DHCP Server [
Primary WINS Server Г
Secondary WINS Server Г
Lease Obtained j
Lease Expires [
j ELNK3 Ethernet Adapter
' 1о15Т7Ж77-СА~~""
192168221
____
i"sc!i6azT6o
192168 —
-——^-
"3
.02 08 001:22:59 AM
0211001:22:59 AM.
гик"
Review I Release All I Renew All
Рис. 28.10. Диалоговое окно
IP Configuration программы
Winipcfg.exe
Запуск Ipconfig.exe с параметром /ail в системе Windows 2000 выводит
следующую информацию:
Windows 2000 IP Configuration
Host Name ..........: cz2
Primary DNS Suffix : zacker.com
Node Type .....: Hybrid
IP Routing Enabled : No
WINS Proxy Enabled. .....: No
DNS Suffix Search List. . . . : zacker.com
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix:
Description . : 3Com Etherlink III (3C509/3c509b)
Physical Address. ......: 00-60-97-B0-77-CA
DHCP Enabled . . : Yes
Autoconfiguration Enabled . . : Yes
IP Address : 192.168.2.21
Subnet Mask : 255.255.255.0
Глава 28. Средства выявления неисправностей и управления сетью
971
Default Gateway
DHCP Server . .
DNS Servers . .
192.168.2.100
192.168.2.10
199.224.86.15
199.224.86.16
Primary Wins Server .....: 192.168.2.10
Lease Obtained : Sunday, Feb 06, 2000 10:08:23 PM
Lease Expires : Tuesday, Feb 09, 2000 10:08:23 PM
Ipconfig также можно использовать, чтобы аннулировать или возобновлять
аренду IP-адреса у сервера DHCP при помощи параметров /release и
/renew соответственно.
Анализаторы сети
Анализатор сети, иногда называемый анализатором протоколов,
представляет собой устройство, захватывающее передаваемый по сети трафик и
анализирующее его свойства несколькими различными способами. Основной
функцией анализатора является декодирование и отображение содержимого
захваченных в сети пакетов. Для пакетов программа выводит информацию,
найденную в любом из полей каждого протокольного заголовка, а также
данные исходного приложения, переносимые в качестве полезных данных
пакета (рис. 28.11). Анализаторы, к тому же, часто предоставляют статистику
о передаваемом по сети трафике, такую как число пакетов, используемых
определенным протоколом, и количество трафика, сгенерированного
каждой системой в сети. Анализатор сети также является прекрасным средством
для обучения. Нет лучшего способа познакомиться с сетевыми протоколами
и их функциями, чем увидеть их в действии.
ШШШШЕШШШШ
£? ffe Edit display loots Qptiom Window Help
тм иуйш ш Boisioj l±jl±j та шэд н>
-Igixi
<Q»FRAHB: Base frame properties
ФВТН1РШТ: ITYPB * 0x0800 : Protocol « IP: D0D Internet Protocol
*>IP: ID » ОхбРОб; Proto « TCP; Len: 40
00000000 00 80 19 3F 05 ЗА 00 10 5A 09 Fl ED 08 00 45 00
00000010 00 28 6F 06 40 00 80 06 10 PF CO A8 02 03 P0 B4
00000030 ЯИИШИИЯИМоо 00 ПО no QQ ПП
TCP protocol summary
Ftt: 1780/2575
Offset 34 (x22) L:20(x14)
Рис. 28.11. Анализаторы сети отображают содержимое пакета
в необработанной, а также в декодированной форме
972
Часть VIII. Сетевое администрирование
Существуют очень разнообразные анализаторы сети, начиная с отдельных
аппаратных устройств, стоящих тысячи долларов, и заканчивая программными
продуктами, сравнительно недорогими или бесплатными. Например,
Windows NT Server 4.0 и Windows 2000 Server включают приложение Network
Monitor (см. рис. 28.11), которое позволяет анализировать сетевой трафик.
По сути, анализатор сети — это приложение, запущенное на компьютере с
установленной платой сетевого адаптера. Это объясняет, почему эти
устройства могут либо включать аппаратное обеспечение, либо принимать
исключительно форму программы. Разъезжающий консультант по сетям может
иметь портативный компьютер с программным обеспечением комплексного
анализатора сети и различными сетевыми адаптерами, поддерживающими
различные сети, в то время как администратор, обслуживающий частную
сеть, лучше будет пользоваться менее дорогим программным анализатором
сети, поддерживающим только данный тип сети.
Анализатор сети обычно работает, переключая плату сетевого адаптера
компьютера, на котором он запущен, в беспорядочный режим (promiscuous mode)
работы. Обычно сетевой адаптер исследует адрес назначения в заголовке
протокола Канального уровня каждого пакета, достигающего компьютера, и
если пакет адресован не этому компьютеру, сетевой адаптер игнорирует его.
Это предотвращает обработку центральным процессором системы тысяч
посторонних пакетов. Однако когда сетевой адаптер переключен в
беспорядочный режим работы, он принимает все пакеты, приходящие из сети, вне
зависимости от их адреса назначения, и передает их программе анализатора
сети для обработки. Это позволяет системе анализировать не только трафик,
созданный системой или предназначенный для системы с запущенным
программным обеспечение анализатора, но также трафик, которым
обмениваются другие системы в сети.
Когда приложение захватывает из сети трафик, оно сохраняет все пакеты в
буфере, к которому в дальнейшем обращается во время анализа. В
зависимости от размера сети и интенсивности передаваемого трафика, количество
захваченных данных может быть неимоверно большим, поэтому обычно
следует задавать размер буфера, чтобы контролировать количество
захваченных данных. Также можно применять фильтры, чтобы ограничить типы
данных, захватываемых анализатором.
Фильтрация данных
Из-за того, что многие сети передают большое количество данных,
регулирование объема данных, захватываемых и обрабатываемых анализатором
сети, является важным элементом. Это управление может быть реализовано
применением фильтров либо в процессе захвата, либо после него. Когда
сетевые данные захватываются без обработки, результат может быть
невразумительным, так как все пакеты, созданные различными приложениями на
Глава 28. Средства выявления неисправностей и управления сетью
973
множестве систем сети, перемешаны вместе в хронологическом порядке.
Применение фильтров вынудит программу отображать только
интересующую информацию и поможет сориентироваться в огромном количестве
доступных данных.
Большинство анализаторов сети обеспечивают два типа фильтров.
□ Фильтры захвата. Накладывают ограничение на пакеты, которые
анализатор считывает в свой буфер.
□ Фильтры отображения. Ограничивают отображение захваченных пакетов
на экране.
Обычно оба типа фильтров работают одинаково, единственное различие
между ними заключается в том, когда они применяются. Можно выбрать,
следует ли фильтровать пакеты при считывании их в буфер анализатора,
либо захватывать из сети все данные и использовать фильтры для
ограничения вывода этих данных на экран (или использовать оба способа).
I. mJ 1
j Line... I
l~ Delete
j Цпе I
| OK } Cancel | jjelp | Load.., | Save... |
Рис. 28.12. Диалоговое окно Capture Filter программы Network Monitor
Фильтрацию данных в анализаторе сети можно осуществлять несколькими
различными способами, в зависимости от того, какую информацию о сети
необходимо получить. Например, если нужно исследовать
производительность определенного компьютера, можно создать фильтр, который будет
захватывать только пакеты, созданные этой машиной, предназначенные для
нее, или те и другие. Также можно создать фильтры, основанные на
протоколе, используемом в пакетах, что позволит, например, захватывать только
трафик DNS, или на совпадении с образцом, чтобы захватывать только
пакеты, содержащие определенную ASCII- или шестнадцатеричную строку.
Комбинируя эти возможности при помощи логических операторов, таких
974
Часть VIII. Сетевое администрирование
как and или or, можно создать сильно специализированные фильтры,
которые будут строго отображать лишь необходимую информацию. На рис. 28.12
показано диалоговое окно Capture Filter (Фильтр захвата) приложения
Microsoft Network Monitor. В данном примере приложение сконфигурировано
для захвата всех пакетов IP, передаваемых машине UOLJLAPTOP, или от
нее. Другие анализаторы сети могут использовать отличный интерфейс и
предлагать дополнительные возможности, такие как фильтрация пакетов на
основе их размера или определенных условий ошибки, но основные
функциональные возможности будут теми же.
Агенты
Аппаратные анализаторы сети являются передвижными и разработаны для
подключения к сети в любой ее точке. Программные реализации не
перемещаются и часто включают механизм (иногда называемый агентом),
который позволяет захватывать сетевой трафик при помощи сетевого адаптера
другого компьютера. Используя агентов, можно установить программный
анализатор на одной машине и при помощи него осуществлять поддержку
всей сети. Агент обычно представляет собой драйвер или сервис, который
запущен на рабочей станции, расположенной где-то в сети. Например, все
версии Windows 95/98, NT и 2000 включают Network Monitor Agent, который
обеспечивает для приложения Network Monitor, запущенного на сервере
Windows NT или 2000, возможности удаленного захвата.
ЕГ Примечание jj
Версия Network Monitor, которая включена в Windows NT 4.0 Server и
Windows 2000 Server, ограничена возможностью захвата только того трафика, что
предназначен системе, на которой запущено приложение или исходит от нее.
Другими словами сетевой адаптер не переключается в беспорядочный режим.
Чтобы захватить весь сетевой трафик, необходимо использовать
полнофункциональную версию Network Monitor, которая включена в программный пакет
Microsoft System Management Server (SMS).
Когда анализатор сети запускается на системе с одним сетевым адаптером,
приложение по умолчанию захватывает данные, приходящие на этот
интерфейс. Если в системе установлено более одного интерфейса, либо в форме
второй платы сетевого адаптера, либо модемного соединения, можно
выбрать интерфейс, данные которого будут захватываться. Когда анализатор
имеет возможность применения агентов, в том же диалоговом окне можно
указать имя или адрес другого компьютера, на котором запущен агент.
Затем приложение соединяется с этим компьютером, использует его сетевой
адаптер для захвата сетевого трафика и передает его в буферы системы, на
которой запущен анализатор. Однако когда используется агент,
расположенный в другом сегменте сети, важно учесть, что сама передача от агента к
анализатору порождает значительный трафик.
Глава 28. Средства выявления неисправностей и управления сетью 975
Анализ трафика
Некоторые анализаторы сети могут отображать статистику о трафике в сети
по мере его захвата, такую как количество пакетов в секунду, разбитых по
рабочим станциям или протоколам. В зависимости от продукта, также
возможно представление этой информации в графической форме. Эту
информацию можно использовать для определения количества трафика,
создаваемого каждой системой сети или каждым протоколом. Программа Sniffer
Basic от Network Associates (прежде носившая название NetXRay) может
отображать сетку, которая наглядно иллюстрирует, какие компьютеры в сети
взаимодействуют друг с другом, как показано на рис. 28.13.
01005Е000002
Рис. 28.13. Окно Matrix приложения Sniffer Basic
Используя это средство, можно определить, какое количество пропускной
способности сети расходуется определенным приложением или
пользователем. Например, если отмечено, что рабочая станция Джона Доу генерирует
несоразмерное количество трафика HTTP, то можно сделать вывод, что он
тратит слишком много рабочего времени, просматривая Web-страницы,
вместо того, чтобы заниматься делами. При помощи фильтров захвата
можно сконфигурировать анализатор сети для отправки администратору
аварийных сигналов при возникновении в сети определенных условий.
Некоторые продукты могут генерировать аварийные сигналы, когда трафик
определенного типа достигает заданного уровня, например, когда в сети
Ethernet возникает слишком большое количество коллизий.
976
Часть VIII. Сетевое администрирование
Помимо возможности захвата пакетов из сети, некоторые анализаторы
также могут генерировать их сами. Можно использовать анализатор для
имитации трафика определенной интенсивности, чтобы проверить рабочее
состояние сети или оборудование, чувствительное к нагрузке.
Анализ протоколов
После того как образец трафика помещен в буферы анализатора, можно
исследовать пакеты более детально. В большинстве случаев пакеты, захваченные
в течение периода взятия образцов трафика, отображаются хронологически в
виде таблицы, где перечислены наиболее важные характеристики каждого
пакета, такие как адреса системы назначения и источника и основной протокол,
использованный для создания пакета. При выборе пакета из списка
отображаются дополнительные панели с содержимым протокольных заголовков и
данных пакета, обычно в необработанной и декодированной форме.
Первое применение для инструмента подобного типа заключается в том, что
можно увидеть, какие типы трафика присутствуют в сети. Например, если
сеть использует каналы связи глобальной сети, которые являются более
медленными и дорогими по сравнению с соединениями локальной сети,
можно использовать анализатор, чтобы захватить трафик, передаваемый по
этим каналам, и убедиться в том, что их пропускная способность не
расходуется попусту.
Одним из признаков, по которым можно отличить профессиональные
анализаторы сети от более дешевых, является количество поддерживаемых
программой протоколов. Чтобы правильно декодировать пакет, анализатор
должен поддерживать все протоколы, использованные для создания этого
пакета на всех уровнях эталонной модели OSI. Например, типичный
анализатор поддерживает Ethernet и возможно Token Ring на Канальном уровне,
но если сеть использует FDDI или ATM, необходимо приобрести более
совершенный и дорогой продукт. То же самое справедливо и для верхних
уровней. Практически все анализаторы поддерживают протоколы TCP/IP, а
многие также IPX и NetBEUI. Но прежде, чем приобрести анализатор,
необходимо убедиться, что он поддерживает все протоколы, используемые в
сети. Также следует принимать во внимание необходимость модернизации
для поддержки будущих модификаций протоколов, таких как IPv6.
Декодируя пакет, анализатор способен интерпретировать функцию каждого
бита и отобразить заголовки различных протоколов в удобном для
пользователя, иерархическом формате. На рис. 28.14, например, можно видеть, что
выбранный пакет содержит данные HTTP, созданные Web-сервером и
передаваемые Web-браузеру, расположенному в сети. Анализатор декодировал
протокольные заголовки, и экран свидетельствует, что данные HTTP
переносятся в сегменте TCP, который, в свою очередь, размещен в дейтаграмме
Глава 28. Средства выявления неисправностей и управления сетью
977
IP, передаваемой в кадре Ethernet. Можно развернуть информацию для
каждого протокола, чтобы исследовать содержимое полей его заголовка.
Network Monitor - [Capture:2 (Detail)]
I File £dit Display lools Options V^indow Help
ШШ
\сЩШ\ [5.15151 |#i |е|в|вШ
<v»FRAHE: Base frame properties
■^ETHERNET: ЕТУРЕ » 0x0800 : Protocol = IP: DOD Internet Protocol
Ф1Р: ID я 0x2451; Proto ■ TCP; Len: 1496
TCP: Source Port ■ Hypertext Transfer Protocol
TCP: Destination Port = 0x0478
TCP: Sequence Number « 316974004 (0xl2E4A3B4)
TCP: Acknowledgement Number * SSS9117 (0x54D34D)
TCP: Data Offset ■ 20 (0x14)
TCP: Reserved = 0 (0x0000)
фТСР: Flags ■ 0x18 : .AP...
TCP: Window * 17064 (0x42A8)
TCP: Checksum = 0xA8C6
TCP: Urgent Pointer = 0 (0x0)
TCP: Data: Number of data bytes remaining = 14S6 (OxOSBO)
«HTTP: Response (to client using port 1144)
HTTP: Data: Number of data bytes remaining » 1456 (OxOSBO)
j±_ - I
00000000
00000010
00000020
00000030
00000040
poooooso
00000060
00000070
00000080
00000090
00000OA0
OOOOOOBO
000000C0
00 10 SA 09
OS D8 24 SI
02 03
Fl ED 00 80 19 3F OS ЗА 08 00 45 00
40 00 73 06 63 04 DO E4 E7 ЗА СО А8
52 3D
47 3D
47 3D
22 3E
57 49
47 4E
3D 22
OD OA
61 64
"" ГУ
22 30
22 30
22 30
OD OA
44 54
3D 22
23 66
3C 68
3E OD
22 20
22 20
22 20
3C 54
48 3D
74 6F
66 63
74 6D
OA 09
I41 42
43 45
43 45
57 49
52 3E
22 31
70 22
63 30
6C 3E
09 3C
4C 45 20
4C 4C SO
4C 4C 53
44 54 43
OD OA 20
33 30 22
20 42 47
30 22 3E
OD OA OD
6D 65 74
42 4F 52
41 44 44
50 41 43
3D 22 36
20 3C 54
20 56 41
43 4F 4C
OD OA 36
OA 09 3C
61 20 68
44 45
49 4E
49 4E
31 34
44 20
4C 49
4F 52
32 65
68 65
74 74
..Z.*£.£.?.:.-E.
.+?QB.s.c.-St:+e
ниияптзш
BLE BORDE
R="0" CELLPADDIN
G«"0" CELLSPACIN
G="0" WIDTH»"614
">..<TR>.. <TD
WIDTH*"130" VALI
CN*"top" BGCOLOR
="$ffcc00">.-62e
. .<html> . .<he
ad> <meta htt
^
|TCP protocol summary
fFtt: 1778/2575
Off: 34 (x22)
L:20(x14)
Рис. 28.14. Анализаторы сети декодируют все протокольные заголовки,
которые формируют каждый пакет
Анализатор сети является мощным инструментом, который может быть
легко использован в целях выявления проблем в сети и ее поддержки. Когда
программа декодирует пакет, она отображает все его содержимое, включая
информацию, которая может быть секретной. Протокол FTP, например,
передает пароли пользователя в текстовом виде, и они могут быть легко
прочитаны при захвате пакетов анализатором сети. Неавторизованный
пользователь, запустивший анализатор, может перехватить пароли
администраторов и получить доступ к защищенным серверам. Это одна из причин, по
которой версия Network Monitor, включенная в Windows NT и 2000,
ограничена возможностью захвата трафика локальной системы.
978
Часть VIII. Сетевое администрирование
Тестеры кабеля
Анализатор сети может помочь в диагностике многих типов сетевых
проблем, но он полагается на то, что физическая сеть функционирует
правильно. Когда проблема заключается в кабеле, формирующем сеть, требуются
различные виды устройств, имеющие название "тестер кабеля". Тестеры
кабеля обычно представляют собой удерживаемые в руках устройства, которые
присоединяются к сети, чтобы выполнить различные диагностические тесты
проводимости сетевого кабеля. Существует широкий выбор устройств,
значительно отличающихся по стоимости и функциональным возможностям.
Простые устройства доступны по цене в несколько сотен долларов, в то
время как модели верхней линейки могут стоить несколько тысяч долларов.
Некоторые комбинированные тестеры можно присоединять к различным
типам сетевого кабеля, таким как неэкранированная витая пара (UTP),
экранированная витая пара (STP) и коаксиальный кабель, в то время как
другие способны проверять только один тип кабеля. Для совершенно
различных технологий передачи сигналов, таких как оптоволоконный кабель,
необходимо отдельное устройство.
Тестеры кабеля рассчитываются на применение с определенными
стандартами кабеля, такими как категория 5, поэтому они могут определить,
соответствует ли производительность кабеля стандарту. Это называется
испытанием прозвонкой. Во время установки кабеля соответствующий специалист
тестирует каждую связь, чтобы убедиться в ее правильной работе, и
проверяет отсутствие проблем, которые могут быть вызваны качеством самого
кабеля или природы его установки. Например, хороший тестер кабеля
проверяет электрический шум, вызываемый близкорасположенными лампами
дневного света или другим электрическим оборудованием, перекрестные
помехи от сигналов в соседних жилах, затухание, вызванное чрезмерно
длинными сегментами кабеля или неподходящей категорией кабеля,
короткие замыкания и обрывы кабеля, представленные определенным уровнем
емкостного сопротивления.
Помимо проверки жизнеспособности разводки кабельной сети, тестеры
кабеля являются хорошим средством для выявления проблем с кабелем.
Например, тестер, функционирующий как рефлектометр, может определить
обрыв или короткое замыкание в кабеле, передавая высокочастотный сигнал
и измеряя количество времени, прошедшее до того момента, как
отраженный сигнал вернется обратно. Используя эту технику, можно определить, на
каком расстоянии от тестера в кабеле произошел обрыв или возникла другая
неисправность. Зная, что проблема расположена на расстоянии, например
20 м, можно избежать проверки каждого метра кабеля, идущего до этого
места. Некоторые тестеры также могут помочь определить маршрут, по
которому кабель проходит через стены или потолки. Для этого используется
звуковой генератор, посылающий по кабелю сильный сигнал, который
может уловить тестер, если будет расположен поблизости от кабеля.
Глава 28. Средства выявления неисправностей и управления сетью 979
Сетевое управление
Многие из средств, рассмотренных ранее в этой главе, используются, когда
проблема дала о себе знать, но многие администраторы сети предпочитают
применять упреждающие меры, осуществляя постоянный мониторинг и
сбор информации о сети при помощи консоли сетевого управления, такой
как Open View от Hewlett-Packard или Systems Management Server от
Microsoft. Эти программные продукты разработаны для сбора информации о
различных устройствах, расположенных по всей сети, и отображения ее на
центральной консоли. Некоторые программы имеют возможность представить
сеть в графическом виде, что позволяет администраторам выбрать
устройство и проверить его состояние и статистику. Когда возникает проблема,
вынуждающая устройство сгенерировать специальное событие, которое
называется ловушкой (trap), сконфигурированная определенным образом
консоль может каким-либо способом отправить администратору сообщение об
этом, например, при помощи электронной почты или Web-страницы.
Другие функции сетевого управления включают наблюдение за трафиком,
диагностику сети, сбор информации об установленном программном
обеспечении и создание отчетов.
Существует два стандарта сетевого управления, популярных в настоящее
время: Simple Network Management Protocol (SNMP, Простой протокол
сетевого управления) и Remote Monitoring (RMON, Удаленный мониторинг).
Эти стандарты сходны в своей базовой архитектуре, но обрабатывают
информацию по-разному. Основные компоненты системы сетевого управления
перечислены ниже.
□ Консоль сетевого управления. Принимает информацию, собираемую
агентами, и готовит ее для представления администратору в форме
статистических выкладок, графических экранов и/или печатных отчетов.
□ Агенты. Программы, работающие на сетевых устройствах, которые
собирают информацию для дальнейшей ее передачи консоли сетевого
управления. Большинство устройств сети, таких как маршрутизаторы,
коммутаторы и концентраторы, имеют встроенные агенты, поддерживающие
SNMP, RMON или оба стандарта. На компьютерах агент принимает
форму программы или сервиса, который может быть включен в
операционную систему или поставляться отдельно.
□ Базы управляющей информации (MIB, Management Information Base).
Хранят управляемые объекты (managed objects), являющиеся отдельными
частями информации, накопленной агентом.
□ SNMP. Включает язык запросов, используемых между агентами и
консолью, и транспортный механизм, основанный на UDP, который
переносит собранную агентами информацию.
980
Часть VIII. Сетевое администрирование
Несмотря на то, что SNMP и RMON используют одинаковые основные
компоненты, RMON является более новым стандартом, разработанным для
того, чтобы разрешить недостатки SNMP. В системе SNMP агенты являются
простыми компонентами, которые собирают и передают информацию по
запросу. Консоль сетевого управления отвечает за постоянные обращения к
агентам с целью получить собранную ими информацию. Это наиболее
обременительный момент в поддержке системы сетевого управления с
консоли, которая должна постоянно собирать и обрабатывать новые данные, что
также порождает значительное количество сетевого трафика.
RMON также использует центральную консоль и индивидуальных агентов
(которые называются probes — зонды), но вместо того, чтобы работать в
качестве клиентов консоли, как в SNMP, зонды являются серверами, а
консоль — клиентом. Зонды RMON устроены более сложно, чем агенты SNMP,
и способны сами собирать и поддерживать информацию об устройствах,
которые они обслуживают. Консоль только забирает данные от зонда, когда
они необходимы для отображения или обработки. Это уменьшает как
загрузку консоли, так и сетевой трафик, создаваемый процессом.
Внедрение приложения сетевого управления требует значительных затрат
времени, финансовых средств и оборудования, но в больших сетях оно позволяет
администраторам наблюдать и поддерживать сотни и тысячи отдельных
компонентов без необходимости перемещения в самые удаленные участки сети.
Предметный указатель
Active Directory site 788
Administrative installation point 916
ADSL 182
ADSL (Asymmetrical Digital Subscriber
Line) 883
Alias 749
ANSI 78
Apache 816
ARCNET 86
ARP 353
ATM 313
Attenuation 82
Autonegotiation 244
В
Backbone 284
Balanced tree 747
Bindery 528, 721, 728
emulation 729
BLAM (Binary Logarithmic Arbitration
Method) 204
BOOTP 596
Bus mastering 57
CA (Certificate Authority) 514
Canonical name 783
CardBus 67
CCITT 20
Channel aggregation 170
CHAP 348
Container objects 724
Context qualifier 732
Crosstalk 77
CSMA/CD 34, 198
CSMS/CD 13
CSU/DSU 171
D
Daemon 874
DET (Directory Entry Table) 540
DHCP (Dynamic Host Configuration
Protocol) 595 894
Distinguished name 782
NDS 728
DLL (Dynamic Link Library) 934
DMI (Desktop Management
Interface) 73
DMP 425
DNS 669, 894
host table 669
сервер 962
Domain controller 759
Active Directory 788
DSL 180, 883
E
Ethernet:
1000BaseCX311
lOOOBaseLH 310
lOOOBaseLX 309
lOOOBaseSX 310
1000BaseT311
100BaseFX 237
100BaseT4 237
100BaseTX 236
10BaseFB213
lOBaseFP 214
lOBaseT 209
Ethernet II 196
Fast 100BaseT 235
FOIRL212
Gigabit 304
Thick 206
Thin 208
982
Предметный указатель
F
FCS (Frame Check Sequence) 35
FDDI 287
Firewall 902
Flow control 42
FQDN 675
Fractional Tl 171
Frame relay 184, 886
FTP 841 890
Full synchronization 763
G
GDI (Graphic Device Interface) 458
н
HDSL 171
Hosts 670
HTML 827
HTTP 828
Hub 103
I
IANA331
ICMP 368
ICS (Internet Connection Sharing) 898
IEEE 16
IETF 17
IMAP (Internet Message Access
Protocol) 895
IntelliMirror 517, 944
Internet Information Server 816
intranet 812
IP 358
IPCP 349
IPSec 515
IPX 393
IRQ (Interrupt Request Line) 67
ISA 64
ISDN 174, 882
BRI 165, 176
PRI 176
ISO 16
ITU-T 20
J, К
Jam pattern 199
Kerberos 512
L
LAN (Local Area Network) 8
LANE 322
LDAP 780
Leaf objects 724
Link Aggregation 71
LLC 230
LMHOSTS 637, 662
M
MAU (Multistation Access Unit)
106, 254
Metropolitan area network 885
MIB 979
MMC (Microsoft Management
Console) 510
N
NAT 899
NCP 349, 399
NCPB 399, 403
NDIS 478
NDPS 871
NDS (Novell Directory Service) 528,
721, 857
NET 946
Net Watcher 952
Net Watch 956
NetBEUI 417, 484
NetBIOS 416, 484
NetMeeting 959
Network 7
Network Information Center 670
NFS (Network File System) 562
NIC (Network Interface Card) 53
NLM (NetWare Loadable Module) 523
NSS (Novell Storage Services) 544
NTFS 468
Предметный указатель
983
О
Organizational role 752
OSI (Open System Interconnection 16
reference model) 20
OSPF 152
P
PAP 347
Parallel Tasking 58
Partial synchronization 763
Pass-through authentication 776
PC Card 64
PCI 64
PCI Hot Plug 72
PDU (Protocol Data Unit) 23
Pipe 547
Plug and Play 68
POP3 (Post Office Protocol) 895
POSIX 460
PPP 342
Profile:
mandatory 920
roaming 920
Proxy server 905
PSAP48
Q
QoS (Quality of Service) 518
R
RARP596
Registry 470
Repeater 102
Replication 761
Resolver 684
Resource records 682
RIP (Routing Information Protocol) 146
RMON 979
RRAS488
s
SAP 410
Security equivalent 752
Shell 549
SLIP 340
SMB 435
SMP 427
SNAP 233
SNMP 73, 979
Spanning tree algorithm 118
Spooling 851
SPX 396
SSAP48
STP 87, 93
Switching:
circuit 10
packet 9
System Policy Editor 928
T
TCP 378
TCP/IP 326
TDM (Time Division Multiplexing) 172
TFTP 597
TIA78
TIA/EIA 17
Token Ring 253
Transceiver 28
Trust relationship 765
TTL 962, 965
U
UDP 376, 425
Uniform Resource Identifier 830
URI835
UTP87
w
WAN (Wide Area Network) 8
Web Administrator 957
WINS 634
Workgroup 759
X
X.200 20
Z
ZAI (Zero Administration Initiative) 941
Zero Administration Initiative 912
984
Предметный указатель
А
Агент принтера 871
Агент-ретранслятор ВООТР 597, 620
Адрес:
IP 328
MAC аппаратный 13, 33
групповой 332
Алгоритм связующего дерева 118
Анализатор:
протоколов 971
сети 971
Архитектура:
Active Directory 780
DHCP 601
NDS 722
UNIX 549
Windows NT 454
WINS 666
печати
NetWare 868
UNIX 874
Windows 859
сетевого клиента Windows 568
системы безопасности
Windows NT 493
Асимметричное подключение 883
ATM 190
Б
Браузер сети 647
Буферизация заданий печати 851
в
Виртуальная память 457
Виртуальный канал:
коммутируемый 188
постоянный 187
Виртуальный каталог 824
Время жизни 962
Выбор маршрута:
жесткий 963
свободный 963
Выделенная линия 170
аналоговая 170
цифровая 171
г
Глобальный каталог Active
Directory 787
Группы пользователей:
глобальные 500
локальные 500
Д
Демон 572, 874
LPD 874
Дерево Active Directory 785
Доверительные отношения 765,
766, 785
Домен;
DNS 673
Windows NT 758
коллизий 103
родовой (DNS) 677
Доступ к среде:
по приоритету запроса 277
с контролем несущей и
обнаружением коллизий 34, 198
с передачей маркера 33, 260, 298
Драйвер:
NDIS 479, 569
ODI 576
виртуального устройства 459
монолитный 576
протокола 571
сетевого адаптера 74
з
Записи о ресурсах 682
Запросы DNS 684
Зоны DNS 681
И
Имена:
DNS 674
NetBIOS 416, 634
объектов NDS 728
Инкапсуляция данных 22
дейтаграмма 25
кадр 25
Предметный указатель
985
пакет 25
ячейка 25
Интерфейс:
DDI 860
DMI73
NDIS 478
NetBIOS 484
TDI 479
интранет 812
к
Кабель:
STP экранированная витая пара 93
UTP неэкранированная витая
пара 88
витая пара 87
категория 88
коаксиальный 81, 83
оптоволоконный 94
пленумный 76
Кабельный модем 884
Кадр:
100VG-AnyLAN 279
Ethernet 225
Ethernet II 225
FDDI 294
PPP 343
Token Ring 268
Канальный уровень 972
Каноническое имя 783
Качество обслуживания 518
Кодирование:
MLT-3 294
манчестерское 30
полярное 29
разностное манчестерское 30
Коды ошибок:
FTP 847
HTTP 836, 837
Коллизия 199
поздняя 202, 250
ранняя 202, 250
Командный процессор 549
Команды FTP 843
Коммутатор 154
Коммутационная панель 99
Коммутация:
кадров 886
каналов 10
пакетов 9, 183
ячеек 9
Конвейер 547
Контейнерные объекты NDS 724
Контекст и определители контекста
(NDS) 728
Контроллер домена 759
Active Directory 788
главный 760
резервный 760
Концентратор 103
автономный 107
модульный ПО
наращиваемый ПО
Криптография:
закрытый ключ 513
открытый ключ 513
л
Лес Active Directory 785
Логический принтер 859
м
Магистраль 284
локализованная 285
распределенная 285
Маршрутизатор 15, 129
аппаратный 900
программный 898
Маршрутизация 36, 366
динамическая 140
от источника 122
прозрачная 115
статическая 140
таблица 134
Маска подсети 329
Многозадачность:
вытесняющая 460
невытесняющая 460
Модель OSI 16
Модуль множественного доступа 106
Мост 14, 113
Мультиплексирование 168
обратное 169
с разделением времени 172
Мэйнфрейм 7
986
Предметный указатель
о
Область Active Directory 788, 792
Обмен данными:
дуплексный 57
полудуплексный 57
Обратное разрешение имен 691
Операционная система:
FreeBSD 553
Linux 554
NetBSD 553
Novell NetWare 522
OpenBSD 554
Solaris 556
UNIX 545
Windows 2000 509
Windows NT 453
Определитель контекста 732
Организационная роль 752
Отличаемое имя 728
Active Directory 782
Отображение дисков 918
Очередь печати 851
п
Повторитель 14, 102
Подцомены DNS 680
Порт:
TCP 337
UDP 337
Поставщик услуг Интернета 876
Права доступа NDS 754
Правила написания по умолчанию 730
Привилегии Windows NT 501
Прокси-сервер 905
Пространство имен:
Active Directory 785
NetBIOS 416, 634
NetWare 541
Протокол:
lOOVG-AnyLAN 276
AppleTalk 583
ARP353
ATM 313
BOOTP 596
CHAP 348
DHCP 595
DMP 425
Ethernet 195
FDDI 287
Gigabit Ethernet 304
ICMP 143, 368
IP 358
IPCP 349
IPSec 515
IPX 393
LAPD 188
LAPF188
LCP 344
NCP 349, 399
NCPB 403
NetBEUI 417
OSPF 152
PAP 347
PPP 342
RARP596
RIP 146
SAP 410
SLIP 340
SMB 435
SMP 426
SNAP 233
SNMP 73
SPX 396
TCP 378
TFTP 597
Token Ring 253
UDP 376
аутентификации Kerberos 512
без установления соединения 39
внешнего шлюза 145
внутреннего шлюза 144
динамической конфигурации
хоста 894
доступа к сообщениям
Интернета 895
передачи файлов 841
почтового отделения 895
с установлением соединения 38
Профиль пользователя:
обязательный 920
перемещаемый 920
Пул принтеров 863
р
Рабочая группа 759
Разделы NDS 733
Предметный указатель
987
Разрешение имени NetBIOS 423, 636
WINS 646
кэш имен 643
типы узлов 648
файл LMHOSTS 644, 662
широковещательные сообщения
644, 664
Разрешения файловой системы 505
Распознаватель DNS 684
Распределенная служба печати 871
Регистрация имен 636
DNS 693
WINS 639
файл LMHOSTS 637
широковещательная 638
Редактор системной политики 928
Редиректор сети Windows 480
Реестр 470
ключ 470
редактор 475
улей 471
Репликация 761
WINS 665
каталогов 790
профилей пользователей 926
с одним мастером 790
со множеством мастеров 790
Реплики NDS 734
Ретрансляция кадров 184
Рефлектометр 978
с
Свойства объектов NDS 727
Сегмент сети 14
Сервер имен NDS 735
Сервис 462
GSNW 486, 582
Netlogon 775
Server 482
Workstation 480
Сертификат 514
Сессия FTP 849
Сетевой адаптер 53
Сетевой комплекс 13
Сеть 7
виртуальная 159
глобальная 8, 15, 162
локальная 8
узкополосная 8
широкополосная 8
Синхронизация:
NDS 737
полная 763
частичная 763
Системная политика 472, 927
редактор 473
файл 931
шаблон 473, 929
Сквозная аутентификация 776
Служба каталогов:
NDS 528
NetWare 721
Смарт-карта 515
Среда передачи данных 7
Стек протоколов 16 20
IPX/SPX 391
TCP/IP 324, 326
т
Таблица хостов DNS 669
Телеконференция 891
Терминатор 82
Тестер кабеля 978
Типы объектов NetWare 725
Топология 11
звезда 11
кольцо 11
шина 11
шина-звезда 12
Точка управляемой инсталляции 916
Трансивер 28
Трансляция сетевых адресов 899
у
Удаленная консоль 557
Универсальный идентификатор
ресурса 830
Управление:
диалогом 44
потоком данных 42
Учетная запись Windows NT 496
988
Предметный указатель
Ф
Файл HOSTS 670
Файловая система:
FAT16 465
FAT32 469
NetWare 538
NFS 562
NTFS 468
NTFS 5.0 520
Фильтр наследуемых прав 756
Фильтрация пакетов 114, 904
Формат печати:
EMF 861
RAW 861
ц
Цифровая подпись 514
Цифровой сертификат 827
ш
Шаблон NDS 751
Шина:
CardBus 67
ISA 64
PC Card 64
PCI 64
Э
Эквивалент безопасности 752
Электронная почта Интернета 895
Эффективные права NDS 756
Содержание
Введение 3
ЧАСТЬ I. ВВЕДЕНИЕ В СЕТЕВЫЕ ТЕХНОЛОГИИ 6
Глава 1. Что такое сеть? 7
Локальные вычислительные сети 7
Сравнение узкополосных и широкополосных сетей 8
Сравнение коммутации пакетов и коммутации каналов 9
Сети и сетевые комплексы 10
Кабели и топологии 10
Управление доступом к среде передачи данных 12
Адресация 13
Повторители, мосты, коммутаторы и маршрутизаторы 13
Глобальные сети 15
Протоколы и стандарты 16
Клиенты и серверы 17
Операционные системы и приложения 18
Далее следует 19
Глава 2. Эталонная сетевая модель OSI 20
Межуровневые взаимодействия 22
Инкапсуляция данных 22
Горизонтальная передача информации 24
Вертикальная передача информации 24
Терминология инкапсуляции 25
Физический уровень 26
Спецификации Физического уровня 27
Сигналы Физического уровня 28
Канальный уровень 31
Адресация 33
Управление доступом к среде , 33
Индикатор протокола 34
Выявление ошибок 35
Сетевой уровень 35
Маршрутизация 36
Фрагментация 38
990 Содержание
Протоколы с установлением соединения и без установления
соединения 38
Транспортный уровень... 39
Комбинации сервисов, предоставляемых протоколами 40
Функции протокола Транспортного уровня 41
Сеансовый уровень 43
Управление диалогом 45
Разделение диалога 46
Представительский уровень 48
Прикладной уровень 49
ЧАСТЬ П. СЕТЕВОЕ АППАРАТНОЕ ОБЕСПЕЧЕНИЕ 51
Глава 3. Платы сетевых адаптеров 53
Функции сетевого адаптера 54
Дополнительные возможности сетевых адаптеров 56
Полный дуплекс 57
Управление шиной 57
Параллельное выполнение задач 58
Дистанционное включение 58
1ЕЕЕ802.1р 58
Выбор платы сетевого адаптера 59
Протокол 59
Скорость передачи 60
Сетевой интерфейс 61
Интерфейс шины 63
Требования к аппаратным ресурсам 67
Требования к электропитанию 69
Сетевые адаптеры для серверов и рабочих станций 69
Сетевые адаптеры для дома и офиса 73
Драйверы сетевых адаптеров 74
Глава 4. Прокладка сетевого кабеля 75
Свойства кабеля 75
Стандарты кабельных систем 77
Стандарт ANSI^IA/EIA-T568-A ...78
Стандарт ISO 11801E 1995 80
Стандарты протоколов Канального уровня 80
Коаксиальный кабель.... 81
Толстый Ethernet 83
Тонкий Ethernet.... 85
Технология ARCNET : 86
Кабельное телевидение 86
Содержание 991
Кабели на основе витой пары 87
Неэкранированная витая пара (UTP) 88
Стандарты, следующие за категорией 5 89
Схема расположения контактов коннекторов 90
Экранированная витая пара (STP) 93
Оптоволоконный кабель 94
Строение оптоволоконного кабеля 95
Коннекторы для оптоволоконного кабеля 97
Оптоволоконный кабель и проектирование сети 97
Прокладка кабеля 98
Планирование 98
Протяжка кабеля 99
Монтаж оборудования 100
Тестирование соединений 101
Присоединение компьютеров 101
Более полная картина 101
Глава 5. Повторители, концентраторы и мосты 102
Повторители 102
Концентраторы 103
Пассивные концентраторы 104
Ретранслирующие концентраторы 104
Модули множественного доступа сети Token Ring 106
Интеллектуальные концентраторы 106
Конфигурации концентраторов 107
Выбор концентратора 111
Мосты 113
Прозрачная маршрутизация 115
Ретрансляция с маршрутизацией от источника 122
Соединение мостом сетей Ethernet и Token Ring 126
Глава 6. Маршрутизаторы и коммутаторы 129
Маршрутизаторы 129
Применение маршрутизаторов 131
Функции маршрутизатора 134
Маршрутизация и ICMP 143
Протоколы маршрутизации 144
Протокол информации маршрутизации 146
Коммутаторы 153
Типы коммутаторов 156
Маршрутизация в сравнении с коммутацией 158
Виртуальные ЛВС 159
Коммутация уровня 3 160
992 Содержание
Глава 7. Глобальные сети 162
Соединения глобальной сети 162
Выбор технологии глобальной сети 164
Коммутируемые соединения 167
Обратное мультиплексирование 169
Выделенные линии 170
Аппаратные средства выделенных линий 170
Области применения выделенных линий 173
ISDNhDSL 174
ISDN 174
DSL 180
Службы коммутации пакетов 183
Frame relay... .....184
ATM 190
ЧАСТЬ III. СЕТЕВЫЕ ПРОТОКОЛЫ 193
Глава 8. Ethernet 195
Определение Ethernet ....195
Стандарты Ethernet 196
Механизм управления доступом к среде CSMA/CD 198
Нормативы Физического уровня 205
Кадр Ethernet 225
Fast Ethernet 234
Средства Физического уровня... 235
Ограничения длины кабеля 238
Модернизация сети Ethernet 245
Добавление рабочих станций 245
Модернизация до Fast Ethernet 247
Неисправности Ethernet 249
Ошибки Ethernet 249
Выявление проблемы , 251
Глава 9. Token Ring и 100VG AnyLAN 253
Token Ring 253
Физический уровень Token Ring 254
Передача маркера 260
Состояния системы 264
Мониторы Token Ring 265
Испускание маяка 267
Кадры Token Ring 268
Ошибки Token Ring 274
100VG-AnyLAN 276
Содержание 993
Подуровень управления логической связью.... 277
Подуровни MAC и RMAC 278
Глава 10. Высокоскоростные магистрали 284
Распределенные и локализованные магистрали 285
FDDI 287
Топология FDDI 288
Подсистемы FDDI 292
FDDI-II 303
Gigabit Ethernet 303
Архитектура Gigabit Ethernet 304
Управление доступом к среде передачи данных 305
Интерфейс Gigabit МИ 306
Физический уровень 309
Области применения Gigabit Ethernet 312
ATM 313
Архитектура ATM 314
Недостатки ATM ...321
Глава 11. TCP/IP 324
Особенности TCP/IP.... 324
Архитектура TCP/IP 326
Стек протоколов TCP/IP 326
IP-адресация 328
Маска подсети 329
Регистрация IP-адресов 330
Выделенные IP-адреса 333
Создание подсетей 334
Порты и сокеты 337
Присваивание имен TCP/IP 338
Протоколы TCP/IP 339
SLIPhPPP 339
Протокол SLIP 340
Протокол РРР... 342
Протокол ARP 353
Протокол IP... 358
Протокол ICMP 368
Протокол UDP..... 376
Протокол TCP 378
Глава 12. Протоколы NetWare 391
Протоколы Канального уровня ....392
Протокол IPX 393
994 Содержание
Протокол SPX 396
NetWare Core Protocol (NCP) . 399
Сообщение запроса NCP .........400
Сообщение ответа NCP 402
Протокол NetWare Core Packet Burst (NCPB) 403
Протокол SAP 410
Кадр запроса SAP 412
Кадр ответа SAP 413
Проблемы SAP 414
Глава 13. NetBIOS, NetBEUI и Server Message Blocks 415
NetBIOS 416
Кадр NetBEUI 417
Протокол управления именами 420
Протокол UDP 425
Протокол диагностики и мониторинга 425
Протокол управления сессией 426
Протокол SMB 434
Сообщения SMB 435
Обмен сообщениями SMB 438
ЧАСТЬ IV. СЕТЕВЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ 445
Глава 14. Windows NT и Windows 2000 447
Роль Windows NT/2000 на рынке операционных систем 447
Версии 449
Коммерческие варианты Windows NT/2000 450
Сервисные пакеты 450
Когда следует заменять версию 452
Обзор операционной системы 453
Компоненты режима ядра 454
Компоненты режима пользователя 458
Сервисы 462
Файловая система 464
Системный реестр 470
Сетевая архитектура Windows NT 477
Интерфейс NDIS 478
Интерфейс транспортного драйвера 479
Сервис Workstation 480
Сервис Server 482
Привязка 482
API 484
Содержание 995
Дополнительные сервисы Windows NT 485
Сервис межсетевого интерфейса для NetWare 485
DHCP-сервер Microsoft 487
Служба WINS 487
DNS-сервер Microsoft 488
Сервер маршрутизации и удаленного доступа 488
Распределенная файловая система 488
Информационный сервер сети Интернет 490
Сервис распределения нагрузки 491
Сервер кластеров Microsoft 492
Система безопасности Windows NT 492
Архитектура системы безопасности Windows NT 493
Домены и безопасность ..495
Учетные записи пользователей 496
Глобальные и локальные группы 500
Привилегии 501
Разрешения 505
Windows 2000 509
Active Directory 510
Microsoft Management Console 510
Система безопасности Windows 2000 512
IntelUMirror 516
Сетевые службы 517
Особенности файловой системы.... 520
Глава 15. Novell NetWare 522
Роль NetWare на рынке ОС 523
Версии NetWare 525
NetWare 2.x 526
NetWare 3.x 527
NetWare 4.x 528
intraNetWare 529
NetWare 4.2 530
NetWares 530
Инсталляция NetWare 531
Драйверы дисков 532
Драйверы сетевых адаптеров и протоколов 533
Создание NCF-файлов 534
Обновления NetWare 536
Подсистема хранения информации NetWare 537
Блоки распределения диска 539
DEThFAT 540
Пространства имен 541
996 Содержание
Усовершенствования файловой системы NetWare 4.x 543
Novell Storage Services 544
Другая информация о NetWare 544
Глава 16. UNIX 545
Принципы UNIX 546
Архитектура UNIX 548
Версии UNIX 551
UNIX System V 552
BSD UNIX 552
Linux 554
Sun Solaris 556
Организация сети UNIX... 556
Команды удаленного управления 557
Команды Berkeley ..557
Команды DARPA 560
Сетевая файловая система NFS 561
Организация сети по принципу клиент/сервер 565
Глава 17. Сетевые клиенты 566
Сетевые клиенты Windows 567
Сетевая архитектура Windows 568
Сервисы клиентов 572
Версии клиентов Windows. 572
Клиенты NetWare 576
NetWare и 16-разрядные версии Windows.... 576
NetWare и Windows 95/98 578
NetWare и Windows NT/2000 581
Клиенты Macintosh 583
Присоединение систем Macintosh к сетям Windows..... 584
Соединение систем Macintosh с NetWare 586
Клиенты UNIX 588
ЧАСТЬ V. СЕТЕВЫЕ СЛУЖБЫ СОЕДИНЕНИЙ 593
Глава 18. Протокол DHCP 595
Происхождение DHCP 595
Протокол RARP 596
Протокол ВООТР 596
Цели DHCP 597
Назначение IP-адресов 599
Конфигурация клиента TCP/IP.. 600
Содержание 997
Архитектура DHCP 601
Структура пакета DHCP.. 601
Опции DHCP ..604
Обмен сообщениями DHCP 610
Агенты-ретрансляторы 620
Реализации DHCP 621
Microsoft DHCP Server 622
Создание диапазонов > 622
Передачи сервера клиенту 625
Клиентские утилиты Microsoft 625
Поддержка опций клиентами 627
Время действия лицензии DHCP 628
Переназначение сервера DHCP 629
Обслуживание DHCP 629
Windows 2000 и DHCP.... 630
Глава 19. WINS и разрешение имен NetBIOS 634
Имена NetBIOS 634
Методы регистрации имен.. 637
Регистрация имен LMHOSTS 637
Регистрация имен с использованием широковещательных сообщений 638
Регистрация имен WINS ....639
Методы разрешения имен 642
Разрешение имен с помощью кэша NetBIOS 643
Разрешение имен LMHOSTS 644
Разрешение имен с использованием широковещательных сообщений 644
Разрешение имен WINS 646
WINS и просмотр внутренней сети 647
Типы узлов 648
Типы узлов Microsoft 648
Задание типов узлов 650
Форматы сообщений NetBT..... 652
Раздел заголовка 653
Раздел запроса 655
Раздел записи о ресурсе 656
Пример транзакции.... 657
Использование файла LMHOSTS 662
Использование широковещательных сообщений 664
Использование WINS 664
Репликация WINS 665
Архитектура WINS 666
Прокси-системы WINS 668
998 Содержание
Глава 20. Система доменных имен 669
Таблицы хостов 669
Проблемы таблицы хостов 670
I^hDNS .671
Построение доменных имен 672
Домены верхнего уровня 675
Домены второго.уровня 678
Поддомены 680
Функции DNS 681
Записи о ресурсах 682
Разрешение имен DNS 684
Обратное разрешение имен 691
Регистрация имен DNS 693
Зонная передача. 696
Сообщения DNS 696
Раздел Header.. 697
Раздел Question 699
Разделы с записями о ресурсах 700
Запись сообщений DNS 702
Сообщения разрешения имен 705
Обнаружение корневого сервера имен 709
Сообщения зонной передачи 711
Организация службы DNS 714
Внешние источники услуг DNS 714
Создание собственных серверов DNS ..715
ЧАСТЬ VI. СЕТЕВЫЕ СЛУЖБЫ КАТАЛОГОВ 719
Глава 21. Служба каталогов Novell 721
Архитектура NDS 722
Контейнеры и листья 724
Объекты и свойства 725
Присваивание имен объектам NDS ....728
Разделы и реплики 733
Проектирование дерева NDS 741
Правила проектирования дерева 741
Балансировка дерева 747
Создание дерева 748
Соглашения об именах объектов 748
Отношения между объектами 749
Псевдонимы 749
Шаблоны 750
Группы ....751
Содержание 999
Эквиваленты безопасности и организационные роли 752
Перенос базы регистрационных данных 752
Объединение деревьев 753
Обеспечение безопасности в NDS 753
Права доступа к объектам и свойствам 754
Наследование прав 755
Глава 22. Домены Windows NT 758
Контроллеры доменов 760
Репликация 761
Осмысление процесса репликации 762
Изменение параметров репликации 763
Доверительные отношения ...765
Создание доверительных отношений 766
Организация доверительных отношений 768
Просмотр доверительных отношений 774
Подключение к сети 775
Обнаружение контроллера домена 776
Сквозная аутентификация 776
Выбор службы каталогов Windows NT 778
Глава 23. Служба Active Directory 779
Архитектура Active Directory 780
Типы объектов 781
Присваивание объектам имен 782
Домены, деревья и леса 784
DNS и Active Directory 786
Сервер глобального каталога 787
Развертывание Active Directory 788
Создание контроллеров домена 788
Репликация каталогов 790
Области 792
Проектирование Active Directory 797
Планирование доменов, деревьев и лесов 798
Присваивание объектам имен 801
Переход с Windows NT 802
Управление Active Directory 805
ЧАСТЬ VII. СЕТЕВЫЕ СЛУЖБЫ 809
Глава 24. Развертывание серверов Интернета 811
Web-серверы 811
Зачем нужны собственные Web-серверы? 812
Выбор Web-сервера 814
1000 Содержание
HTML 827
HTTP 828
FTP-серверы 841
Команды FTP 843
Коды ответов FTP 846
Сообщения протокола FTP 849
Глава 25. Сетевая печать 851
Проблемы сетевой печати 851
Буферизация заданий печати 851
Подключение принтеров..... 852
Выбор принтеров 853
Выбор операционной системы 856
Выбор серверов печати 856
Администрирование принтеров 858
Сетевая печать Windows 859
Процесс печати Windows 859
Конфигурация принтеров Windows 862
Сетевая печать NetWare 868
Распределенная служба печати Novell 871
Конфигурация принтера NetWare 872
Сетевая печать UNIX 874
Глава 26. Организация доступа в Интернет 876
Выбор поставщика услуг Интернета 876
Типы подключения 880
Требования к пропускной способности соединения 887
Интернет-услуги.. 892
Маршрутизаторы Интернета 897
Программные маршрутизаторы 898
Аппаратные маршрутизаторы 900
Требования, предъявляемые к клиенту 901
Межсетевая защита. 902
Фильтрация пакетов 904
Прокси-серверы 905
Шлюзы уровня канала 907
Объединение технологий межсетевой защиты 907
ЧАСТЬ VIII. СЕТЕВОЕ АДМИНИСТРИРОВАНИЕ 909
Глава 27. Администрирование сетей Windows 911
Размещение приложений и данных 912
Размещение операционной системы на сервере 913
Размещение приложений на сервере 914
Содержание 1001
Хранение рабочих файлов 916
Контроль конфигурации рабочей станции 918
Отображение дисков 918
Профили пользователей 920
Контроль реестра рабочей станции 927
Использование системных политик .....927
Удаленное редактирование реестра .940
Групповые правила политики Windows 2000 940
Инициатива нулевого администрирования Microsoft для Windows 941
Компоненты ZAK 942
IntelliMirror 944
Глава 28. Средства выявления неисправностей и управления сетью 945
Утилиты операционной системы 945
Утилиты Windows 945
Утилиты TCP/IP 960
Анализаторы сети 971
Фильтрация данных 972
Агенты 974
Анализ трафика 975
Анализ протоколов 976
Тестеры кабеля 978
Сетевое управление 979
Предметный указатель 981