Главная страница

Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


Скачать 22.28 Mb.
НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Дата12.03.2017
Размер22.28 Mb.
Формат файлаpdf
Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
ТипУчебник
#3698
страница14 из 99
1   ...   10   11   12   13   14   15   16   17   ...   99
Поле данных 3
Концевик 3
Сообщение 2-го уровня
і Г
г
Заголовок 2| Заголовок 3|
Поле данных 3
| Концевик 3 1 Концевик 2
1
Сообщение 1-го уровня
і
J
п
Y
Поле данных 2
I
1
г
Заголовок 1 Заголовок 2 Заголовок 3
Поле данных 3
Концевик 3 Концевик 2 Концевик 1
V
^ у
J
Поле данных 1
Рис. 4 .7 . Вложенность сообщений различных уровней
Физический уровень помещает сообщение на физический выходной интерфейс компьюте­
ра 1, и оно начинает свое «путешествие» по сети (до этого момента сообщение передавалось от одного уровню другому в пределах компьютера 1).

116
Глава 4. Архитектура и стандартизация сетей
Когда сообщение по сети поступает на входной интерфейс компьютера 2, оно принимает­
ся его физическим уровнем и последовательно перемещается вверх с уровня на уровень.
Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответ­
ствующие функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню.
Как видно из описания, протокольные сущности одного уровня не общаются между собой непосредственно, в этом общении всегда участвуют посредники — средства протоколов нижележащих уровней. И только физические уровни различных узлов взаимодействуют непосредственно.
В
стандартах ISO для обозначения единиц обмена данными, с которыми имеют дело протоколы
разных уровней, используется общее название протокольная единица данных
(Protocol Data
Unit, PDU). Для обозначения единиц обмена данными конкретных уровней часто используются
специальные
названия, в частности: сообщение, кадр, пакет, дейтаграмма, сегмент.
Физический уровень
Физический уровень (physical layer) имеет, дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.
Примером протокола физического уровня может служить спецификация 10Base-T техно­
логии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.
Физический уровень не вникает в смысл информации, которую он передает. Для него эта ин­
формация представляет собой однородный поток битов, которые нужно доставить без иска­
жений и в соответствии с заданной тактовой частотой (интервалом между соседними битами).
Канальный уровень
Канальный уровень (data link layer) обеспечивает прозрачность соединения для сетевого уровня. Для этого он предлагает ему следующие услуги:
□ установление логического соединения между взаимодействующими узлами;
□ согласование в рамках соединения скоростей передатчика и приемника информации;
□ обеспечение надежной передачи, обнаружение и коррекция ошибок.
Для решения этих задач канальный уровень формирует из пакетов собственные протоколь­
ные единицы данных — кадры, состоящие из поля данных и заголовка. Канальный уровень помещает пакет в поле данных одного или нескольких кадров и заполняет собственной служебной информацией заголовок кадра.
В сетях, построенных на основе разделяемой среды, физический уровень выполняет еще одну функцию — проверяет доступность разделяемой среды. Эту функцию иногда выделя­
ют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC).

