В. Столлингс - Операционные системы (1114679), страница 159
Текст из файла (страница 159)
В настоящее время почти все авшикн компьютеров обеспечивают поддержку этой архитектуры. ,Х. НЕОБХОДИМОСТЬ АРХИТЕКТУРЫ ПРОТОКОЛОВ - -:. С В процесс обмена информацией между компьютерами, терминалами и/или ими предназначенными для обработки данных устройствами могут вонле.ся довольно сложные процедуры. Рассмотрим, например, передачу файла от >го компьютера к другому.
Для этого между двумя компьютерами должен ествовать путь для данных, реализованный либо напрямую, либо с помощью предназначенной для обмена информацией. Однако этого недостаточно. чно нужно выполнить такие задачи. Передающая система должна либо активизировать прямой канал передачи данных, либо сообщить в сеть идентификатор той системы, для которой она передает данные.
Передающая система должна убедиться в том, что система-получатель гото- ва к приему данных. Приложение передачи Файлов, которое находится на передающей системе, должно убедиться, что программа управления файлами системы-получателя го- това принять и сохранить файл, предназначенный для данного пользователя. Если Форматы файлов, которые используются на двух обменивающихся информацией системах, несовместимы, то одна из них должна выполнить преобразование формата. Ясно, что между такими двумя компьютерными системами должно быть шо налажено взаимодействие.
Эта сложная задача реализуется не в виде одмодуля, а разбивается на подзадачи, каждая из которых реализуется отно. В архитектуре протоколов эти модули размещаются в виде вертикальной ктуры. Каждый из уровней структуры выполняет определенный набор сций, необходимых для обмена информацией с другой системой. Работа као уровня основывается на более низком уровне, н котором выполняются бозростые Функции, и таким образом скрываются детали выполняемых Функ- Каждый уровень предоставляет сервисы ближайшему уровню, который натся выше него. В идеале уровни должны быть определены так, чтобы кения в одном из них не влекли за собой изменений в других. В обмене информацией, несомненно, участвуют дне системы, поэтому в обеистемах должен быть задан один и тот же набор разбитых на уровни функ- Обмен информацией происходит тогда, когда удается наладить взаимодейе соответствующих (или равных (реег)) уронней обеих систем.
Равные уровбмениваются блоками данных заданного формата„определяющихся набором ил или соглашений, которые называются протоколом (ргоСосо1), Основные "нности протокола такие: ° синтаксис (эуп$ах) — определяет формат блоков данных; «семантика (аетапйсв) — содержит в себе управляющую информацию предназначенную для координации и обработки ошибок; ° синхронизация (Ыгп1щ) — включает в себя согласование скоростей и уста новление последовательности данных. 1А-'.2. АРХИТЕКТУРА ПРОТОКОЛОВ ТОР/П~~Щ Архитектура протоколов ТСР/1Р, известная как набор протоколов ТСР/1Р, возникла в результате исследований в области протоколов и разработок, выполняншихся н экспериментальной сети с коммутацией пакетов под названием АКРАХЕТ, которая была основана Управлением перспективных исследовательских программ Министерства обороны США (1)еХепзе Адчапсей ВенеагсЬ Рго)есина Ааепсу — 0АВРА).
Этот набор протоколов состоит из большого собрания протоколов, изданных Координационным советом по сети 1п$егпе$ (1п1егпе$ Ас(1у1г1ен Воат — 1АВ) н качестве стандартов для 1пгегпей. В общем можно сказать, что в обмене информацией принимают участие три агента: приложения, компъютеры и сети. К приложениям относятся программы, предназначенные для передачи файлов и для электронной почты. Приложения, о которых здесь пойдет речь, являются распределенными приложениями, включающими в себя обмен данными между двумя компьютерными системами.
Эти и другие приложения выполняются на компьютерах, которые зачастую могут поддерживать параллельную работу нескольких приложений. Компьютеры соединены между собой в сети, и предназначенные для обмена данные передаются по сети от одного компьютера на другой. Таким образом, передача данных от одного приложения другому включает в себя, но-первых, получение данных тем компьютером, на котором находится приложение-адресат, и, во-вторых, получение данных именно тем выполняющимся на компьютере-адресате приложением, которому они предназначены. Ввиду этого н задаче обмена информацией естественно выделить пять относительно независимых уровней: ° Физический уровень (рЬуэ1са1 1ауег); ° уровень доступа к сети (пе1иогЫ ассевэ 1ауег); ° межсетевой уровень (1п$гапе1 1ауег); ° транспортный уровень (Коза,-го-Ьов1 1ауег илн $гапнрог$ 1ауег); «уровень приложений (арр11са$1оп 1ауег). На Физическом уровне находится Физический интерфейс между устройством передачи данных (т.е.
рабочей станцией или компьютером) и передающей средой или сетью. На этом уровне задаются характеристики передакпцей среды, природа сигналов, скорость передачи данных и другие и д подобные характеристики. Уровень доступа к сети связан с обменом данными между конечной системой (сервером„рабочей станцией и т и.) и сетью, к которой подсоединена эта система. Компьютер-отправитель должен передать в сеть адрес компьютера- адресата, чтобы сеть могла направить данные по месту назначения.
Компьютеру- отправителю могут понадобиться определенные сервисы, такие, как предоставляемый сетью приоритет. Вид используемых на этом уровне программ зависит от типа сети; разработаны различные стандарты для сетей с коммутацией каналов, коммутацией пакетов (например, Х.25), локальных сетей (1оса1 Агеа Хе$— 1.АХ) (например, ЕкЬегпет) и других, Таким образом, имеет смысл выделить функции, связанные с предоставлением сетевого доступа, в отдельный уровень. С помощью этого приема удается избавиться от необходимости рассматривать в остальных программах, предназначенных для обмена информацией на более высоких уровнях доступа к сети, специфические вопросы устройства используемых сетей.
Одни и те же программы более высоких уровней должны правильно работать независимо от того, к какой сети подключен компьютер. Уровень доступа к сети рассматривается в связи с доступом к сети и маршрутизацией данных между двумя подключенными к одной сети конечными системами. В тех случаях, когда устройства подключены к разным сетям, нужны дополнительные процедуры, позволяющие данным переходить из одной сети в другую, если эти сети соединены меясду собой. Такие функции относятся к межсетевому уровню. На этом уровне функции межсетевой маршрутизации предоставляются с помощью 1п$егпет,-протокола (1птегпет, Рго1осо1 — 1Р). 1пСегпе1- протокол реализован не только в конечных системах, на и в маршрутизаторах.
Маршрутизатор — это обрабатывающее устройство, которое соединяет две сети и основной функцией которого является передача данных из одной сети в другую на их пути от одной конечной системы к другой. Независимо от природы приложений обмен данными должен быть надежным. Т.е. хотелось бы иметь уверенность в том, что все данные попали к приложению-адресату и что зти данные получены в том порядке, в котором они отправлены.
Как вы увидите, механизмы обеспечения надежности, по сути, независимы от природы приложений. Таким образом, имеет смысл выделить такие механизмы в один общий уровень, совместно используемый всеми приложениями", он называется транспортным уровнем. Чаще всего для этого применяется протокол управления передачей (Тгапапт1взтотт Саптгот Рго1осо1 — ТСР). Наконец, в уровень приложений заложена логика, необходимая для обеспечения Работы различных пользовательских приложений. Приложению каждого вида (например, программе передачи файлов) нужен отдельный модуль, специально предназначенный для этого приложения.
Работа протоколоВ ТСР и 1Р На рис. А.Х показано конфигурирование этих протоколов для обмена информацией. Чтобы было ясно, что средство связи в целом может состоять из нескольких сетей, составляющие сети обычно называются подсетя.тки (зиЬпеЬуогтсз). Для подключения компьютера в подсеть используется некоторый протокол доступа к сети, например ЕФ)тегпе1.
Этот протокол позволяет узлу пересылать данные по подсети другому узлу; если же узел-получатель находится в другой подсети, данные попадают на маршрутизатор, Протокол 1Р реализован на всех конечных системах и маршрутизаторах. При передаче данных от одного уз- увела Лорт 1точка доступа к сервису~ приво'кение Логичсскоесоединение (соединение ТСР) ТСР Протокол доступа к сети Ве2 Логическое соединение (например, виртуальнав сеть), Раув|се! Рпуваа3 Адрес точки подключения к подсети Ма ш ивето 1 Р г / е Г г Точка входа Точка входа всетьт всеть2 Рос. А.1. Ко~щегтттии арогвжозое ТСР~1Р Чтобы обмен информацией был возможен, каждый элемент системы должет иметь уникальный адрес. Фактически нужно задать два уровня адресации.
Каж дый узел подсети должен обладать своим уникальным глобальным сетевым ядре сом; это позволит доставить данные соответствующему узлу. Каждый процес' узла должен иметь адрес, который был бы уникальным в пределах этого узла что позволит транспортному протоколу (ТСР) доставить данные нужному про цессу, Этот адрес известен как порт. ПРоследим за выполнением простой операции. Предположим, что процессу выполняющемуся на узле А и связанному с портом 1, нужно отправить сообщени другому процессу, связанному с портом 3 на узле В. Процесс на узле А передает про токоату ТСР сообщение с инструкциями, предписывающими отправить его в порт ' узла В. Протокол ТСР передает сообщение протоколу 1Р, снабжая это сообщение ив с"Рукциямтт отправить его на Узел В Обратите внимание„что протоколу 1Р не нужн сообщать идентиФикатор порта назначения.
Все, что ему нужно знать, — это сам1 данные и идентификатор узла В. После этого протокол 1Р передает сообщение н Ур~вень доступа к сети (например, протоколу ЕФ)тегпеФ), снабжая его инструкциям1 отправить это сообщение маршрутизатору Ю (первый ретранслятор на пути к узлУ В) ла другому с промежуточным прохождением одного или нескольких маршрут заторов этот протокол действует как релейная станция.