- •Декомпозиция задачи сетевого взаимодействия
- •Протокол и стек протоколов
- •Службы и протоколы
- •Стандартизация сетей
- •Понятие открытой системы
- •Источники стандартов
- •Стандартизация Интернета
- •Модель osi
- •Общая характеристика модели osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Пример-аналогия
- •Транспортный уровень
- •Сеансовый уровень
- •Уровень представления
- •Прикладной уровень
- •Эталонная модель tcp/ip
- •Интернет-уровень
- •Транспортный уровень
- •Прикладной уровень
Службы и протоколы
Службы и протоколы являются различными понятиями, хотя часто эти понятия смешиваются. Различие между ними, однако, столь важно, что мы хотели бы еще раз обратить на него ваше внимание.
Служба (или сервис) — это набор примитивов (операций), которые более низкий уровень предоставляет более высокому; Служба определяет, какие именно операции уровень будет выполнять от лица своих пользователей, но никак не оговаривает, как должны реализовываться эти операции. Служба описывает интерфейс между двумя уровнями, в котором нижний уровень является поставщиком сервиса, а верхний — его потребителем.
Напротив, протокол — это набор правил, описывающих формат и назначение кадров, пакетов или сообщений, которыми обмениваются одноранговые сущности внутри уровня. Сущности используют протокол для реализации определений их служб. Они могут менять протокол по желанию, при условии что при этом остаются неизменными службы, предоставляемые ими своим пользователям. Таким образом, служба и протокол оказываются практически независимыми.
Другими словами, службы — это нечто связанное с межуровневыми интер¬фейсами, тогда как протоколы связаны с пакетами, передающимися сущностями одного уровня, расположенными на разных машинах. Это показано на рис. Важно не путать эти два понятия.
Чтобы было проще понять идею многоуровневого общения, можно воспользоваться следующей аналогией.
Представьте себе двух философов (одноранговый процесс уровня 3), один из которых говорит на урду и английском, а другой — на китайском и французском. Поскольку нет общего языка, на котором они смогли бы общаться, каждый из них использует переводчика (одноранговый процесс уровня 2), каждый из которых, в свою очередь, нанимает секретаршу (одноранговый процесс уровня 1). Философ 1 желает выразить своему собесед¬нику свою привязанность к виду oryctolagus cuniculus. Для этого он передает со¬общение (на английском) по интерфейсу 2/3 своему переводчику, говоря: «Я люб¬лю кроликов», — как изображено на рис. 1.11. Переводчики договорились общать¬ся на нейтральном языке, голландском, таким образом, сообщение преобразуется к виду «Ik hou van konijnen». Выбор языка является протоколом второго уровня и осуществляется одноранговыми процессами уровня 2.
Затем переводчик отдает сообщение секретарю для передачи, например, по факсу (протокол первого уровня). Когда сообщение получено другим секрета¬рем, оно переводится на французский и через интерфейс 2/3 передается филосо¬фу 2. Заметим, что каждый протокол полностью независим от других, поскольку интерфейсы одинаковы с каждой стороны. Переводчики могут переключиться с голландского, скажем, на финский при условии, что оба будут согласны, при этом в интерфейсах второго уровня с первым или с третьим уровнем ничего не изменится. Подобным же образом секретари могут сменить факс на электрон¬ную почту или телефон, не затрагивая (и даже не информируя) другие уровни. Каждое изменение добавит лишь обмен информацией на своем уровне. Эта информация не будет передаваться на более высокий уровень.
