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

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

Виртуальное соединение транспортного уровня

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

Рис. 9 воспроизводит более точную картину того, как происходят виртуальные соединения в сети с переключением пакетов.

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

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

 


Рис. 9. Сетевая модель с изображенными виртуальными соединениями на базе скачков

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

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

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

Увеличение пропускной способности

Под пропускной способностью (bandwidth) подразумевается максимальное количество данных, проходящих в заданный интервал времени по каналу связи.

Для увеличения пропускной способности (и производительности) транспортный уровень открывает несколько сетевых соединений для одного и того же транспортного соединения. Чтобы сделать это, транспортному уровню требуется мультиплексировать и демультиплексировать передаваемые данные. Термин “мультиплексирование” означает процесс, укладывающий несколько потоков данных в один коммуникационный канал. Термин “демультиплексирование” означает обратное действие. Транспортный уровень передающего компьютера мультиплексирует (объединяет) множество сообщений в одно транспортное соединение. Принимающий данные транспортный уровень, наоборот, демультиплексирует одно соединение во множество сообщений. То, каким образом происходят эти действия, определяет, насколько эффективно транспортный уровень управляет сетевыми пакетами. Более того, это определяет производительность сети, использование ее ресурсов и пропускную способность.

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