Р.Л. Смелянский - Компьютерные сети. Том 2. Сети в ЭВМ (1130083), страница 3
Текст из файла (страница 3)
Как видно из рис. 1.2, сетевой уровень является границей транспортной среды. Поскольку за использование транспортной среды, как правило, предполагается оплата, то на этом уровне присутствуют функции учета числа байтов (или символов), которые послал и получил абонент сети.
Причем, если абоненты расположены в разных странах, где действуют различные тарифы, необходимо должным образом скорректировать цену услуги. Если пакет адресован в другую сеть, т, е, в другую транспортную среду, то при его передаче требуется предпринять надлежащие меры для учета различия форматов пакетов в разных транспортных средах, различия способов адресации, допустимых размеров пакетов и т.д.
Все эти проблемы решаются шлюзом (см. устройство г«на рис. 1.1) На сетевом уровне. Транспортный уровень Основная функция транспортного уровня — принять данные с вышерасположенного уровня сессии, разделить их, если требуется, на более мелкие единицы — сегменты, передать на сетевой уровень и позаботиться, чтобы все они дошли в целости до адресата.
Все это необходимо сделать эффективно и так, чтобы вышерасположенный уровень не зависел от того, как именно это было сделано. В нормальных условиях транспортный уровень должен создавать специальное сетевое соединение для каждого транспортного соединения по запросу уровня сессии. Если для транспортного соединения требуется высокая скорость передачи, то транспортный уровень может потребовать у сетевого уровня создания нескольких сетевых соединений, между которыми транспортный уровень будет распределять передаваемые данные.
И наоборот, если требуется обеспечить недорогое транспортное соединение, то транспортный уровень может использовать одно и то же соединение на сетевом уровне для нескольких транспортных соединений. В любом случае такое мультиплексирование должно быть незаметным на уровне сессии. Сетевой уровень определяет, какой тип сервиса предоставить вышерасположенным уровням и пользователям сети. Наиболее часто используемым сервисом является канал типа «точка — точкагь без ошибок обеспечивающий доставку сообщений или байтов в той послеловательности, в какой они были отправлены. Другим видом сервиса является доставка отдельных сообщений без гарантии сохранения их последовательности или, например, рассылка одного 11 сообщения многим в режиме вещания.
В каждом конкретном случае сервис определяют при установке транспортного соединения. Транспортным называется уровень, обеспечиваюший соединение типа точка — точка. Активности транспортного уровня на машине отправителя общаются с равнозначными активностями транспортного уровня на машине получателя. При этом машина-отправитель и машина-получатель не обязаны быть соседними (см.
рис. 1.2). Этого нельзя сказать про активности на нижерасположенных уровнях, которые обшаются с равнозначными активностями на соседних машинах. В этом заключается одно из основных отличий уровней 1 ... 3 от уровней 4 ... 7. Последние обеспечивают соединение типа точка — точка, что хорошо видно из рис. 1.2. Внимательно сравнив рис. 1.2 с рис. 1.2 из т. 1 данного учебника, увидим, что если А-машины с Я-машинамн взаимодействуют на физическом, канальном, сетевом и других уровнях, то с СПД они взаимодействуют только на физическом и канальном уровнях. Сетевой уровень СПД сугубо внутренний. Многие А-машины мультипрограммные, поэтому транспортный уровень для одной такой машины должен поддерживать несколько транспортных соединений.
Чтобы определить, к какому соединению относится тот или иной пакет, в его заголовке (см. Н« на рнс. !.4) помещается необходимая информация. Транспортный уровень также отвечает за установление и разрыв транспортного соединения в сети. Это предполагает наличие механизма именования, т.е. процесс на одной машине должен уметь указать, с кем в сети ему следует обменяться информацией. Транспортный уровень также должен предотвращать «захлебывание» получателя при обращении с «очень быстро говорящим» отправителем. Механизм такого предотвращения, называемый улравлением потоком, имеется и на других уровнях.
Однако, как мы увидим далее, управление потоком между А-машинами в сети отличается от управления потоком между Я-машинами (маршрутизаторами). Уровень сессии В модели 1ЯО уровень сессии позволяет пользователям А-мацкин (напомним, что пользователем может быть программа) устанавливать между собой сессии. Сессия позволяет передавать данные, как это может делать транспортный уровень, а кроме того, этот уровень имеет более сложный сервис, полезный в некоторых приложениях. Например, на уровне сессии можно осуществлять вхол в удаленную систему, передавать файл между двумя приложениями и т.д.
Одним из видов услуг на этом уровне является унравление диалогом. Потоки данных здесь могут быть разрешены одновременно в обоих направлениях либо поочередно в одном направлении. Сервис на уровне сессии будет управлять направлением передачи. 12 Другой вид сервиса на уровне сессии — управление маркером. Для некоторых протоколов недопустимо выполнение одной и той же операции на обоих концах соединения одновременно. В этом случае уровень сессии выделяет активной стороне маркер, и операцию может выполнять только тот, кто владеет маркером. Также примером сервиса на уровне сессии является синхронизация.
Пусть требуется передать файл, время пересылки которого составит два часа, между машинами, время наработки на отказ у которых — один час. Ясно, что «в лоб» передачу такого файла средствами транспортного уровня не решить. Уровень сессии позволяет расставлять контрольные точки. В случае отказа одной из машин передача возобновится с последней контрольной точки. Уровеньпредотввления В модели 1ЫО уровень представления обеспечивает решение часто возникающих проблем, связанных с представлением данных при передаче.
В основном это проблемы семантики и синтаксиса передаваемой информации. Данный уровень имеет дело с информацией, а не с потоком битов. Типичным примером услуги на этом уровне является унифициро' ванная кодировка данных. Дело в том, что на разных машинах используются разные способы кодировки символов, например АВС!1, 13п1соде и другие, а также разные способы представления целых: в прямом, обратном или дополнительном коде. Нумерация битов в байте на разных машинах одной и той же сети тоже может быть раз. ная, т.е.
слева направо или справа налево, и т.д. Пользователи, как правило, используют структуры данных, а не случайный набор байтов. Чтобы машины с разными кодировкой и представлением данных могли взаимодействовать, передаваемые структуры данных определяются специальным абстрактным способом, не зависящим от кодировки„используемой при передаче.
Уровень представления работает со структурами данных в абстрактной форме, преобразует это представление во внутреннее представление для конкретной машины и из внутреннего машинного представления в стандартное представление для передачи по сети. Уровень приложений Уровень приложений обеспечивает работу часто используемых приложений, например передачу файлов. Разные операционные системы используют разные механизмы именования, представления текстовых строк и т.д. Для передачи файлов между разными системами необходимо преодолевать полобные различия, Чтобы пользователям не приходилось каждый раз заново бороться с этими трудностями на уровне приложений имеется приложение ГТР.
На уровне приложений находятся также такие часто используемые приложения, как электронная почта, удаленная загрузка программ, удаленный просмотр информации и т.л. 1.1.3. Модель ТСР/!Р Рассмотрим другую эталопцук~ модель, прототипом для которой послужил праролитель Интернета — сеть АКРА. Далее будет приведена история создания этой сети, а сейчас лишь отметим, что она была создана в результате. научно-исследовательских работ, проведенных по инициативе Министерства обороны США.
Позднее к этому проекту подключились сотни университетов и государственных учрежлений С ША. С самого начала эта сеть задумывалась как объединение нескольких разных сетей. Одной из основных целей этого проекта была разработка унифицированных способов соединения сетей для создания систем передачи данных, обладающих высокой живучестью. Под живучестью понимается способность системы сохранять в приемлемых пределах качество и объемы предоставляемого сервиса при выходе из строя ее компонентов.
Так появилась модель ТСР/1Р, получившая название по именам двух основных протоколов: протокола управления передачей — ТСР (Тгапапцааюп Сопгго1 Ргогосо!) и межсетевого протокола — 1Р (1пгегпе! Ргогосо!). Другой целью проекта АКРА было создание протоколов, не зависящих от характеристик конкретных А-машин, маршрутизаторов, шлюзов и т. и. Кроме того, связь должна была поддерживаться, даже если отдельные компоненты сети стали выходить из строя во время соединения.
Другими словами, связь в этой сети должна поддерживаться до тех пор, пока источник информации и получатель информации работоспособны. Архитектура сети АКРА не должна была ограничивать приложения, начиная от простой передачи файлов до передачи речи и изображения в реальном времени. Межсетевой уровень В силу приведенных требований выбор организации транспортной среды был очевиден: сеть с коммутацией пакетов с межсетевым уровнем без соединений. Такой уровень. называемый межсетевым, является основой всей архитектуры сети. Его назначение — обеспечить доставку пакетов, движущихся в сети независимо друг от друга, даже если получатель принадлежит лругой сети.
Причем пакеты могут поступать к получателю не в том порядке, в котором они были посланы. Упорядочить их в надлежащем порядке — задача вьпперасгюложенного уровня. !4 Межсетевой уровень определяет межсетевой протокол !Р и формат пакета. Обратим внимание, что ни протокол, ни формат пакета не являются официальными международными стандартами в отличие от протоколов эталонной модели ОВ1, в которой большинство протоколов имеют статус международных стандартов. Итак, назначением межсетевого уровня в модели ТСР/!Р является доставка 1Р-пакета по назначению и по оптимальному маршруту.