Виртуальный канал ( VC ) — это средство транспортировки данных по сети передачи данных, основанное на коммутации пакетов и при котором сначала устанавливается соединение по сети между двумя конечными точками. Сеть, вместо резервирования фиксированной скорости передачи данных для каждого соединения, как при коммутации каналов , использует преимущества статистического мультиплексирования на своих каналах передачи, что является неотъемлемой особенностью коммутации пакетов.
Стандартизация виртуальных каналов, проведенная CCITT в 1978 году , предусматривает управление потоком данных для каждого соединения на всех интерфейсах «пользователь-сеть» и «сеть-сеть». Это позволяет участвовать в управлении перегрузкой и снижает вероятность потери пакетов в сильно загруженной сети. [1] [2] Некоторые протоколы каналов обеспечивают надежную связь посредством использования повторной передачи данных, вызываемой обнаружением ошибок и автоматическим запросом повторения (ARQ).
Прежде чем использовать виртуальный канал, он должен быть установлен между сетевыми узлами на этапе установления вызова . После установления поток битов или поток байтов может обмениваться между узлами, обеспечивая абстракцию от разделения низкого уровня на блоки данных протокола и позволяя протоколам более высокого уровня работать прозрачно.
Альтернативой сетям виртуальных каналов являются дейтаграммные сети.
Связь по виртуальному каналу напоминает коммутацию каналов , поскольку оба они ориентированы на соединение , а это означает, что в обоих случаях данные доставляются в правильном порядке, и на этапе установления соединения требуются накладные расходы на сигнализацию. Однако коммутация каналов обеспечивает постоянную скорость передачи данных и задержку, хотя в службе виртуальных каналов они могут различаться из-за таких факторов, как:
В телекоммуникациях возможность виртуального вызова , иногда называемая возможностью виртуального вызова , представляет собой функцию услуги, при которой:
Альтернативным подходом к виртуальным вызовам является связь без установления соединения с использованием дейтаграмм . [3]
В 1970-х годах концепция «виртуального вызова» использовалась в британской EPSS и была усовершенствована Реми Депре как «виртуальные каналы» во французской RCP . [4] [5] [6]
Протоколы транспортного уровня , ориентированные на соединение , такие как TCP [7] [8], могут опираться на протокол сетевого уровня с коммутацией пакетов без установления соединения, такой как IP , где разные пакеты могут маршрутизироваться по разным путям и, таким образом, доставляться не по порядку. Однако можно использовать TCP как виртуальный канал, [8] [9] [10], поскольку TCP включает нумерацию сегментов, которая позволяет переупорядочивать на стороне получателя для обеспечения доставки вне очереди.
Протоколы виртуальных каналов канального и сетевого уровня основаны на коммутации пакетов с установлением соединения , что означает, что данные всегда доставляются по одному и тому же сетевому пути, т. е. через одни и те же узлы. Преимущества этого метода по сравнению с коммутацией пакетов без установления соединения:
Примеры протоколов транспортного уровня, обеспечивающих виртуальный канал:
Примеры протоколов виртуальных каналов сетевого уровня и канального уровня, в которых данные всегда доставляются по одному и тому же пути:
Коммутируемые виртуальные каналы ( SVC ) обычно устанавливаются для каждого вызова и отключаются при завершении вызова; однако постоянный виртуальный канал ( PVC ) может быть установлен в качестве опции для обеспечения выделенного канала связи между двумя объектами. Конфигурация PVC обычно предварительно настраивается поставщиком услуг. В отличие от SVC, PVC обычно очень редко ломаются/отсоединяются.
Коммутируемый виртуальный канал (SVC) — это виртуальный канал, который динамически устанавливается по требованию и отключается по завершении передачи, например, после телефонного звонка или загрузки файла. SVC используются в ситуациях, когда передача данных носит спорадический характер и/или не всегда между одними и теми же конечными точками терминального оборудования данных ( DTE ).
Постоянный виртуальный канал (PVC) — это виртуальный канал, созданный для многократного/непрерывного использования между одним и тем же DTE . В PVC долгосрочная ассоциация идентична фазе передачи данных виртуального вызова. Постоянные виртуальные каналы исключают необходимость повторного установления и сброса вызова .