Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Конспект лекций

.pdf
Скачиваний:
28
Добавлен:
22.03.2016
Размер:
7.3 Mб
Скачать

фейсов (Interface Repository – IR). Эта служба хранит интерфейсы объектов в форме, пригодной для использования во время исполнения программ. Наличие данной службы позволяет приложению обращаться к методам даже таких объектов, о существовании которых не было известно на этапе компиляции.

Указанная архитектура построения клиент-серверных приложений позволяет достичь действительной интероперабельности объектов внутри распределенной среды, базирующейся на одном ORB или нескольких идентичных, что, однако, еще явно недостаточно при построении масштабных распределенных информационных систем. Действительно, использование того или иного объекта в приложении подразумевает, что ORB имеет соответствующий объектный адаптер. Тем самым число объектов, которые потенциально могли бы быть использованы при создании системы, ограничивается теми объектами, для которых существуют объектные адаптеры. В этой связи представляется логичным наличие некоторого количества замкнутых систем (доменов – по терминологии CORBA), каждая из которых базируется на собственном ORB, а также наличие связи между различными ORB (мостов – по терминологии CORBA) для предоставления доступа клиентам одного ORB к методам объектов другого.

Для осуществления стандартом CORBA подобного взаимодействия определены протокол межброкерного взаимодействия GIOP (General InterORB Protocol) и его разновидность, предназначенная для передачи данных по протоколу TCP/IP IIOP (Internet Inter-ORB Protocol). Этот протокол достаточно прост (определены всего семь типов сообщений), поскольку подразумевает наличие двух участников взаимодействия – клиента и сервера. В случае межброкерного взаимодействия один ORB выступает в роли клиента, другой – в роли сервера. Протокол позволяет клиенту передать запрос на исполнение метода объекта, управляемого сервером, и принять результаты. Кроме того, он оповещает клиента об исключительных ситуациях, возникающих при работе метода. Запрос формируется клиентом на основе информации, которою он может извлечь из интерфейса объекта. Стандартом CORBA не определяется четкий механизм распространения брокерами информации о доступных сервисах, однако он рекомендует использовать для этой цели интероперабельные объектные ссылки.

На рис. 1.2 изображена упрощенная схема организации классического клиент-серверного обмена при использовании архитектуры CORBA.

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

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

Клиент

 

Сервер

Службы

Мост

Службы

ORB

 

ORB

Ядро ORB

 

Ядро ORB

Рис. 2. Клиент-серверное взаимодействие в архитектуре CORBA

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

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

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

Тема 2. МОДЕЛИ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХ СИСТЕМ

Лекция 4. Модели и стадндарты открытых систем

4.1 Семиуровневая модель

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

вочной модели взаимодействия открытых систем (Open Systems Interconnection – OSI), разработанной Международной организацией стандартизации (International Standardization Organization – ISO). Модель разбивает взаимодействующие системы на семь уровней (прикладной, уровень представления данных, сеансовый, транспортный, сетевой, канальный и физический) и рассматривает функции, доступные на каждом из них, не определяя, однако, их функциональную реализацию.

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

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

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

Прикладной уровень (Application layer) – наивысший в модели. Он отвечает за предоставление прикладным программам доступа к сети. Примерами задач данного уровня являются передача файлов, услуги электронной почты и сетевое управление. Прикладной уровень передает

запросы программ и данные на уровень представления. Характерными примерами протоколов прикладного уровня являются FTP, X400, SNMP, Telnet и целый ряд других.

Уровень представления данных, или представительский уровень

(Presentation layer) осуществляет преобразование данных прикладного уровня к виду, «понятному» для нижних уровней, а также упаковку и кодирование информации с помощью таких протоколов, как XDR, ASN1, DES и др.

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

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

SPX, TCP и UDP.

Три нижних уровня модели OSI часто называют «подсетевыми» (subnet). Именно они отвечают за передачу пакетов от источника к месту назначения. Фактически, на таких вспомогательных сетевых узлах, как маршрутизаторы, повторители и концентраторы, работают только три этих уровня, поскольку никакие прикладные задачи на них не выполняются.

Сетевой, или пакетный уровень (Network layer) занимается определе-

нием адресов (или преобразованием логических адресов узлов сети в физические адреса), определением маршрута передачи пакетов, а также определением размера порции передачи данных по сети, контролем перегрузки сети, установлением и поддержкой связи. Протоколы этого уровня делятся на два класса: протоколы разрешения адресов и протоколы маршрутизации. Наиболее распространенные среди них – IP, ARP, IPX.

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

Самый нижний уровень модели – физический (Physical layer). В системе-источнике он получает пакеты данных с канального уровня и преобразует их в серии электрических сигналов, представляющих 0 или 1. Эти сигналы распространяются по физическим линиям связи. Получив их, физический уровень системы-приемника опять преобразует их в двоичные

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

