Многоуровневый подход. Протокол. Интерфейс. Стек протоколов
Организация взаимодействия между устройствами в сети является сложной задачей. Как известно, для решения сложных задач используется универсальный прием - декомпозиция, то есть разбиение сложной задачи на несколько более простых задач-модулей. Процедура декомпозиции включает в себя четкое определение функций каждого модуля, решающего отдельную задачу, и интерфейс между ними. В результате достигается логическое упрощение задачи, а кроме того, появляется возможность модификации отдельных модулей без изменения остальной части системы.
При декомпозиции часто используют многоуровневый подход. Он заключается в следующем. Все множество модулей разбивают на уровни. Уровни образуют иерархию, то есть имеются вышележащие и нижележащие уровни (рис. 18). Множество модулей, составляющих каждый уровень, сформировано таким образом, что для выполнения своих задач они обращаются с запросами только к модулям непосредственно примыкающего нижележащего уровня. С другой стороны, результаты работы всех модулей, принадлежащих некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функций каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор cлужб, которые нижележащий уровень предоставляет вышележащему.
На рис. 20 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями.
Рис. 20
Процедура взаимодействия этих двух узлов может быть описаны в виде набора правил взаимодействия каждой пары соответствующих уровней обеих участвующих сторон. Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколом.
Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом всоответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор сервисов, предоставляемый данным уровнем соседнему уровню. В сущности, протокол и интерфейс выражают одно и то же понятие, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют пpaвила взаимодействия модулей одного уровня в разных узлах, а интерфейсы - модулей coceдних уровней в одном узле.
Средства каждою уровня должны отрабатывать, во-первых, свой собственный протокол, а во-вторых, интерфейсы с соседними уровнями.
Иерархически организованный набор протоколов, достаточный для организации взаимодействия, называется стеком коммуникационных протоколов.
Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней часто реализуются комбинацией программных и аппаратных средств, а протоколы верхних уровней - как правило, чисто программными средствами.
Протоколы реализуются не только компьютерами, но и другими сетевыми устройствами - концентраторами, мостами, коммутаторами, маршрутизаторами и т. д. Действительно, в общем случае взаимодействие компьютеров в сети осуществляется не напрямую, а через различные коммуникационные устройства. В зависимости от типа устройства в нем должны быть встроенные средства, реализующие тот или иной набор протоколов.
Чтобы еще раз пояснить понятия «протокол» и «интерфейс», рассмотрим пример, не имеющий отношения к компьютерным сетям. Рассмотрим взаимодействие двух предприятий А и В, связанных деловыми отношениями.
Между предприятиями существуют многочисленные договоренности и соглашения, такие, например, как регулярные поставки продукции одного предприятия другому. В соответствии с этой договоренностью начальник отдела продаж предприятия А регулярно в начале каждого месяца посылает официальное сообщение начальнику отдела закупок предприятия В о том, сколько и какого товара может быть поставлено в этом месяце. В ответ на это сообщение начальник отдела закупок предприятия В посылает в ответ заявку установленного образца на требуемое количество продукции.
Возможно, процедура взаимодействия двух начальников включает дополнительные согласования, в любом случае существует установленный порядок взаимодействия, который можно считать «протоколом уровня начальников». Начальники посылают свои сообщения и заявки через своих секретарей. Порядок взаимодействия начальника и секретаря соответствует понятию межуровневого интерфейса «начальник - секретарь». На предприятии А обмен документами между начальником и секретарем идет через специальную папку, а на предприятии В начальник общается с секретарем по факсу. Таким образом, интерфейсы «начальник - секретарь» на двух предприятиях отличаются.
После того как сообщения передано секретарям, начальников не волнует, каким образом эти сообщения будут перемещаться дальше - обычной или электронной почтой, факсом или нарочным. Выбор способа передачи - это уровень компетенции секретарей, они могут решать этот вопрос не уведомляя об этом своих начальников, так как их протокол взаимодействия связан только с передачей сообщений, поступающих сверху, и не касается содержания этих сообщений. На рисунке 21 показано, что в качестве протокола взаимодействия «секретарь-секретарь» используется обмен письмами.
Рис. 21.
При решении других вопросов начальники могут взаимодействовать по другим правилам-протоколам, но это не повлияет на работу секретарей, для которых не важно, какие сообщения отправлять, а важно, чтобы они дошли до адресата.
Итак, в данном случае мы имеем дело с двумя уровнями - уровнем начальником и уровнем секретарей, и каждый из них имеет собственный протокол, который может быть изменен независимо от протокола другого уровня. Эта независимость протоколов друг от друга и делает привлекательным многоуровневый подход.
Контрольные вопросы:
1. Что такое декомпозиция на основе многоуровневого подхода?
2. Поясните понятия «интерфейс» и «протокол».
3. Поясните понятия многоуровневого подхода, интерфейса и протокола на примере взаимодействия руководителей двух предприятий.
4. Что такое стек коммуникационных протоколов?
1.13Модель ISO/OSI
На практике при реализации сетей стремятся использовать стандартные протоколы, которые могут быть фирменные, национальные или международные стандарты.
В период с 1977 по 1984 год профессионалы разработали модель сетевой архитектуры под названием «рекомендуемая модель взаимодействия открытых систем» (the Reference Model of Open Systems Interconnection, OSI). Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели нанимает более 1000 страниц текста.
Термин «рекомендуемая модель взаимодействия открытых систем» часто встречается в литературе под названием «модельISO/OSI», отмечая вклад ISO в ее формирование. Для некоторых профессиональных сетевых программистов эта модель представляет собой образец идеальной сетевой архитектуры.
Модель ISO/OSI использует деление на уровни, чтобы организовать общее представление о структуре сети в виде четко определенных, взаимосвязанных модулей. В сети, поделенной на уровни, каждый уровень служит для исполнения определенной функции или службы сети по отношению к окружающим соседним уровням. Каждый уровень как бы защищает соседний от избыточной информации, способной просочиться от более низкого уровня наверх. Грамотно спроектированный уровень должен скрывать все особенности своего функционирования от вышележащего. Опираясь на эти положения, можно создавать сеть, состоящую их функциональных модулей с четко описанным интерфейсом.
В модели ISO/OSI (рис. 22) средства взаимодействия делятся на семь уровней: прикладной, представительский (уровень представления), сеансовый, транспортный, сетевой, канальный (уровень соединения) и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств. Модель описывает системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает спецификации взаимодействия приложений конечных пользователей. Свои собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень.
Рис. 22.
На рисунке 22 изображена простая сеть, созданная на основе модели ISO/OSI. Сеть состоит из двух компьютеров, которые, в свою очередь, составлены из уровней. Стрелки, соединяющие уровни, показывают путь следования данных в сети. Для каждого уровня существует соответствующий протокол (транспортный протокол, сетевой протокол).
Каждый уровень пользуется различными единицами измерения количества данных. Уровни приложения (прикладной уровень), представления, сеансовый, транспортный, — используют термин «сообщением» в качестве единицы измерения. Сетевой уровень трактует данные как «пакеты», а уровень соединения — как «кадр». Физический уровень имеет дело с битами — последовательностью нулей и единиц
Итак, пусть приложение обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса, программное обеспечение прикладного уровня формирует сообщение стандартного формата. Обычное сообщение состоит из заголовка и поля данных. Заголовок содержит служебную информацию, которую необходимо передать через сеть прикладному уровню машины-адресата, чтобы сообщить ему, какую работу надо выполнить. В нашем случае заголовок, очевидно, должен содержать информацию о месте нахождения файла и о типе операции, которую необходимо над ним выполнить. Поле данных сообщения может быть пустым или содержать какие-либо данные, например те, которые необходимо записать в удаленный файл. Но для того чтобы доставить эту информацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни.
После формирования coобщения, прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и дополняет к полученному сообщению служебную информацию - заголовок представительного уровня, в котором содержатся указания для протокола представительного уровня машины-адресата.
Полученное в результате сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок, и т. д. Рисунок 23 иллюстрирует вложенность сообщений различных уровней.
Рис. 23.
Некоторые peализации протоколов помещают служебную информацию не только в начале сообщения, но и в конце, в виде так называемого «концевика». Наконец, сообщение достигает нижнего, физическою уровня, который собственно и передает его по сетям машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 22). Когда cooбщение попадает на машину-адресат, оно принимается ее физическим уровнем и передается вверх с уровня на уровень. Каждый уровень анализирует и заголовок своего уровня, выполняя соответствующие данному уровню функции, а затем удаляет этот заголовок и передает сообщение вышележащему yровню.
Наряду с термином сообщение существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, используется общее название протокольный блок данных (Protocol Data Unit, PDU). Для обозначения блоков данных определенных уровней, часто используются специальные названия: пакет (packet), дейтаграмма (datagram), сегмент (segment).
В модели OSI различаются два основных типа протоколов. В протоколах с установлением соединения,перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать соединение. Телефон - это пример взаимодействия, основанного на установлении соединения.
Вторая группа протоколов - протоколы без предварительного установления соединения. Отправитель просто передает сообщение, когда оно готово. Опускание письма в почтовый ящик - это пример связи без предварительного установления соединения. При взаимодействии компьютеров используются протоколы обоих типов.
Рассмотрим более подробно функции каждого уровня.
Физический уровень состоит из физических элементов (hardware), служащих непосредственно для передачи информации по сетевым каналам связи. Поэтому линии связи - кабели, соединяющие компьютеры, - относятся к физическому уровню. К нему же относятся и методы электрического преобразования сигналов. Различные сетевые технологии, такие как Ethernet, ARCNET, или token ring, относятся к физическому уровню, как задающие параметры преобразования сигналов для передачи по сети. Физический уровень передает данные по битам.
На физическом уровне определяется тип передачи данных: симплексный, полудуплексный или дуплексный.
Канальный уровень или уровень соединения. Задача уровня соединения - передать данные от физического уровня к сетевому и наоборот. Канальный уровеньпревращает данные из последовательности битов в нечто более понятное для сетевого уровня, часто называемое «кадр данных» (кадром данных обычно называют отформатированный уровнем соединения поток битов, поступающий от физического уровня).
Наоборот, канальный уровеньпринимает кадры от сетевого с целью преобразовать их в поток битов, соблюдая правильный формат, для физического уровня. Основная функция уровня соединения - обеспечивать целостность данных, поэтому формат кадра включает необходимую для этого информацию.
Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра, для его выделения, а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом и добавляя контрольнуюсумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров. Необходимо отметить, что функция исправления ошибок не является обязательной для канального уровня, поэтому в некоторых протоколах этого уровня она отсутствует, например, в Ethernet и frame relay.
Кадр данных содержит также информацию, необходимую для его правильной идентификации и маршрутизации.
В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. Сетевая карта в компьютере — пример реализации уровня соединения.
В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень часто обеспечивает обмен сообщениями только между двумя соседними компьютерами, соединенными индивидуальной линией связи.
Иногда в глобальных сетях функции канального уровня в чистом виде выделить трудно, так как в одном и том же протоколе они объединяются с функциями сетевого уровня. Примерами такого подхода могут служить протоколы технологий АТМ и frame relay.
В целом канальный уровень представляет собой весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня оказываются самодостаточными транспортными средствами и могут допускать работу поверх них непосредственно протоколов прикладного уровня или приложений, без привлечения средств сетевого и транспортного уровней.
Тем не менее для обеспечения качественной транспортировки сообщений в сетях любых топологий и технологий функций канального уровня оказывается недостаточно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня — сетевой и транспортный.
Сетевой уровень это внутрисетевая первичная служба доставки и служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Поскольку сетевой уровень заведует общесетевой информацией о маршрутизации, ему и принадлежит функция подсчетаколичестваданных. Он также следит за трафиком, возможными столкновениями и скоростями передачи по каналам связи.
На сетевомуровне сам термин «сеть» наделяют специфическим значением. В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии.
Внутри сети доставка данных обеспечивается соответствующим канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень, который и поддерживает возможность правильного выбора маршрута передачи сообщения даже в том случае, когда структура связей между составляющими сетями имеет характер, отличный от принятого в протоколах канального уровня.
Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор — это устройство, которое собирает информацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения.
Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач между сетями, каждый раз выбирая подходящий маршрут. Таким образом, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет.
На рис. 24 показаны четыре сети, связанные тремя маршрутизаторами. Между узлами А и В данной сети пролегают два маршрута: первый через маршрутизаторы 1 и 3, а второй через маршрутизаторы 1, 2 и 3.
Рис. 24.
Проблема выбора наилучшего пути называется маршрутизацией, и ее решение является одной из главных задач сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту; оно зависит от пропускной способности каналов связи и интенсивности трафика, которая может изменяться с течением времени. Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению нагрузки, в то время как другие принимают решения на основе средних показателей за длительное время. Выбор маршрута может осуществляться и по другим критериям, например надежности передачи.
В общем случае функции сетевого уровня шире, чем функции передачи сообщений по связям с нестандартной структурой. Сетевой уровень решает также задачи согласования разных технологий, упрощения адресации в крупных сетях и создания надежных и гибких барьеров на пути нежелательного трафика между сетями.
Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части — номера сети и младшей — номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное определение: сеть - это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.
На сетевом уровне определяются два вида протоколов. Первый вид - сетевые протоколы (routed protocols) - реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов.
На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов — Address Resolution Protocol, ARP.
Транспортный уровень так же, как сетевой уровень доставляет пакеты по сети. Транспортный уровень доставляет (транспортирует) данные между самими компьютерами. Как только сетевой уровень доставит данные компьютеру-получателю, в работу вступает транспортный протокол, доставляя данные к прикладному процессу.
Транспортный уровень обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг, срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.
Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного — сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными приемами повышения надежности. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок.
Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.
В сети с переключением пакетов транспортный уровень должен фрагментировать данные, поступающие с сеансового уровня на пакеты меньшего размера, с тем, чтобы передать их дальше на сетевой уровень. Принимающая сторона, наоборот, должна собрать данные из пакетов меньшего размера в большие, с тем, чтобы передать на вышележащий уровень.
От транспортного уровня зависит количество пакетов, путешествующих по сети. Другими словами, транспортный уровень генерирует трафик пакетов данных, которым должен управлять сетевой уровень.
Транспортный уровень управляет пропускной способностью сети. Под пропускной способностью (bandwidth) подразумевается максимальное количество данных, проходящих в заданный интервал времени по каналу связи. Для увеличения пропускной способности (и производительности) транспортный уровень открывает несколько сетевых соединений для одного и того же транспортного соединения. Чтобы сделать это, транспортному уровню требуется мультиплексировать и демультиплексировать передаваемые данные. Термин «мультиплексирование» означает процесс, укладывающий несколько потоков данных в один коммуникационный канал. Термин «демультиплексирование» означает обратное действие. Транспортный уровень передающего компьютера мультиплексирует (объединяет) множество сообщений в одно транспортное соединение. Принимающий данные транспортный уровень, наоборот, демультиплексирует одно соединение во множество сообщений.
Протоколы нижних четырех уровней обобщенно называют сетевым транспортом или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.
Сеансовый уровень в качестве пользовательского сетевого интерфейса решает такие задачи по обработке соединений между процессами и приложениями на различных компьютерах, как обработка имен, паролей и прав доступа. Сеансовый уровень преобразует формат данных, подготовленных для передачи по сети, в формат, годный для передачи приложениям. В дополнение он обрабатывает запросы на изменение таких параметров соединения, как скорость передачи и контроль ошибок. Сеансовый уровень устраняет возможность потери данных приложением.
С этого момента непосредственный обмен байтов приобретает внутренний смысл. Лишь этот уровень позволяет выполнять такие функции, как обращение к каталогу сервера.
Сеансовый уровень обеспечивает также управление обменом, фиксируя, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.
Уровень представления объединяет в себе некоторые общие функции, которые сеть неоднократно использует при сетевых соединениях. Уровень представления образует интерфейс сети к устройствам компьютера, таким как принтеры, мониторы, форматы файлов. Уровень представления определяет, как сеть выглядит с точки зрения программного обеспечения и аппаратуры сетевого компьютера. Сообщения, поступающие от нижних уровней, подготавливаются необходимым образом для приложения.
За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне происходит, к примеру, преобразование данных, если принимающий компьютер использует другой формат числа, чем посылающий компьютер. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб.
Уровень приложения. На этом уровне сконцентрированы функции, относящиеся к общесетевым приложениям и с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощыо протокола электронной почты. Прикладные программы вроде электронной почты, браузера или распределенной базы данных - образец использования функций уровня приложения.
Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).
Сетезависимые и сетенезависимые уровни. Функции всех уровней модели ISO/OSI могут быть отнесены к одной из двух групп. Либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями (рис. 25).
Рис. 25.
Три нижних уровня — физический, канальный и сетевой — являются сетизависимыми, то есть протоколы этих уровней тесно связаны с технической реализацией сети и используемым коммуникационным оборудованием. Переход на другое оборудование означает полную смену протоколов физического и канального уровней во всех узлах сети.
Три верхних уровня — прикладной, представительный и сеансовый — ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet на высокоскоростную технологию AnyLAN не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.
Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических средств непосредственной транспортировки сообщений.
Контрольные вопросы:
1. Что такое модель ISO\OSI?
2. Сколько и какие уровни включает в себя модель ISO\OSI?
3. Опишите функции каждого уровня модели ISO\OSI.
4. Из чего состоят сообщения на каждом уровне.
5. Поясните понятие «вложенность сообщений различных уровней»