Принципы и понятия сетевой архитектуры, страница 11

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

Контроль за использованием сетевых ресурсов

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

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

Управление потоком

Проблема, возникающая, когда передатчик шлет пакеты данных быстрее, чем приемник может их обработать, решается при помощи управления потоком. Транспортный уровень, так же как и сетевой, должен уметь управлять потоком данных. Однако транспортный уровень делает это на базе соединения “процесс-процесс”, а не “компьютер-компьютер”. Сетевой уровень управляет потоком между конечными пунктами соединения, представленными компьютерами. Транспортный уровень управляет потоком между равноправными процессами или программами. Транспортные уровни многих сетей, и Интернет в частности, управляют потоком данных так же, как и обработкой ошибок. При этом транспортные уровни обмениваются сообщениями с подтверждением о доставке. Формируя сообщения, транспортный уровень шлет среди них запросы на контроль потока, получая возможность попросить другой транспортный уровень увеличить или уменьшить скорость передачи.

Сеансовый уровень

В большинстве сетей, перед тем как выполнить то или иное приложение, требуется зарегистрироваться, введя имя и пароль пользователя. Каждый такой ввод запускает отдельный сеанс. Любой пользователь, вошедший в сеть, создает отдельный сеанс. Один и тот же пользователь может запустить одновременно несколько сеансов, войдя в сеть несколько раз. Запуск нового сеанса (или вход в сеть) активизирует сеансовый уровень, который в свою очередь устанавливает соединение между процессами или приложениями на удаленных друг от друга сетевых компьютерах.

Процесс активизации сеанса (установления связи между двумя компьютерами) называется связыванием (binding).

Управление соединениями

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

Взаимодействие с транспортным уровнем