X21, Ethernet и др.

Из семиуровневой модели видно, что «напрямую» взаимодействовать два прикладных процесса не могут (даже если пользователю кажется, что все происходит именно так): для взаимодействия необходимо спускаться и подниматься по лестницам уровней, используя стек протоколов выбранного семейства (IPX/SPX, TCP/IP и т. п.).

4.2 Четырехуровневая модель

Кроме модели OSI ISO существует еще одна модель, разработанная преимущественно для глобальных сетей и зафиксированная в серии документов RFC (Request for Comment), описывающих внутреннюю работу сетей Internet и стандарты стека протоколов TCP/IP. Эту модель часто называют

TCP/IP-моделью.

TCP/IP-Модель была разработана по инициативе Министерства обороны США более 20 лет назад в рамках Оборонного агентства по передовым исследовательским проектам (Defense Advanced Research Projects Agency — DARPA). В качестве части данных исследований компьютерные сети, находящиеся в большом числе университетов и других научных учреждений, были объединены с сетями DARPA. Получившаяся в результате глобальная сеть, известная как ARPANET, в настоящее время расширена за счет возможности интеграции в нее разнородных сетей, разработанных другими правительственными агентствами. Объединение таких сетей сегодня известно под названием Internet.

Набор протоколов TCP/IP включает в себя как протоколы сетевых уровней, так и протоколы поддержки приложений. Поскольку стек TCP/IP сегодня весьма широко распространен, многие из TCP/IP протоколов были использованы как базис для стандарта ISO. Более того, так как все спецификации протоколов TCP/IP являются открытыми и не требуют для использования оплаты каких-либо лицензий, они широко используются для создания сетевого окружения открытых систем. Тем не менее на практике существует два основных стандарта открытых систем – стек TCP/IP и ISO. Модель TCP/IP содержит четыре уровня:

IV уровень (уровень сетевого интерфейса) – самый нижний – соответствует физическому и канальному уровням модели OSI;

III уровень (уровень межсетевого взаимодействия) соответствует сетевому уровню семиуровневой модели и занимается передачей

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

II уровень (транспортный, или основной) включает в себя транспортный и сеансовый уровни в терминах ISO. Он «обращается» к межсетевому уровню, посылает и получает данные;

I уровень – последний – уровень прикладных программ, объединяющий уровень представления данных и прикладной уровень.

На рис..3 показаны некоторые из стандартов, связанных со стеком

TCP/IP.

Уровни 5–7

Уровень 4

Уровни 1–3

Пользовательские / прикладные процессы

Протокол переноса файлов FTP Протокол удаленного терминала TELNET Простой протокол передачи почты SMTP Протокол имен серверов NSP

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

TCP UDP

IP

IEEE 802.x / x.25

LAN / WAN

Рис. 3. Стек протоколов TCP/IP

Приблизительное соответствие уровней моделей OSI ISO и TCP/IP приведено в табл. 1.1.

 

 

Таблица 1.1

Номер

OSI ISO

TCP/IP

уровня

 

 

7

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

I. Уровень прикладных программ

6

Уровень представления данных

 

 

 

 

5

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

II. Транспортный (основной) уровень

4

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

 

 

 

 

3

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

III. Уровень межсетевого взаимодействия

2

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

IV. Уровень сетевого интерфейса

1

Физический уровень

 

 

 

 

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

ISO. Тем не менее, большинство возможностей, соответствующих уровням

ISO, включено в TCP/IP.

Несмотря на то, что долгое время модель TCP/IP имела достаточно узкое применение, находясь «в тени» семиуровневой схемы, сегодня она приобретает все бóльшую популярность. Ее актуальность связана прежде всего с распространением и развитием сетевых технологий Internet/Intranet, базирующихся на стеке протоколов TCP/IP, а также с более точным отражением процесса сетевого взаимодействия. В большинстве современных публикаций именно четырехуровневая модель принимается в качестве основы.

4.3. Стандарты открытых систем

Базовой моделью взаимодействия открытых систем являются стандарты. Любой проектировщик вычислительной сети, если бы задался целью построить свою сеть на основе международных стандартов ИСО (Международная организация по стандартизации) или рекомендаций МСЭ-Т (МККТТ

– Сектор телекоммуникаций Международного союза электросвязи) по взаимосвязям открытых систем (далее ВОС), которых к настоящему времени с учетом всех изменений (Amendments) и дополнений (Addendums) существует около 1000, столкнулся бы с огромной проблемой, что выбрать и как заставить работать вместе все части сети, к которым применялись различные стандарты.

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

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

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

В зависимости от статуса организаций различают следующие виды стандартов:

стандарты отдельных фирм (например, стек протоколов DECnet

компании Digital Equipment или графический интерфейс OPEN LOOK для Unix-систем компании Sun);

