Полный курс лекций 2009-го года (1130357), страница 3
Текст из файла (страница 3)
Таким образом, возникает как бы два вида взаимодействия: виртуальное – междуодноименными уровнями в сети (президентами), и непосредственное – между парой соседних уровней(президент-переводчик, переводчик-секретарь).Рисунок 1-8. Разговор президентов двух разных стран1.6.2. Основные понятияМежду каждой парой уровней есть интерфейс.
Интерфейс определяет, какие услуги (сервис)нижележащий уровень должен обеспечивать для верхнего уровня, и с помощью каких примитивов элементарных операций – верхний уровень может получить доступ к этим услугам. Интерфейсобеспечивает вышележащему уровню доступ к сервису нижележащего уровня. Например, как президентможет подключить (отключить), если он на это имеет право, переводчика к его разговору с другимпрезидентом.Набор уровней и протоколов называется архитектурой сети.
Описание архитектуры сети должносодержать достаточно информации, чтобы разработчик сетевого программного обеспечения могразработать надлежащие программы для каждого уровня, а инженер электронщик - надлежащуюаппаратуру. Ни вопросы реализации, ни определения интерфейсов не относятся к архитектуре сети.Конкретный набор протоколов, используемый на конкретной машине, называется стеком протоколов.Архитектуры сетей, стеки протоколов, сами протоколы - вот основные предметы, рассматриваемые вданном курсе.Рисунок 1-9. Пример организации потока информации при виртуальномвзаимодействии уровней 5При передаче сообщения между уровнями над сообщением выполняются определенныепреобразования, показанные на рисунке 1-9. Здесь на каждом уровне к сообщению добавляетсязаголовок.
Заголовок содержит управляющую информацию - кому адресовано сообщение, время, дату,порядковый номер и т.д. На уровне 3 исходное сообщение уровня 4 разбивают на два, поскольку длинасообщения уровня 4 с заголовком уровня 3 превышает заранее определенную допустимую для передачина нижележащем уровне длину.1.6.3. Основные вопросы организации уровнейВсе функции организации и функционирования сети распределены между уровнями. В сетях сразной архитектурой это распределение между уровнями разное.
Однако на каждом уровне необходиморешать следующие вопросы:§адресация отправителя и получателя на уровне: на каждом уровне нужен механизм для адресацииотправителей и получателей§правила установления соединения с одноименным уровнем§правила передачи данных·только в одном направлении - simplex, поочередно в обоих направлениях - half-duplex или в обанаправления одновременно - duplex·допустимо ли совмещать виртуальные соединения вышележащего уровня через одно и то же соединениена нижележащем уровне; каково максимальное число совмещаемых так виртуальных соединений, каковыприоритеты в их обслуживании;·мультиплексирование и демультиплексирование виртуальных каналов§обнаружение и исправление ошибок при передаче§сохранение исходной последовательности данных при передаче§на каждом уровне нужен механизм, предотвращающий ситуацию, когда одноименный уровень получателяначинает «захлебываться», т.е.
когда отправитель отправляет пакеты с большей скоростью, чемполучатель успевает их обрабатывать§выбор маршрута при передаче: когда между получателем и отправителем есть несколько маршрутов, токакой из них выбрать?§не все процессы на любом уровне могут работать с сообщениями произвольной длины, поэтому припередаче необходимо осуществлять:·разбиение, передачу и сборку сообщений·выбирать оптимальную длину фрагмента при разбиении или, наоборот, соединение нескольких короткихсообщений в одно более длинное (например, как быть, если процесс работает со столь короткимисообщениями, что их раздельная пересылка не эффективна?)1.6.4. Интерфейсы и сервисКак уже было сказано, одно из главных предназначений каждого уровня - обеспечить надлежащийсервис для вышележащего уровня.Активные элементы уровня, т.е.
те, которые могут сами совершать действия, в отличие от тех, надкоторыми совершают действия, будем называть активностями. Активности могут быть программными иаппаратными. Активности одного и того же уровня на разных машинах будем называть равнозначными илиодноименными активностями. Активности уровня n + 1 являются пользователями сервиса, создаваемогоактивностями уровня n, которые, в свою очередь, называются поставщиками сервиса.
Сервис может бытьразного качества, например, быстрая и дорогостоящая связь или медленная и дешевая.Доступ к сервису осуществляется через так называемые точки доступа к сервису - SAP (ServiceAccess Points). Каждая точка доступа к сервису имеет уникальный адрес. Например, телефонная розеткана стене - это точка доступа к сервису АТС. Каждой розетке сопоставлен определенный номер - номертелефона.Чтобы осуществить обмен информацией между двумя уровнями, нужно определить интерфейс междуними. Типичный интерфейс: активность на уровне n+1 передает IDU (Interface Data Unit - интерфейснуюединицу данных) активности на уровне n через SAP (рисунок 1-10).
IDU состоит из SDU (Service Data Unit- сервисной единицы данных) и управляющей информации. SDU передается по сети равнозначнойсущности, а затем - на уровень n + 1. Управляющая информация нужна нижележащему уровню, чтобыправильно передать SDU, но она не является частью передаваемых данных.Рисунок 1-10. Взаимосвязь уровней через интерфейсЧтобы передать SDU по сети нижележащему уровню, может потребоваться разбить его на части.Каждая часть снабжается заголовком (header) и концевиком, и передается как самостоятельная единицаданных протокола - PDU (Protocol Data Unit - единица данных протокола).
Заголовок в PDU используетсяпротоколом при передаче. В нем указано, какой PDU содержит управляющую информацию, а какой данные, порядковый номер и т.д.1.6.5. Сервис с соединением и сервис без соединенияУровни могут предоставлять вышележащим уровням два вида сервисов: ориентированный насоединение и без соединения.Сервис с соединением предполагает, что между получателем и отправителемустанавливается соединение, и только потом доставляется сервис.
Пример - телефонная сеть.сначалаСервис без соединения действует подобно почтовой службе. Каждое сообщение имеет адресполучателя. В надлежащих точках оно маршрутизируется по нужному маршруту, независимо от другихсообщений. При таком сервисе вполне возможно, что сообщение, позже посланное, придет раньше. Всервисе с соединением это невозможно.Любой сервис характеризуется качеством. Например, надежный сервис, гарантирующий доставкуданных без потерь, предполагает подтверждение получения каждого сообщения.
Несомненно, это требуетопределенных накладных расходов. Это - плата за качество. Пример надежного сервиса с соединением передача файлов. Ясно, что вряд ли кто-то рискнет передавать файл, пусть даже быстрее, привозможности потерять часть битов или нарушить их порядок.Надежный сервис с соединением имеет две разновидности: с сохранением структуры передаваемыхданных, например, последовательность сообщений, и просто поток байтов. В первом случае четкоразличаются границы каждого сообщения. Если было послано два сообщения по 1 Мбайт, то полученобудет два сообщения по 1 Мбайт. Ни при каких условиях у получателя не окажется одно сообщение в 2Мбайт.В случае потока байтов получатель получит 2 Мбайт.
У него нет способа распознать, то ли это 2сообщения по 1 Мбайт, то ли 1 сообщение в 2 Мбайт, то ли 2048 сообщений по 1 байту. Если мы захотимпередать книгу на фотонаборное устройство, то нам надо проследить, чтобы каждая страница имелачеткие границы. В то же время для поддержки соединения между терминалом и сервером в режимекомандной строки потока байтов вполне достаточно.Другой важной характеристикой качества сервиса является величина задержки в канале. Длянекоторых приложений задержки из-за уведомления получения данных неприемлемы.
Примерами такихприложений являются цифровая телефонная связь, цифровые видеоконференции. При телефонномразговоре люди готовы смириться с шумом на линии, искажениями слов, но паузы из-за уведомленийбудут просто неприемлемы. Аналогично при видеоконференции или передаче видеофильма. Небольшиедефекты картинки допустимы, но подергивание экрана из-за уведомлений будет раздражать зрителя.Пример приложения, не требующего соединения, - электронная почта. Вряд ли отправительвторостепенного сообщения захочет ждать установки и разрыва соединения, оплачивать весь этот сервис,чтобы передать такое сообщение.