Лекции 2010-го года (1130544), страница 5
Текст из файла (страница 5)
Транспортный уровеньОсновная функция транспортного уровня - принять данные с уровня сессии, разделить,если надо, на более мелкие единицы, передать на сетевой уровень и позаботиться, чтобывсе они дошли в целостности до адресата. Все это должно быть сделано эффективно и так,чтобы вышележащий уровень не зависел от того, как именно это было сделано. Внормальных условиях транспортный уровень должен создавать специальное сетевоесоединение для каждого транспортного соединения по запросу уровня сессии.
Еслитранспортное соединение требует высокую пропускную способность, то транспортныйуровень может потребовать у сетевого уровня создать несколько сетевых соединений,между которыми транспортный уровень буден распределять передаваемые данные. Инаоборот, если требуется обеспечить недорогое транспортное соединение, тотранспортный уровень может использовать одно и то же соединение на сетевом уровнедля нескольких транспортных соединений. В любом случае такое мультиплексированиедолжно быть незаметным на уровне сессии.Сетевой уровень определяет, какой тип сервиса предоставить вышележащим уровням ипользователям сети. Наиболее часто используемым сервисом является канал «точкаточка» без ошибок, обеспечивающий доставку сообщений или байтов в тойпоследовательности, в какой они были отправлены.
Другой вид сервиса - доставкаотдельных сообщений без гарантии сохранения их последовательности или, например,рассылка одного сообщения многим в режиме вещания. В каждом конкретном случаесервис определяют при установлении транспортного соединения.Транспортный уровень - это уровень, обеспечивающий соединение «точка-точка».Активности транспортного уровня на машине отправителя общаются с равнозначнымиактивностями транспортного уровня на машине получателя. Этого нельзя сказать проактивности на нижележащих уровнях. Они общаются с равнозначными активностями насоседних машинах.
В этом одно из основных отличий уровней 1-3 от уровней 4-7.Последние уровни обеспечивают соединение «точка-точка». Это хорошо видно нарисунке 1-13.Многие хост-машины - мультипрограммные, поэтому транспортный уровень для однойтакой машины должен поддерживать несколько транспортных соединений. Чтобыопределить, к какому соединению относится тот или иной пакет, в его заголовке (H4 нарисунке 1-9) помещается необходимая информация.23Транспортный уровень также отвечает за установление и разрыв транспортногосоединения в сети. Это предполагает наличие механизма именования, что значит, чтопроцесс на одной машине должен уметь указать, с кем в сети ему надо обменятьсяинформацией.
Транспортный уровень также должен предотвращать «захлебывание»получателя в случае «очень быстро говорящего» отправителя. Механизм для этогоназывается управление потоком. Он есть и на других уровнях. Однако, как мы увидимниже, управление потоком между хостами отличен от управления потоком междумаршрутизаторами.1.7.1.5. Уровень сессииУровень сессии позволяет пользователям на А-машинах (напомним, что пользователемможет быть программа) устанавливать между собой сессии. Сессия позволяет передаватьданные, как это может делать транспортный уровень, но, кроме того, этот уровень имеетболее сложный сервис, полезный в некоторых приложениях.
Например, он можетосуществлять вход в удаленную систему, передавать файл между двумя приложениями ит.п.Один из видов услуг на этом уровне - управление диалогом. Потоки данных могут бытьразрешены в обоих направлениях одновременно, либо поочередно в одном направлении.Сервис на уровне сессии будет управлять направлением передачи.Другой вид сервиса на этом уровне - управление маркером. Для некоторых протоколовнедопустимо выполнение одной и той же операции на обоих концах соединенияодновременно.
Для этого уровень сессии выделяет активной стороне маркер. Операциюможет выполнять тот, кто владеет маркером. Другим примером сервиса на этом уровнеявляется синхронизация. Пусть нам надо передать такой файл, что его пересылка займетдва часа, между машинами, время наработки на отказ у которых - один час. Ясно, что «влоб» передачу такого файла средствами транспортного уровня не решить.
Уровень сессиипозволяет расставлять контрольные точки. В случае отказа одной из машин передачавозобновится с последней контрольной точки.1.7.1.6. Уровень представленияУровень представления предоставляет решения для часто возникающих проблем, чемоблегчает участь пользователей. В основном это проблемы семантики и синтаксисапередаваемой информации. Данный уровень имеет дело с информацией, а не с потокомбитов.Типичным примером услуги на этом уровне является унифицированная кодировкаданных. Дело в том, что на разных машинах используются разные способы кодировкисимволов, например, ASCII, Unicode и т.п., разные способы представления целых - впрямом, обратном или дополнительном кодах, также нумерация бит в байте на разныхмашинах одной и той же сети может быть разная: слева направо или наоборот, и т.п.Пользователи, как правило, используют структуры данных, а не случайный набор байт.Чтобы машины с разной кодировкой и представлением данных могли взаимодействовать,передаваемые структуры данных определяются специальным абстрактным способом, независящим от кодировки, используемой при передаче.
Уровень представления работает соструктурами данных в абстрактной форме, преобразует это представление во внутреннеедля конкретной машины и из внутреннего, машинного представления, в стандартноепредставление для передачи по сети.241.7.1.7. Уровень приложенийУровень приложений обеспечивает работу часто используемых протоколов. Cуществуютсотни разных типов терминалов. Если мы захотим создать сетевой экранный редактор, тонам придется прописывать для каждого типа терминала свою версию.Есть другой путь: определить сетевой виртуальный терминал и написать для негоредактор.
Для каждого типа терминала написать программу отображения этого терминалана сетевой виртуальный терминал. Все программное обеспечение для виртуальногосетевого терминала расположено на уровне приложений.Другой пример - передача файлов. Разные операционные системы используют разныемеханизмы именования, представления текстовых строк и т.д. Для передачи файловмежду разными системами надо преодолевать все такие различия. Для этого естьприложение FTP, также расположенное на уровне приложений.
На этом же уровненаходятся: электронная почта, удаленная загрузка программ, удаленный просмотринформации и т.д.1.7.1.8. Передача данных в МОС-моделиНа рисунке 1-14 показана последовательность действий при передаче данных в МОСмодели. Хотя данные движутся вертикально, каждый уровень предполагает ихгоризонтальное передвижение. Здесь аналогия с синхронным переводом.
Когда ораторговорит перед нами на урду, то он считает, что он обращается к нам. Не тут-то было! Онобращается к переводчику, а тот уже обращается к нам.Рисунок 1-14. Пример передачи данных в модели МОС1.7.2. Эталонная модель TCP/IPЗдесь мы рассмотрим другую эталонную модель, прототипом для которой послужилпрародитель всех компьютерных сетей - сеть ARPA. Позднее мы рассмотрим историюэтой сети. Сейчас лишь отметим, что эта сеть образовалась в результате научноисследовательской работы, проведенной по инициативе Министерства Обороны США.Позднее к этому проекту подключились сотни университетов и государственныхучреждений Америки.
С самого начала эта сеть задумывалась как объединение25нескольких разных сетей. Одной из основных целей этого проекта было разработатьунифицированные способы соединения сетей. С появлением спутниковых и радиоцифровых каналов связи проблема становилась только актуальнее. Так появилась модельTCP/IP.
Свое название она получила по именам двух основных протоколов: TCP протокол управления передачей (Transmission Control Protocol), и IP - межсетевойпротокол (Internet Protocol).Другой целью проекта ARPA было создание протоколов, не зависящих от характеристикконкретных хост-машин, маршрутизаторов, шлюзов и т.п. Кроме этого, связь должнаподдерживаться, даже если отдельные компоненты сети будут выходить из строя во времясоединения. Другими словами, связь должна поддерживаться до тех пор, пока источникинформации и получатель информации работоспособны.
Архитектура сети не должнаограничивать приложения, начиная от простой передачи файлов до передачи речи иизображения в реальном времени.1.7.2.1. Межсетевой уровеньВ силу вышеперечисленных требований выбор организации транспортной среды былочевиден: сеть с коммутацией пакетов с межсетевым уровнем без соединений. Этотуровень называется межсетевым уровнем.
Он является основой всей архитектуры. Егоназначение - обеспечить доставку пакетов, движущихся в сети независимо друг от друга,даже если получатель принадлежит другой сети. Причем пакеты могут поступать кполучателю не в том порядке, в котором они были посланы. Упорядочить их внадлежащем порядке - задача вышележащего уровня.Межсетевой уровень определяет межсетевой протокол IP и формат пакета. Обратитевнимание, что ни протокол, ни формат пакета не являются официальнымимеждународными стандартами, в отличие от протоколов эталонной модели МОС.