Глава 3. Модели сетевого взаимодействия 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Глава 3. Модели сетевого взаимодействия



Модели сетевого взаимодействия

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

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

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

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

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

Рисунок 51. Пример взаимодействия двух узлов в сети.

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

 

Интерфейс (от англ. interface— поверхность раздела, перегородка) совокупность средств и методов взаимодействия между элементами системы.

Пример:

электрические вилка и розетка—являются интерфейсом энергоснабжения большинства бытовых приборов;

клавиатура и мышь— являются интерфейсом компьютера в контексте «пользователь— ЭВМ»;

адрес электронной почты— является коммуникационным интерфейсом пользователя интернет;

протокол передачи данных— часть интерфейса клиент-серверной архитектуры;

 

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

Любую систему (компьютер, вычислительная сеть, ОС, программный пакет, другие аппаратные и программные продукты), можно назвать открытой системой, если она построена в соответствии с открытыми спецификациями. Под термином «спецификация» (в вычислительной технике) понимают формализованное описание аппаратных или программных компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации,ограничений и особых характеристик.

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

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

 

Открытая система в информатике — аппаратура и/или программное обеспечение, которое обеспечивает переносимость и совместимость, а часто и их вместе с другими компьютерными системами.

Сетевая модель OSI (англ. Open Systems Interconnection Reference Model— модель взаимодействия открытых систем) абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия.

Модель OSI

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

Эталонная модель OSI, иногда называемая стеком OSI представляет собой 7-уровневую сетевую иерархию.

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

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

В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной - соседние уровни обмениваются данными с использованием интерфейсов API.

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

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

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

Наконец, сообщение достигает нижнего,физического уровня, который собственно и передает его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 52).

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

Рисунок 52. Эталонная модель взаимодействия открытых систем (ISO /0 SI).

 

Наряду с термином сообщение (message) существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней,используется общее название протокольный блок данных (Protocol DataUnit, PDU). Для обозначения блоков данных определенных уровней часто используются специальные названия: кадр (frame), пакет (packet), дейтаграмма(datagram), сегмент (segment).


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

Следует также иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI. Например,некоторые СУБД имеют встроенные средства удаленного доступа к файлам. В этом случае приложение, выполняя доступ к удаленным ресурсам, не использует системную файловую службу; оно обходит верхние уровни модели OSI и обращается напрямую к системным средствам, ответственным за транспортировку сообщений посети, которые располагаются на нижних уровнях модели OSI.

В модели OSI различаются два основных типа протоколов. В протоколах с установлением соединения перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать это соединение.

Вторая группа протоколов - протоколы без предварительного установления соединения. Такие протоколы называются также дейтаграммными протоколами. Отправитель просто передает сообщение, когда оно готово. При взаимодействии компьютеров используются протоколы обоих типов.

Уровни модели OSI

Физический

На этом уровне модели OSI определяются следующие характеристики сетевых компонентов:

· типы соединений сред передачи данных, физические топологии сети, способы передачи данных (с цифровым или аналоговым кодированием сигналов), виды синхронизации передаваемых данных,

· разделение каналов связи с использованием частотного и временного мультиплексирования.

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

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

Канальный уровень

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

Протоколы канального уровня реализуются для достижения следующих основных целей:

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

· обнаружения (а иногда и исправления) ошибок при передаче;

· управления потоками данных (для устройств,работающих на этом уровне модели OSI, например мостов (bridge));

· идентификации компьютеров в сети по их физическим адресам.

Подобно большинству других уровней,канальный уровень добавляет собственную управляющую информацию в начало пакета данных. Эта информация может включать адрес источника и адрес назначения(физический или аппаратный), информацию о длине фрейма и индикацию активных протоколов верхнего уровня. С канальным уровнем обычно связаны такие сетевые соединительные устройства – мосты (bridge), коммутаторы, сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т д.).