Модель OSI
117
Протоколы канального уровня реализуются как на конечных узлах (средствами сетевых адаптеров
и их драйверов), так и на всех промежуточных сетевых устройствах.
Рассмотрим более подробно работу канального уровня, начиная с момента, когда сетевой уровень отправителя передает канальному уровню пакет, а также указание, какому узлу его передать. Для решения этой задачи канальный уровень создает кадр, который имеет иоле данных и заголовок. Канальный уровень помещает (инкапсулирует) пакет в поле данных кадра и заполняет соответствующей служебной информацией заголовок кадра. Важнейшей информацией заголовка кадра является адрес назначения, на основании которого комму­
таторы сети будут продвигать пакет.
Одной из задач канального уровня является обнаружение и коррекция ошибок. Канальный уровень может обеспечить надежность передачи, например, путем фиксирования границ кадра, помещая специальную последовательность битов в его начало и конец, а затем добавляя к кадру контрольную сумму. Контрольная сумма вычисляется по некоторому алгоритму как функция от всех байтов кадра. На стороне получателя канальный уровень группирует биты, поступающие с физического уровня, в кадры, снова вычисляет контроль­
ную сумму полученных данных и сравнивает результат с контрольной суммой, переданной в кадре. Если они совпадают, кадр считается правильным. Если же контрольные суммы не совпадают, фиксируется ошибка.
В функции канального уровня входит не только обнаружение ошибок, но и их исправле­
ние за счет повторной передачи поврежденных кадров. Однако эта функция не является обязательной и в некоторых реализациях канального уровня она отсутствует, например, в Ethernet.
Прежде чем переправить кадр физическому уровню для непосредственной передачи данных в сеть, канальному уровню может потребоваться решить еще одну важную задачу.
Если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность среды. Как уже отмечалось, функции проверки доступности разделяемой среды иногда выделяют в от­
дельный подуровень управления доступом к среде (подуровень MAC).
Если разделяемая среда освободилась (когда она не используется, то такая проверка, ко­
нечно, пропускается), кадр передается средствами физического уровня в сеть, проходит по каналу связи и поступает в виде последовательности битов в распоряжение физического уровня узла назначения. Этот уровень в свою очередь передает полученные биты «наверх» канальному уровню своего узла.
Протокол канального уровня обычно работает в пределах сети, являющейся одной из со­
ставляющих более крупной составной сети, объединенной протоколами сетевого уровня.
Адреса, с которыми работает протокол канального уровня, используются для доставки ка­
дров только в пределах этой сети, а для перемещения пакетов между сетями применяются уже адреса следующего, сетевого, уровня.
В локальных сетях канальный уровень поддерживает весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня локальных сетей оказываются самодостаточными транспортными сред­
ствами и могут допускать работу непосредственно поверх себя протоколов прикладного уровня или приложений без привлечения средств сетевого и транспортного уровней. Тем не менее для качественной передачи сообщений в сетях с произвольной топологией функций канального уровня оказывается недостаточно.

118
Глава 4. Архитектура и стандартизация сетей
Сетевой уровень
Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом1.
Технология, позволяющая соединять в единую сеть множество сетей, в общем случае постро­
енных на осндЬе разных технологий, называется технологией межсетевого взаимодействия
(internetworking).
На рис. 4.8 показано несколько сетей, каждая из которых использует собственную техно­
логию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий любая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN — Ethernet, FDDI, Token Ring, — имею­
щие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов.
Еще больше отличий между технологиями LAN и WAN. Во многих технологиях WAN задействована техника предварительно устанавливаемых виртуальных каналов, иденти­
фикаторы которых применяются в качестве адресов. Все технологии имеют собственные форматы кадров (в технологии ATM кадр даже называется иначе — ячейкой) и, конечно, собственные стеки протоколов.
Рис. 4 .8. Необходимость сетевого уровня
1 Не следует путать интернет (со строчной буквы) с Интернетом (с прописной буквы). Интернет -
это самая известная и охватывающая весь мир реализация составной сети, построенная на основе
технологии TCP/IP.

Модель OSI
119
Чтобы связать между собой сети, построенные на основе столь отличающихся технологий, нужны дополнительные средства, и такие средства предоставляет сетевой уровень.
Функции сетевого уровня реализуются:
□ группой протоколов;
□ специальными устройствами — маршрутизаторами.
Одной из функций маршрутизатора является физическое соединение сетей. Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому из которых может быть подключена одна сеть. Таким образом, все интерфейсы маршрути­
затора можно считать узлами разных сетей. Маршрутизатор может быть реализован про­
граммно на базе универсального компьютера (например, типовая конфигурация Unix или
Windows включает программный модуль маршрутизатора). Однако чаще маршрутизаторы реализуются на базе специализированных аппаратных платформ. В состав программного обеспечения маршрутизатора входят протокольные модули сетевого уровня.
Итак, чтобы связать сети, показанные на рис. 4.8, необходимо соединить все эти сети марш­
рутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 4.9).
Рис. 4.9. Пример составной сети
Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет — так называется PDU сетевого уров­
ня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть,

