Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП ВСС

.pdf
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
5.76 Mб
Скачать

сети, которому предназначен пакет, то номер порта указывает, какому прикладному процессу1 на этом узле предназначены переданные данные2. Например, если пользователь обращается к Web-странице, то в поле «порт приемника» указывается номер 80. Соответственно, Web-сервер ожидает запрос от пользователей по этому номеру порта.

Большинство прикладных процессов имеют фиксированный общеизвестный номер порта (номера портов 0–255 стандартизированы, а в интервале 255–1023 многие номера портов заняты известными приложениями), полный перечень которых приводится в RFC-1700. Номера портов других прикладных процессов назначаются динамически перед посылкой дейтаграммы или пакета.

Рассматривая стек протоколов TCP/IP, нельзя не упомянуть об интерфейсе Windows Sockets (WinSock), обеспечивающем взаимодействие между сетевыми приложениями на прикладном уровне. Ключевым понятием интерфейса WinSock является сокет, под которым подразумевается конечная точка сетевого соединения. Прикладная сетевая программа, создавая сокет, указывает три параметра: IP-адрес узла вычислительной сети; тип обслуживания (TCP или UDP); номер порта, используемого этим приложением.

Таким образом, данные сокета определяют в качестве конечной точки сетевого соединения конкретное приложение (по номеру порта) на заданном физическом узле вычислительной сети (по IP-адресу), при этом определяется транспортный протокол сетевого соединения (TCP или UDP). В соответствии с этим видно, что на одном физическом узле может быть создано множество сокетов. Интерфейс WinSock существенно упрощает процесс сетевого взаимодействия, когда на одном физическом узле вычислительной сети могут функционировать несколько сетевых приложений. Сетевое приложение, инициирующее соединение с другим приложением передает информацию в сокет, а интерфейс сокетов в свою очередь передает ее дальше по стеку сетевых протоколов TCP. Взаимодействие узлов вычислительной сети с использованием транспортного про-

1Прикладной процесс, предоставляющий некоторые услуги другим процессам (сервер), ожидает поступления сообщений по специально выделенному порту. Запросы на предоставление услуг посылаются процессами-клиентами, т.е. взаимодействие по типу «клиентсервер».

2Комбинация IP-адреса и номера порта называется TCP-Socket.

61

токола TCP строится в три этапа (рис. 1.21): установление логического соединения; обмен данными; закрытие соединения.

Рассмотрим процедуру передачи TCP-пакетов между двумя узлами вычислительной сети. Для иллюстрации сути данного процесса достаточно привести значения четырех полей TCPпакета (как показано на рис. 1.21). Направления движения пакетов показаны стрелками.

На первом этапе узел № 1 передает узлу № 2 пакет с установленным флагом SYN=1 и начальным значением номера в последовательности равным 100. Если узел № 2 готов установить соединение, то в адрес первого узла он передает пакет, в котором подтверждается прием запроса (поле «номер подтверждения» на 1 больше начального значения (100) поля «номер в последовательности», полученного в запросе узла № 1 и установлен флаг ACK=1), а также информирует узел №1 о готовности установить соединение (установлен флаг SYN=1 и значения поля «номер в последовательности» в 500).

На третьем шаге узел № 1 подтверждает правильность приема пакета от узла № 2 (в подтверждающем пакете поле «номер подтверждения» начальное значение 500 изменено на

501).

После этого узлы приступают к обмену данными. Узел № 1 передает пакет, в котором 120 байт данных (значение поля «данные»). В ответ узел № 2 подтверждает получение данных (в качестве подтверждения правильности полученных данных узел № 2 устанавливает значение поля «номер подтверждения» в заголовке ответного TCP-пакета как сумму пришедшего с этими данными значения поля «номер в последовательности» и длины правильно принятых данных, т.е. в рассматриваемом примере 101+120=221). Помимо подтверждения правильности полученных данных в этот же пакет можно вложить данные для их передачи узлу № 1, что и иллюстрирует второй шаг этапа передачи данных. Как видно из рисунка 39 узел № 2 подтверждает правильность получения данных и дополнительно передает 240 байт данных. В ответ узел № 1 подтверждает получение данных (в поле «номер подтверждения» установлено значение 741).

После обмена данными узел № 1 инициатор соединения приступает к третьему этапу – закрытию соединения. Для этого узлу № 2 передается пакет с установленным флагом FIN=1.

62

В ответ узел № 2 подтверждает получения запроса на закрытие соединения передачей пакета с измененным значением поля «номер подтверждения» на 1 (221+1=222). После этого передача данных узлом № 1 становится невозможной, однако узел № 2 еще может передавать данные. Получив подтверждение от узла № 1 о получение данных, узел № 2 формирует пакет с флагом FIN=1 и передает его узлу № 1, который подтверждает получение этого пакета. После этого соединение между этими узлами считается закрытым [3].

63

 

Узел № 1

Установление соединения

 

 

 

 

Узел № 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

100

 

 

SYN=1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

500

101

 

SYN=1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

ACK=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

101

501

 

ACK=1

