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