Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2013.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.38 Mб
Скачать

36. Протоколы локальных и глобальных сетей. Уровни сетевой архитектуры модели osi.

В сущности, термины «протокол» и «интерфейс» выражают одно и то же понятие — формализованное описание процедуры взаимодействия двух объектов, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы — правила взаимодействия модулей соседних уровней в одном узле.

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

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

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

В начале 80-х годов ряд международных организаций по стандартизации, в частности International Organization for Standardization (ISO), часто называемая International Standards Organization, а также International Telecommunications Union (ITU) и некоторые другие, разработали стандартную модель взаимодействия открытых систем (Open System Interconnection, OSI).

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

В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический

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

Физический уровень (physical layer) имеет, дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.

Примером протокола физического уровня может служить спецификация 10Base-T техно- логии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.

Канальный уровень (data link layer) обеспечивает прозрачность соединения для сетевого уровня. Для этого он предлагает ему следующие услуги: □ установление логического соединения между взаимодействующими узлами; □ согласование в рамках соединения скоростей передатчика и приемника информации; □ обеспечение надежной передачи, обнаружение и коррекция ошибок. Для решения этих задач канальный уровень формирует из пакетов собственные протоколь- ные единицы данных — кадры, состоящие из поля данных и заголовка. Канальный уровень помещает пакет в поле данных одного или нескольких кадров и заполняет собственной служебной информацией заголовок кадра.

Протоколы канального уровня реализуются как на конечных узлах (средствами сетевых адаптеров и их драйверов), так и на всех промежуточных сетевых устройствах.

Примеры: Ethernet, FDDI, Token Ring, ATM, Frame Relay.

Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом.

Функции сетевого уровня реализуются: □ группой протоколов; □ специальными устройствами — маршрутизаторами. Одной из функций маршрутизатора является физическое соединение сетей.

Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет — так называется PDU сетевого уров- ня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, 120 Глава 4. Архитектура и стандартизация сетей и несет, наряду с другой служебной информацией, данные об адресе назначения этого пакета. Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу со- ставной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными.

Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату.

Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 4.

Все протоколы, начиная с транспортного уровня и выше, реализуются программными сред- ствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/ IP и протокол SPX стека Novell.

Сеансовый уровень (session layer) управляет взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоя- нии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала.

Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной си- стемы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в пред- ставлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC На этом уровне могут, выполняться шифрование и дешифрирование данных, благодаря которым секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол SSL (Secure Socket Layer — слой защи- щенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Прикладной уровень (application layer) — это в действительности просто набор разнообраз- ных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые веб-страницы, а также организу- ют свою совместную работу, например, по протоколу электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением. Существует очень большое разнообразие протоколов и соответствующих служб приклад- ного уровня. К протоколам прикладного уровня относится, в частности, упоминавшийся ранее протокол HTTP, с помощью которого браузер взаимодействует с веб-сервером. Приведем в качестве примера также несколько наиболее распространенных реализаций сетевых файловых служб: NFS и FTP в стеке TCP/IP, SMB в Microsoft Windows, NCP в операционной системе Novell NetWare.

37. Назначение сетевой службы конфигурирования хостов (DHCP).

Почему бы не возложить такие рутинные обязанности, как ведение списка и назначение новых IP-адресов, на компьютер? Не нам первым пришла в голову эта мысль. Сравнительно недавно именно для этой цели был разработан протокол динамической конфигурации хоста (Dynamic Host Configuration Protocol - DHCP). Полное описание DHCP вы можете найти в RFC 1541, в этой же статье мы остановимся только на основных моментах.

DHCP разработан на базе Bootstrap Protocol (BOOTP), системы для автоматического получения информации о конфигурации BOOTP-клиентом от BOOTP-сервера при начальной загрузке.

По протоколу DHCP один компьютер в сети назначается сервером BOOTP, все остальные - по крайней мере те, кому нужен IP-адрес - становятся клиентами DHCP (компьютеры, уже имеющие постоянный IP-адрес, могут не приниматься в расчет). Администратор сети должен вначале сконфигурировать сервер. Частью процесса конфигурации является выделение блока IP-адресов для последующего присвоения клиентам.

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

На практике процедура несколько сложнее вышеописанной, поскольку запрашивающий клиент должен вначале найти сервер DHCP. Кроме того, протокол построен так, что клиент может обращаться с запросом сразу к нескольким серверам. Остановимся на том, как это происходит.

Клиент DHCP, нуждающийся в адресе, посылает широковещательный пакет DHCPDISCOVER в поисках сервера (см. Рис. 1). Пакет содержит аппаратный адрес запрашивающего клиента, например адрес Ethernet или Token Ring. Затем один или несколько серверов DHCP рассматривают запрос и посылают в ответ пакет DHCPOFFER, содержащий предлагаемый IP-адрес и "время аренды" (срок, в течение которого клиент может пользоваться адресом).

Клиент выбирает адрес из полученных пакетов DHCPOFFER. (Выбор клиента зависит от его назначения - например, он может выбрать адрес с наибольшим временем аренды.) Вслед за тем клиент посылает пакет DHCPREQUEST с адресом выбранного сервера.

Выбранный сервер посылает подтверждение (DHCPACK), и процесс согласования завершается. Пакет DHCPACK содержит оговоренные адрес и время аренды. Сервер помечает выделенный адрес как занятый - до окончания срока аренды этот адрес не может быть присвоен другому клиенту. Клиенту осталось только сконфигурировать себя в соответствии с назначенным адресом и можно приступать к работе в сети.

Отметим еще раз, что на запрос DHCPDISCOVER может ответить несколько серверов. Клиент должен выбрать одно из предложений и послать в ответ пакет DHCPREQUEST с идентификатором выбранного сервера. Другие серверы просматривают пакет DHCPREQUEST и заключают на основе идентификатора сервера, что их предложение было отвергнуто. Таким образом, они знают, что предложенные ими IP-адреса свободны для назначения другим клиентам.

Как упоминалось выше, выбранный сервер завершает согласование отсылкой пакета DHCPACK. В случае если сервер не может принять конфигурацию, он посылает пакет DHCPNAK (отказ в подтверждении), что вынуждает клиента начать процесс согласования заново.