0

 

 

 

 

 

 

 

 

 

 

 

Обмен данными

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

101

501

 

ACK=1

120

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

501

221

 

ACK=1

240

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

221

741

 

ACK=1

0

 

 

 

 

 

 

 

 

 

 

 

Закрытие соединения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

221

741

 

FIN=1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

ACK=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номерв

Номер

 

Флаги

Данные

 

 

 

 

 

 

 

 

 

 

последовательности

подтверждения

 

 

 

 

 

 

 

741

222

 

ACK=1

0

 

 

 

 

 

 

Рис. 1.21. Этапы взаимодействия узлов вычислительной сети при передаче TCP-пакетов

В заключение рассмотрения протоколов транспортного уровня приведем краткую характеристику протоколов TCP и UDP.

64

 

Таблица 1.3

Характеристика транспортных протоколов

Транспортный протокол

TCP

UDP

Реализует взаимодействие в ре-

Реализует взаимодействие в ре-

жиме с установлением логиче-

жиме без установления логиче-

ского (виртуального) соединения

ского (виртуального) соединения

Для идентификации прикладных процессов на транспортном уровне используют 16-битовые «номера портов»

«Разбивает» сообщения на паке-

Не делит сообщения на части,

ты фиксированной длины; не-

каждое

сообщение

передается

сколько небольших сообщений

отдельной UDP-дейтаграммой

могут упаковываться в один па-

 

 

 

 

кет

 

 

 

 

Часть данных может передавать-

Не гарантирует надежной пере-

ся в общем потоке как «важные»1

дачи данных, возможна потеря

 

UDP-дейтаграмм,

не

имеет

 

средств

уведомления источника

 

UDP-дейтаграмм о правильности

 

(ошибочности) их приема

 

Подтверждает получение каждо-

Возможен контроль целостность

го пакета, гарантирует надежную

данных в UDP-дейтаграмме при

передачу данных, поддерживает

использовании поля «контроль-

ряд механизмов для обеспечения

ная сумма»

 

 

надежной передачи данных

 

 

 

 

Реализует принцип «скользящего

Значительно проще по сравне-

окна»2 (sliding window) для повы-

нию с протоколом TCP

 

шения скорости передачи

 

 

 

 

Сформированные на транспортном уровне TCP-пакеты или UDP-дейтаграммы передаются на межсетевой уровень модели TCP/IP для дальнейшей транспортировки по вычислительной сети.

Вопросы для самопроверки

1Для идентификации данных как «важные» (urgent date) используется флаг URG (URG=1) в заголовке TCP пакета.

2Принцип «скользящего окна» (sliding window) заключается в том, что каждый узел может отправлять другому узлу максимум столько байт данных, сколько он указал в поле «размер окна» заголовка TCP-пакета, подтверждающего получение предыдущих данных. Размер окна, как правило, определяется объемом свободного места в буфере принимающего узла.

65

1.Какие основные задачи решаются при организации обмена данными между узлами вычислительной сети?

2.Что обозначает сокращение OSI/ISO?

3.Сколько и какие уровни включает модель OSI/ISO?

4.Каковы функции сетевого и транспортного уровня мо-

дели OSI/ISO?

5.Почему модель OSI/ISO не находит широкого применения на практике?

6.Что понимается под стеком протоколов?

7.Какие основные протоколы входят в стек TCP/IP?

8.Протокол UDP или TCP предполагает установление виртуального канала?

9.Что понимается под параметром заголовка пакета «порт приемника»?

10.Что включает в себя понятие «сокет»?

66

Глава 3. АДРЕСАЦИЯ И МАРШРУТИЗАЦИЯ

ВВЫЧИСЛИТЕЛЬНЫХ СЕТЯХ

3.1.Принципы адресации ресурсов вычислительной сети

Всовременных сетевых моделях различают несколько типов адресов [1].

Адреса канального уровня (называемые также физиче-

скими или аппаратными адресами) уникальны для каждого узла вычислительной сети. Эти адреса присваиваются производителями оборудования и размещены в схеме интерфейса (так, например, аппаратный адрес сетевого интерфейса стандарта IEEE 802 представляет собой шестибайтовое число – 2F.14.22.AD.F0.7C). В соответствии с названием, адреса канального уровня используются на 2 уровне эталонной модели

OSI/ISO.

Адреса сетевого уровня (называемые также виртуальными или логическими адресами) используются на 3 уровне эталонной модели OSI/ISO. В отличие от адресов канального уровня, которые обычно существуют в пределах плоского адресного пространства, адреса сетевого уровня иерархические. Например, IP-адрес состоит из двух частей: одна часть инициализирует номер сети, а вторая номер узла в сети.

Адреса прикладного уровня являются логическими ад-

ресами, которые несут определенную смысловую нагрузку, определяемую пользователем. Например, доменные имена в сети

Internet – www.donrta.ru.

3.2.Система Active Directory

