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

Процессы сетевого взаимодействия происходят на множестве уровней и могут быть сложны для понимания даже для хорошо подготовленного администратора сети. Эталонная модель взаимодействия открытых систем (OSI, Open Systems Interconnection reference model) представляет собой некую парадигму, теоретическое построение, которое разделяет взаимодействие в сети на семь отдельных уровней, как показано на рис. 2.1.

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

Рис. 2.1. Сетевая модель OSI

Модель OSI используется как средство для обучения и описания сетевых процессов. Профессионалы в области сетевых технологий, представляя протоколы, устройства или программы, часто привязывают их к определенным уровням модели OS1. Такой подход позволяет рассматривать сложные процессы как наборы элементов, выполняющих роль основы для описания какой-либо сетевой технологии. Во многих случаях протоколы имеют функциональность, которая перекрывает два или более уровней OSI. Примером может служить Ethernet, который рассматривается как протокол Канального уровня, но также определяет элементы Физического уровня.

НЕ нашли? Не то? Что вы ищете?

Рис. 2.2. Эталонные модели OSI и TCP/IP

Протоколы TCP/IP, например, имеют свою собственную многоуровневую модель, которая во многом похожа на модель OSI, но использует только четыре уровня (рис. 2.2). Семиуровневая модель была разработана таким образом, что стало возможным разделить функции стека протоколов так, чтобы независимые группы разработчиков могли работать над различными уровнями. То есть общий процесс разработки стал более рациональным. Тем не менее, если отдельный протокол может легко обеспечивать функции, относящиеся к нескольким уровням модели, то почему бы его не разделить на два отдельных протокола, хотя бы просто для согласованности?

2. Межуровневые взаимодействия

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

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

Инкапсуляция данных

Чтобы удовлетворять всем требованиям, подобным описанным выше, протоколы различных уровней работают вместе, обеспечивая унифицированный уровень сервиса. Каждый уровень предоставляет услуги уровням, расположенным непосредственно ниже и выше его в стеке. Исходящий трафик проходит сверху вниз через весь стек до сетевой среды передачи, дополняясь служебной информацией, необходимой для осуществления передачи данных. Служебная информация представляет собой заголовки и иногда постинформацию, которые обрамляют данные, полученные с вышележащего уровня. Такой способ представления информации называется инкапсуляцией данных (data encapsulation). Заголовки и постфиксы составлены из отдельных полей, содержащих служебные сведения, используемые для доставки пакетов по их назначению. В известном смысле, форма, состоящая из заголовков и хвостов, это — оболочка, которая является носителем сообщения, полученного от вышележащего уровня.

В процессе типичной передачи данных по сети работающий на Прикладном уровне протокол (включающий функции Представительского и Сеансового уровня), формирует сообщение, которое передается вниз протоколу Транспортного уровня. Протокол Транспортного уровня имеет свою собственную структуру пакетов, называемую протокольным блоком данных (PDU, protocol data unit), которая включает специальные поля заголовка и поле данных, несущее на себе полезную нагрузку (пользовательскую информацию). В данном случае полезной нагрузкой являются данные, полученные от протокола Прикладного уровня. Помещая информацию в свой собственный PDU. Транспортный уровень инкапсулирует данные Прикладного уровня, и затем передает их на уровень ниже.

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

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


Заголовок канального уровня

Заголовок сетевого уровня

Заголовок транспортного уровня

Заголовок прикладного уровня

Заголовок канального уровня


Рис. 2.3. Запросы от приложения инкапсулируются для передачи по сети

Горизонтальная передача информации

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

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

Рис. 2.4. Протоколы на различных уровнях системы логически связаны со своими эквивалентами в других системах

Вертикальная передача информации

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

Рис. 2.5. Каждый уровень модели OSI непосредственно взаимодействует только с соседними уровнями

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76