К. Закер - Компьютерные сети. Модернизация и поиск неисправностей (953092), страница 15
Текст из файла (страница 15)
Например, употребить примитив Б-ТОКЕИ-ОТЧЕ вместо примитива Я-ТО%ЕЙ-РЕЕАБЕ, илн применить озглаейванное разьединение вмеагэупарядиченного. Приложения-:аазщнот контрольные точки, чтобы сохранить свае текущее состоянис: На диске на случай снетемнога Сбоя.: Во Время разработки модели ОЯ зтат метам:,более широко использовался; нежели сейчас. Как и в случае с процессамж:уцрявлсния диалогом, которые обсуждались ранее, процедура расстановки игвпральных точек должна быль явна'определена разработчиком, если в ней есть необходимость. Когда приложение вовлекло во взаимодействие через сезт, две системы, контрольная точка должна обеспечить сохранейие состояния обейх сйстем в адин и тот же.,момент.
Выполнить согласованное-дейсзвие.иа двух различных компьгатерах в точно определенный момент"почти невазможнз. Системы могут осуществлять тысячи действий в секунду, и их синхронизация должна быть точна настолько, насколько,это необходимо з)ля одгвзвремен; ного выполнения конкретной задачи.
Вдобавок возникает прсблелш сообщений, которые могут быть еще в пути во время создания контрольной точки. В результате разделение диалога посрелством сохранения контрольной точки в определенном месте потока ланных, пересылаемого между двумя системами, оказывается точнее, чем выполнение этого действия в опрллеленный момент времени. В полудуплексном режиме процесс создания контролычьзх точек сравнительно прост. Одна система создает точку контроля и отправляет примитив, называемый Б-ВУДС-ВПРОК Другая система„получив этот примитив, создает свою собственную точку контроля, уверенная в том, что во время синхронизации не осталось данных, находящихся в процессе передачи. Такой прош:сс называется лрослюй слгсгролцзлцлел (шлог .ц~лсЗггол(лгглгл~,' так как он работает с потоком данных, следующим только в одном направлении, и 'требует только одной операции обмена управляющими сообщениями.
В дуплексном (полнодуплексном) режиме также возможно применение црвстой синхронизации. Для этого используется специальный згарлер-гуосляху силхлолизлцли, который удерживает обе системы от олнолрлыенной передачи примитива Я-БУМС-МЗХОК. Если бы было возможно переключиться из дуплексного режима в полудуплексный, не разрывая соединения, то в применении дополнительного маркера не было бы необходимости, но переключиться между режимами Невозможно. Это как раз то, что многие люди считают основным недостатком в спецификации Сеансового уровня В большинстве случаев системы, использующие дуплексный режим соединения, должны выполнять слажлую сицхронизацию (ллуог ~згсЗглзл(глглл(З~ которая отвечает не только за график, который может перелаватыя и обоих'направлю пнях, но также и за скоростной график.
Примитив 8-ЕЗ(РЕППНЭ позволяет осуществить передачу от одной системы к другой, используя высокоскоростной канал, отделенный от обычных коммуникационных'каналов. Выполняя рассматриваемую синхронизацию, система, владеющая мауксЗхззг сиасчой сллхроиизацли (лаут/асгп Зу голец), отправляет примитив Ь-Ь гЗЧС МАЗОК а жтем останавливает передачу до тех пор, пока не получит ответ. Тем:не менее, система, пославшая этот примитив, не может пока еще созггать контргвгьную точку, как это легко получается при простой синхронизации, поеквльку тра.— фик от другой. системы в данный момент может еще передавюъсзь Получив примитив, принимающая сторона может созднгь сл(зв..кантрольную точку, так как все переданные ей данные уже принягм„вклйчая'сратиые,' которые лолжны были прибыть до получения примг)тйла; Затем" Принимающая система переллет подтверждающий ответ через обычный кана)т и специальное сообщение РКЕРАКЕ через канал срочной связи.
Система, инициировавшая процедуру синхронизации,' получает сначала лов6ление РКЕРАКЕ, а затем подтверждение. После чего она мсокет приступить к созданию своей точки контроля. з зжко Предстаеюнфпьский уровень В отличие от Сеансового уровня, который обеспечивает множество различных функций,: Представительский уровень имеет талько одну.
На самом деле болыпую чисть'времени Представительский уровень в основном функ» ционирует как с~ужба лерегода ~розг-довлей мпФгу; Это значит, что он получает примитивы от Прикладного уровня н передает их дубликаты вниз Сеансовому.тровню, используя точку дословна л сгаалсу 37ргдсщавитгльслого ураалл ~РЗАР Рпмлгайол 5Ьисг Ассггз Ротд и щажу досщула х сервису Сгалгогого Мюакя 6ЯИР, баайщ 5егтке Агсгзз Рохля. Все рассуждения предыдущих разделов аб:ищтольэованни приложениями служб Сеансового уровня в действительнооаи, хотя и неявно, уже затрагивали вопросы„связанные со службой перыюда Представительского уровня, так как процессы на любом уровне модели..ОЯ мат непосредственно взаимодействовать только с соседними уровнями В то время кж основные функции примитивов не,-изменяются в процессе прохолщения-ими Представительского уровня, сами, примитивы могут быть подвергнугы процессу перевода, являющемуся основной Функцией уровня Приложение создает запрос к сетевым ресурсам, используя свой "родной" синтаксис, аанакп язык системы, принимающей запрос, может быть отличным.
Например;-:соединение между РС и мзйнфреймом может потребовать перекодирования сообщений из АзСП в ЕВСП1С Системы могут. также применять шифрование и/или сжатие данных, перелаваемых через сеть. Процесс перевала;осуществляется а лве фазы, одна из ииорых выполнжтся на Представительском уровне каждой из сиатем.
Каждый из компьютеров подлервзщает.абгщрокгллмй слнлкгхсвс, который преаставляет с~бой "родной" синтаксис.прнщвкення, выполняемого в системе, н аиилаксис лгу»дачи„используемый для доставки данных через сап Представительский уровень системы, отправляющей сообщение, перевапит данные из формата, соответствующего абстрактному синтаксису, в формат синщксиса передачи, а затем передает их:яннз Сеансовому уровню. Когда сообщение достигает систаиыполучателя, тот же Представительский уровень переводит ланные из синтаксиса передачи и"абстрактный синтаксис приложения, принимающего сообщение.
Выбор Финтаксиса передачи для каждого абстрактного синтаксиса основывается на соглашении, которое достигается после установления соединения Представи~юю уровня между двумя,системами. В зависимости от требований приложения и природы сосщиненил между системами, синтагма щй1рда ~м может поддерживать шифрование янфорхшции, сжатие данных или йросто преобразование. как» М4Ф5чав Сеансового уровня, соединения г|радставктельсйосо уровня не является синонимам соединений, устанавливаемых на нижних уровнях. Также Главк я Эталонная сегевзя ькщепь Оя нет непосредственного взаимодействия между Предстеизтепьакнми уровнявм двух систем.
Соабщення спускаются вниз через стек протоксиюв к физической среде н в системе-получателе поднимаются вверх ла стеку к Представзйеяьскому уровню. Цюцесс сееяасвяапяя сшапаксиса начинается„когла система, использует примитив Р-СОМЧЕСТ дзя того, чтобы передать набор предсщаеитеяьаких,калпмкспюя, состоящий из пар, сложенных, в свою очередь, из абсгщкпггпиых контекстов и коптексгпоя передачи, поддерживаемых ланной системой.
Каждому представительскому контексту в качестве номера присваивается'нечетное целое число, называемое идеппядрикипюраи предстаяипмяьакяго юляпекста. Таким сообщением система информирует другую систему о возмсзкностях своего Представительского уровня. Сообщение может содержпть множество контекстов передачи лля каждого абстрактного контекста, что дает принимающей системе возможность выбора. Получив сообщение Р-СОМХЕСТ, система-адресат передает представительский контекст процессам Прикладного уровня, которые решают, какдй из контекстов передачи, поддерживаемых каклым абстрактным контеиштяя„ они хотят использовать.
Датем система-получатель возвращает список. юзнтекстов отправителю. В нем для каждого абстрактного контекста указы либо один выбранный контекст перелачи, либо добавлено сообщение об ошибке. Этот список, после получения его первоначальным отправителем, становится набором оговоренных коюиекопое. Сообщение об ошибке: свидетельствует, что принимающая система не поддерживает ни адин из,контек-. стов передачи лля определенного абстрактного контекста, Кагдд процесс согласования завершен, системы могут предложить новый представительский контекст в дополнение к набору оговоренных контекстов или улалить контекст из набора, используя примитив Р-А1.ТЕК-СО1чТЕХТ Прикладной уровень Расположенный на вершине стека протоколов Прикладной уровень является источником и приемником лля всех перелаваемых через сеть сообщений Все процессы, обсуждаемые в предылуших разделах, инициируются приложением, которому требуется получить доступ к сетевому ресурсу.
Процессы Прикладного уровня, тем не менее, не обязательно являются сийозппкжи самих приложений, Например, при использовании текстового процессора для открытия документа, 'сохраненного на сервере, запрос перенаправляется в 'звзкальную Сйъ'. С~и 'теКстовый процессор не предусматривает'проаесса Прикладного уровня, необходимого для доступа к файлу. В больтпинсгве случаев зту функцию выполняет элемент операционной системы, который умеег рыличагь запросы, направленные к файлам на локальных дисках и к файлам, расположенным в сети. Некоторые приложения, однако, разработаны специально для доступа к сетевым ресурсам.