Технология Active Directory (AD) является службой каталогов, созданной компанией Microsoft и реализованной в операционной системе (ОС) Windows [9]. Служба каталогов содержит данные в организованном формате и предоставляет к ним упорядоченный доступ. Служба Active Directory, по сути, реализация существующей индустриальной модели (а именно X.500), коммуникационного протокола (LDAP – Lightweight Directory Access Protocol) и технологии поиска данных (службы DNS).

Active Directory предназначена для хранения информации о всех сетевых ресурсах и реализует следующие основные функции.

67

Безопасное хранение данных. Каждый объект в Active Directory имеет собственный список управления доступом (ACL), который содержит список ресурсов, получивших право доступа к объекту, а также предопределенный уровень доступа к этому объекту.

Многофункциональный механизм запросов, основан-

ный на созданном Active Directory глобальном каталоге (GC). Все клиенты, поддерживающие Active Directory, могут обращаться к этому каталогу.

Репликацию данных каталога на все контроллеры до-

мена, которая упрощает доступ к информации, повышает степень ее доступности и увеличивает надежность всей службы.

Концепцию модульного расширения, которая позволя-

ет добавлять новые типы объектов или дополнять существующие объекты. Например, к объекту «пользователь» можно добавить атрибут «зарплата».

Сетевое взаимодействие с использованием несколь-

ких протоколов. Служба Active Directory основана на модели X.500, благодаря чему поддерживаются различные сетевые протоколы, например, LDAP 2, LDAP 3 и HTTP.

Логическая структура Active Directory представляет в наиболее обобщенном смысле сетевые ресурсы организации в виде иерархической структуры следующих логических объектов.

Лес. Наиболее общая логическая конструкция в Active Directory. Лес – это набор деревьев доменов, корни которых связаны друг с другом транзитивными доверительными отношениями.

Дерево. Также называется деревом доменов и представляет собой иерархически сгруппированные домены, начинающиеся с корневого домена. Все остальные домены в дереве являются потомками корневого домена. Деревья должны формировать смежные пространства имен DNS . Лес может состоять из одного или нескольких деревьев, корни которых связаны друг с другом транзитивными доверительными отношениями.

Домен. Основная административная граница в сетях Windows Server. Домены именуются с помощью DNS . Дерево состоит из одного или нескольких доменов, которые связаны между собой транзитивными доверительными отношениями.

Организационная единица (Organizational Unit, OU). Ло-

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

68

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

Объект. Содержащийся внутри домена или организационного подразделения пользователь, группа, компьютер, принтер, общедоступная папка и т.п. Например, объектпользователь представляет работника вашей компании, объекткомпьютер – физический компьютер и т.д.

Доверительные отношения. Безопасный канал взаи-

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

На рис. 1.22 показана логическая структура Active Directory, на которой домены представлены черными точками, деревья – областями, доверительные отношения – линиями, соединяющими домены. Вся диаграмма представляет лес. Кроме того, домены могут содержать организационные единицы

OU.

Рис. 1.22. Типичная логическая структура Active Directory

Типичный подход к разработке логической структуры Active Directory состоит в создании доменов и деревьев таким образом, чтобы они соответствовали географической или административной структуре организации. Ключевой идеей при планировании логической структуры Active Directory, позволяющей упростить администрирование путем делегирования и применения групповой политики, является создание доменов и

69

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

Учетные записи пользователей. В Active Directory каж-

дая учетная запись пользователя имеет имя входа пользователя и суффикс UPN. При создании учетной записи пользователя администратор указывает имя входа пользователя и выбирает суффикс UPN.

ВActive Directory каждая учетная запись пользователя имеет имя участника-пользователя в соответствии с докумен-

том IETF RFC 822 Standard for the Format of ARPA Internet Text Messages. Имя участника-пользователя составляется из имени входа пользователя и суффикса имени участникапользователя, соединенных знаком «@».

Вторая часть имени участника-пользователя – суффикс имени участника-пользователя – обозначает домен, к которому относится учетная запись пользователя. Суффиксом имени участника-пользователя может быть DNS-имя домена, DNS-имя любого домена в составе леса либо альтернативное имя, созданное администратором и использующееся только для входа в систему. Этот альтернативный суффикс имени участникапользователя не обязательно должен быть допустимым DNSименем.

ВActive Directory по умолчанию суффиксом имени участ- ника-пользователя является DNS-имя домена, в котором создана учетная запись пользователя. Обычно это имя домена, зарегистрированного в Интернете как домен предприятия. Использование альтернативных имен доменов в качестве суффиксов имен участников-пользователей обеспечивает дополнительную безопасность входа в сеть и упрощает имена, используемые для входа в другой домен леса.

Например, если организация использует сложное дерево доменов, упорядоченное по отделам и географическим областям, имена доменов могут быть достаточно длинными. Предположим, что по умолчанию суффиксом имени участникапользователя в таком домене является itt.rfrta.rta.ru. Тогда имя входа пользователя в данном домене будет иметь вид ivanov@itt.rfrta.rta.ru.

Учетные записи компьютеров. Каждая учетная запись компьютера в Active Directory имеет относительное различающееся имя, основной DNS-суффикс, DNS-имя узла и имя участ-

70