Сетевой уровень

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

Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией, например топологией типа «звезда». Это очень жесткое ограничение, которое не позволяет строить сети с развитой структурой, например, сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Можно было бы усложнять протоколы канального уровня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей между уровнями приводит к другому решению. Чтобы с одной стороны сохранить простоту процедур передачи данных для типовых топологий, а с другой допустить использование произвольных топологий, вводится дополнительный сетевой уровень.

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

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

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

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

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов - Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют их сути. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

Транспортный уровень

На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень обеспечивает приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется.

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

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

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

Сеансовый уровень

Сеансовый уровень обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент,предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. Сеансовый уровень реализует управление диалогом с использованием одного из трёх способов общения: симплекс(simplex), полудуплекс (half duplex) и полный дуплекс (full duplex).

Симплексное общение предполагает только однонаправленную передачу от источника к приемнику информации. Никакой обратной связи (от приемника к источнику) этот способ общения не обеспечивает.

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

Полный Дуплекс обеспечивает одновременную передачу информации в обе стороны по среде передачи данных.

Администрирование сеанса связи между двумя сетевыми объектами, состоящее из установления соединения, передачи данных,завершения соединения, также выполняется на этом уровне модели OSI. После установления сеанса программное обеспечение, реализующее функции данного уровня, может проверять работоспособность (поддерживать) соединения вплоть до его завершения.

Представительный уровень

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

Прикладной уровень

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

Существует очень большое разнообразие служб прикладного уровня. К числу наиболее распространенных протоколов верхних уровней относятся:

FTP - протокол переноса файлов;

TFTP - упрощенный протокол переноса файлов;

X.400 - электронная почта;

Telnet;

SMTP - простой протокол почтового обмена;

CMIP - общий протокол управления информацией;

SNMP - простой протокол управления сетью;

NFS - сетевая файловая система;

Разумеется, в настоящее время основным используемым семейством протоколов является TCP/IP, разработка которого не была связана с моделью OSI. За все время существования модели OSI она не была реализована (что говорится один-в-один), и, по-видимому, не будет реализована никогда. Сегодня используется только некоторое подмножество модели OSI. Считается, что модель слишком сложна, а её реализация займёт слишком много времени.

 

Модель TCP/IP.

Для обеспечения сетевых взаимодействий между сетевыми объектами каждый из объектов должен понимать другой объект,говорить с ним на одном языке. Другими словами, сетевые объекты должны удовлетворять определенному протоколу, набору правил общения. Поскольку сетевое общение между сетевыми объектами является достаточно сложным процессом, описываемым всеми уровнями модели OSI, то и набор правил для организации общения достаточно сложен. Для реализации данного набора правил разработаны наборы, или стеки, взаимосвязанных и логически сгруппированных протоколов. Существует достаточно большое количество стеков протоколов, однако наиболее широкое распространение в настоящее время получили два: стек TCP/IP и стек IPX/SPX.

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

В недавнем прошлом, при построении локальных компьютерных сетей активно использовался стек протоколов IPX/SPX,поддерживаемый фирмой Novell. Он является базовым для операционных систем семейства NetWare, производимых Novell. Стек IPX/SPX также открыт для дополнений и расширений, но все изменения в рамках данного стека протоколов возможны только после их одобрения специальным подразделением Novell.

Кроме кратко рассмотренных стеков протоколов существуют и другие. Сетевые взаимодействия для аппаратных платформ ведущих производителей поддерживаются их собственными сетевыми архитектурами. Для организации взаимодействий между компьютерами, производимыми корпорацией DEC, была разработана архитектура DECnet, включающая в себя протоколы, реализующие задачи, описанные на всех уровнях модели OSI. Другим крупным производителем вычислительных систем, поддерживающим собственные сетевые архитектуры - корпорация IBМ. Для организации сетевых взаимодействий специалисты IBM разработали архитектуру SNA (System Network Architecture) Именно эта сетевая архитектура и была взята за основу при создании модели описания сетевых взаимодействий - эталонной модели OSI.



Поделиться:


Последнее изменение этой страницы: 2021-03-10; просмотров: 243; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.192.3 (0.04 с.)