120
Глава 4. Архитектура и стандартизация сетей и несет, наряду с другой служебной информацией, данные об адресе назначения этого пакета.
Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу со­
ставной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, наряду с адресом, назначенным ему на канальном уровне, должен иметь сетевой адрес. Например, на рис. 4.9 компьютер в сети Ethernet, входящей в составную сеть, имеет адрес канального уровня МАСІ и адрес сетевого уровня NET-A1; аналогично в сети ATM узел, адресуемый идентификаторами виртуальных каналов ID1 и ID2, имеет сетевой адрес NET-A2. В пакете в качестве адреса назначения должен быть указан адрес сетевого уровня, на основании которого определяется маршрут пакета.
Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Например, на рис. 4.9 штриховой линией показано три маршрута, по которым могут быть переданы данные от компьютера Л к компьютеру Б. Маршрутизатор собирает информацию о топологии связей между сетями и на основе этой информации строит таблицы коммутации, которые в данном случае носят специальное название таблиц
маршрутизации. Задачу выбора маршрута мы уже коротко обсуждали в разделе «Обоб­
щенная задача коммутации» главы 2.
В соответствии с многоуровневым подходом сетевой уровень для решения своей задачи обращается к нижележащему канальному уровню. Весь путь через составную сеть раз­
бивается на участки от одного маршрутизатора до другого, причем каждый участок соот­
ветствует пути через отдельную сеть.
Для того чтобы передать пакет через очередную сеть, сетевой уровень помещает его в поле данных кадра соответствующей канальной технологии, указывая в заголовке кадра ка­
нальный адрес интерфейса следующего маршрутизатора. Сеть, используя свою канальную технологию, доставляет кадр с инкапсулированным в него пакетом по заданному адресу.
Маршрутизатор извлекает пакет из прибывшего кадра и после необходимой обработки передает пакет для дальнейшей транспортировки в следующую сеть, предварительно упаковав его в новый кадр канального уровня в общем случае другой технологии. Таким образом, сетевой уровень играет роль координатора, организующего совместную работу сетей, построенных на основе разных технологий.
ПРИМЕР-АНАЛОГИЯ --------------------------------------------------------------------------------------
Можно найти аналогию между функционированием сетевого уровня и международной почтовой
службы, такой, например, как DHL или TNT (рис. 4.10). Представим, что некоторый груз необходимо
доставить из города Абра в город Кадабра, причем эти города расположены на разных континентах.
Для доставки груза международная почта использует услуги различных региональных перевозчиков:
железную дороіу, морской транспорт, авиаперевозчиков, автомобильный транспорт. Эти перевозчики
могут рассматриваться как аналоги сетей канального уровня, причем каждая «сеть» здесь построена
на основе собственней технологии. Из этих региональных служб международная почтовая служба
должна организовать единую слаженно работающую сеть. Для этого международная почтовая служ­
ба должна, во-первых, продумать маршрут перемещения почты, во-вторых, координировать работу
в пунктах смены перевозчиков (например, выгружать почту из вагонов и размещать ее в транспортном
отсеке самолета). Каждый же перевозчик ответственен трлько за перемещение почты по своей части
пути и не несет никакой ответственности за состояние почты за его пределами.

Модель OSI
121
Рис. 4.10. Работа международной почтовой службы
В общем случае функции сетевого уровня шире, чем обеспечение обмена в пределах со­
ставной сети. Так, сетевой уровень решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями.
В заключение отметим, что на сетевом уровне определяются два вида протоколов. Пер­
вый вид — маршрутизируемые протоколы — реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых
маршрутизирующими протоколами, или протоколами маршрутизации. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений, на основании которой осуществляется выбор маршрута продвижения пакетов.
Транспортный уровень
На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя не­
которые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением.
Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного
сервиса от низшего класса 0 до высшего класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными при­
кладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дубли­
рование пакетов.
Выбор класса сервисд-транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней. С другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного: сетевым, канальным и физическим.
Так, если качество каналов передачи связи очень высокое и вероятность возникновения

122
Глава 4. Архитектура и стандартизация сетей ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обременен­
ных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней очень ненадежны, то це­
лесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, включая предварительное установление логического соединения, контроль доставки сообщений по контрольным суммам и циклической нумерации пакетов, установление тайм-аутов доставки и т. п.
Все протоколы, начиная с транспортного уровня и выше, реализуются программными сред­
ствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека Т С Р/
IP и протокол SPX стека Novell.
Протоколы нижних четырех уровней обобщенно называют сетевым транспортом, или транспортной подсистемой, так как они полностью решают задачу транспортировки со­
общений с заданным уровнем качества в составных сетях с произвольной топологией и раз­
личными технологиями. Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов, используя нижележащую транспортную подсистему.
1   ...   10   11   12   13   14   15   16   17   ...   99


написать администратору сайта