<<
>>

Разработка уровней

Некоторые из ключевых аспектов разработки, возникающие при создании компьютерных сетей, присутствуют на нескольких уровнях. Далее мы кратко опишем наиболее важные из них.

Каждый уровень нуждается в механизме идентификации отправителей и получателей.

В сети обычно работает довольно много компьютеров, на них одновременно могут выполняться сразу несколько процессов, каждому из которых необходимо средство, позволяющее указать, с кем он хочет поговорить. Следовательно, нужна система адресации.

Также необходимо выработать правила для переноса данных. В некоторых системах данные могут перемещаться только в одном направлении, в других — в любом направлении. Протокол также должен определять количество логических каналов, относящихся к соединению, и их приоритеты. Многие сети обеспечивают минимум по два логических канала на соединение: один для обычных данных и еще один — для срочных.

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

Кроме того, получатель должен иметь возможность сообщить отправителю, какие из сообщений были получены правильно, а какие — нет.

Не все каналы связи сохраняют последовательность посылаемых по ним сообщений. Чтобы исправить возможную потерю порядка сообщений, протокол должен явно снабжать получателя номерами пакетов, чтобы получаемые фрагменты сообщений могли быть собраны в правильном порядке. Очевидным решением проблемы является нумерация пакетов, однако остается открытым вопрос: что делать с пакетами, приходящими в неверном порядке?

Кроме того, на каждом уровне возникает вопрос: как организовать пересылку данных так, чтобы быстрая передающая сторона не завалила пакетами медленную принимающую сторону? Для разрешения данной проблемы существуют различные решения, которые будут обсуждаться далее. Некоторые из них предполагают прямые или косвенные ответы получателя посылающей стороне, информирующие ее о текущем состоянии получателя.

Другим решением может быть ограничение скорости передачи до некоторого договорного уровня. В целом это называется управлением потоком.

Еще одна проблема, которую необходимо разрешать на различных уровнях, — это неспособность всех процессов принимать сколь угодно длинные сообщения. С этим может быть связан вопрос: что делать, если процесс настаивает на передаче данных столь малыми порциями, что передача становится неэффективной? Для решения подобной проблемы можно объединять посылаемые сообщения в один большой пакет и снова разбивать его после пересылки на отдельные сообщения.

Когда неудобно или неэффективно устанавливать отдельное соединение для каждой пары общающихся процессов, располагающийся ниже уровень может принять решение использовать одно и то же соединение для различных не связанных друг с другом разговоров. Пока это уплотнение каналов, или мультиплексирование, происходит прозрачно, оно может использоваться любым уровнем. Мультиплексирование, например, необходимо на физическом уровне, где вся связь должна осуществляться по ограниченному числу контуров.

Когда между отправителем и получателем существует несколько возможных путей следования сообщения, возникает задача выбора пути. Иногда она может быть разделена между несколькими уровнями. Например, при посылке сообщения из Лондона в Рим верхний уровень может выбрать путь через Францию или Германию, основывая свой выбор на знании законов, касающихся тайны переписки в данных странах, тогда как выбор нижнего уровня может основываться на текущей загруженности линий связи. Эта задача называется маршрутизацией.

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Разработка уровней:

  1. Сознание распространяет себя от высших уровней Божественности до низшего уровня первого измерения камня и минералов. Всё Бог в разном выражении.
  2. Истинное желание—это когда желания одного уровня гармонируют с желаниями другого уровня.
  3. Разработка Плана
  4. 2.7. Разработка анкеты
  5. 6. Разработка перспектив
  6. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  7. Разработка психологического подхода в теории организаций.
  8. Разработка и принятие Основного закона
  9. Состояние научной разработки проблемы.
  10. Состояние научной разработки проблемы.
  11. Правило разработки веера версий
  12. Правило разработки графических схем
  13. Правило разработки графических схем
  14. Правило разработки веера версий
  15. Дж. Клейнберг, Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science, 2016
  16. § 2.ФУНКЦИИ МЕТОДОЛОГИИ В РАЗРАБОТКЕ МЕТОДИК АНАЛИЗА СОЦИАЛЬНЫХ ФАКТОВ
  17. 9.2. Порядок разработки и внедрения информационных систем, технологий и средств обеспечения
  18. Статья 440. Разработка, производство, приобретение, хранение, сбыт, транспортировка оружия массового уничтожения