стандарты специальных комитетов и объединений, создаваемых несколькими фирмами, например стандарты технологии ATM или

стандарты союза Fast Ethernet Alliance по разработке стандартов 100

Мбит Ethernet;

национальные стандарты, например стандарт FDDI, один из многочисленных стандартов, разработанных Американским национальным институтом стандартов (ANSI), или стандарты безопасности для опе-рационных систем, разработанные Национальным центром компью-терной безопасности (NCSC) Министерства обороны США;

международные стандарты, например модель и стек коммуникационных протоколов ISO.

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

Тема 3. ПРОТОКОЛЫ ОТКРЫТЫХ СИСТЕМ

Лекция 5. Протоколы физического уровня

5.1. Функции физического уровня

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

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

При передаче данных по аналоговым каналам последовательность бит Х: проходит модуляцию/демодуляцию, характеристики последних обеспечивают согласование с физической средой. Модемы вместе со средой образуют дискретивный канал связи (рис. 2.1).

 

 

S: (t)

S: (t + )

X:

 

 

 

 

 

 

Yj

Модем

 

Физическая

 

Демодулято

 

 

среда

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4. Структура дискретного канала

S(t) и S(t+ ) определяют состояние аналоговых сигналов с задержкой при передаче их по физической среде;

Yj – последовательность бит на выходе дискретного канала.

Физический уровень состоит из двух подуровней (рис. 2.2):

подуровня, не зависящего от физической среды (Physical Media Independent – PMI);

подуровня, зависящего от физической среды (Physical Media Dependent – PMD).

Подуровни связаны посредством независящего от среды интерфейса

(Media Independent Interface – MII). Подуровень PMD через интерфейс, зави-

сящий от физической среды (Media Dependent Interface – MDI), сопряжен с устройством физического уровня (Physical Layer Device – PHY). Модель OSI не определяет какие-либо стандарты для физического уровня.

Физический уровень представляет канальному уровню следующее:

физическое соединение;

оконечные точки физических соединений;

идентификацию физических каналов передачи данных;

передачу последовательных бит;

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

5.2 Функции канального уровня

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

подуровень управления логическим линком (Logical Link Control – LLC) и подуровень управления доступом к среде (Media Access Control – MAC).

ISO

 

IEEE

 

Стандарты серии 802.x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сетевой

 

 

 

 

802.1

 

 

 

уровень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Канальный

 

LLC

 

 

802.2

 

 

 

уровень

 

MAC

 

Fast

 

Token

100VG-

 

 

 

 

 

Ethernet

 

 

 

Физический

 

PMI

Ethernet

 

Ring

AnyLAN

...

 

уровень

 

 

802.3

802.3u

 

802.5

802.12

 

 

PMD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5. Соответствие нижних уровней модели OSI уровням IEEE и стандартам серии 802.Х

Подуровень LLC обеспечивает интерфейс с сетевым уровнем и описывается стандартом IEEE 802.2. Этот подуровень при передаче информации отвечает за объединение данных в кадры с адресами и полями контроля, а при получении – за обработку кадров, включающую распознавание адреса, проверку контрольных кодов и распаковку.

Подуровень MAC, в свою очередь, разбивается еще на несколько уровней и описывается целым рядом стандартов (IEEE 802.3, 802.4, 802.5, 802.12 и др.) в зависимости от типа используемой среды передачи данных. Функции этого подуровня различны в зависимости от конкретного типа среды. Например, для технологии Fast Ethernet подуровень MAC ответствен за формирование своего кадра, в который вкладывается кадр LLC, получение доступа к разделяемой среде передачи данных и за отправку с помощью физического уровня кадра по физической среде узлу назначения. Разделяемая среда независимо от ее физической реализации в любой момент времени находится в одном из трех состояний – состоянии свободы, занятости или коллизии. Состояние занятости соответствует нормальной передаче кадра одним из узлов сети. Состояние коллизии возникает при одновременной передаче кадров более чем одним узлом сети. MAC-Подуровень каждого узла сети получает от физического уровня информацию о состоянии разделяемой среды. Если она свободна и у MAC-подуровня имеется кадр для передачи, то он передает его через физический уровень в сеть. Физический уровень одновременно с побитной передачей кадра следит за состоянием среды. Если за время передачи кадра коллизия не возникла, то кадр считается переданным. Если же за это время коллизия была зафиксирована, то передача кадра прекращается и в сеть выдается специальная последовательность из 32 бит (так называемая jam-последовательность), которая должна помочь однозначно распознать коллизию всеми узлами сети. После фиксации коллизии MAC-подуровень делает случайную паузу, а затем вновь пытается передать данный кадр. Случайный характер паузы уменьшает вероятность одновременной по-