Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Т2. Связь_Таненбаум_СРС_ПРИС.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.59 Mб
Скачать

2.1. Уровни протоколов 83

Э то название обычно заменяется сокращением модель ISO OSI, или просто мо­дель OSI. Следует заметить, что протоколы, которые должны были реализовы-вать части модели OSI, никогда не получали широкого распространения. Однако сама по себе базовая модель оказалась вполне пригодной для исследования ком­пьютерных сетей. Несмотря на то что мы не собираемся приводить здесь полное описание этой модели и всех ее дополнений, небольшое введение в нее будет нам полезно. Дополнительные детали можно почерпнуть в [446].

Модель OSI разрабатывалась для того, чтобы предоставить открытым систе­мам возможность взаимодействовать друг с другом. Открытая система — это система, которая способна взаимодействовать с любой другой открытой систе­мой по стандартным правилам, определяющим формат, содержимое и смысл от­правляемых и принимаемых сообщений. Эти правила зафиксированы в том, что называется протоколами {protocols). Для того чтобы группа компьютеров могла поддерживать связь по сети, они должны договориться об используемых прото­колах. Все протоколы делятся на два основных типа. В протоколах с установле­нием соединения {connection-oriented) перед началом обмена данными отправи­тель и получатель должны установить соединение и, возможно, договориться о том, какой протокол они будут использовать. После завершения обмена они должны разорвать соединение. Системой с установлением соединения является, например, телефон. В случае протоколов без установления соединения {connec­tionless) никакой подготовки не нужно. Отправитель посылает первое сообще­ние, как только он готов это сделать. Письмо, опущенное в почтовый ящик, — пример связи без установления соединения. В компьютерных технологиях ши­роко применяется как связь с установлением соединения, так и связь без уста­новления соединения.

В модели OSI взаимодействие подразделяется на семь уровней, как показано на рис. 2.1. Каждый уровень отвечает за один специфический аспект взаимодей­ствия. Таким образом, проблема может быть разделена на поддающиеся реше­нию части, каждая из которых может разбираться независимо от других. Каж­дый из уровней предоставляет интерфейс для работы с вышестоящим уровнем. Интерфейс состоит из набора операций, которые совместно определяют интер­фейс, предоставляемый уровнем тем, кто им пользуется.

Когда процесс А на машине 1 хочет пообщаться с процессом В на машине 2, он строит сообщение и посылает его прикладному уровню своей машины. Этот уровень может представлять собой, например, библиотечную процедуру или реа-лизовываться как-то иначе (например, внутри операционной системы или внеш­него сетевого процессора). Программное обеспечение прикладного уровня до­бавляет в начало сообщения свой заголовок {header) и передает получившееся сообщение через интерфейс с уровня 7 на уровень 6, уровень представления. Уровень представления, в свою очередь, добавляет в начало сообщения свой за­головок и передает результат вниз, на сеансовый уровень и т. д. Некоторые уров­ни добавляют не только заголовок в начало, но и завершение в конец. Когда со­общение дойдет до физического уровня, он осуществит его реальную передачу, как это показано на рис. 2.2.