Кратко
- Виртуальные каналы Sandy Fraser отделяли разрешение на связь от её использования: запрос, согласие и поэтапная установка соответствий завершались до того, как пользовательские байты начинали полагаться на канал.
- Короткая метка и поддержка разных устройств оплачивались обязанностью учитывать незавершённые вызовы, устаревшие таблицы, ресурсы каждого канала и подтверждённое удаление состояния.
Сначала говорит управление
В патенте США 3,749,845 один из каналов отведён управляющим сообщениям. Вызывающее устройство посылает запрос с указанием адресата. Тот может принять или отклонить его. При согласии ответ несёт сведения, с помощью которых коммутационные узлы выделяют виртуальный канал звено за звеном. Передача начинается после того, как подтверждение возвращается инициатору.
Короткий номер канала поэтому не является самостоятельным адресом. Это ссылка на совокупность сохранённых решений: удалённая сторона согласилась, каждый коммутатор связал локальную метку со следующим участком, а сеть признала срок жизни вызова. Последующие данные становятся компактнее благодаря более содержательному действию, выполненному заранее.
Fraser не превращал эту схему в физическую линию, занятую во время пауз. Патент различает виртуальное выделение и фактическую активацию. Параметры требуемого пути хранятся, но передающие ресурсы вступают в работу при появлении порции данных. Сеть помнит отношение, не оставляя общую ёмкость без дела между всплесками.
Завершение тоже оформлено сообщением. Любая сторона может послать end-of-call, после чего канал освобождается по звеньям. Патент предупреждает, что данные в пути при этом могут быть потеряны. Удаление состояния — не уборка после события: оно определяет момент, когда старая метка лишается полномочий.
Spider доказал возможность, Datakit создала практику
В собственном резюме Fraser относит изобретение коммутации виртуальных каналов к 1969 году, а оконное управление потоком — к 1970-му. Обе идеи проверялись в исследовательской сети Spider. Хронология Bell Labs независимо отмечает начало её строительства Fraser в 1970 году. В 1975-м он разработал Datakit как модульную сеть с аппаратной коммутацией виртуальных каналов.
Согласно резюме, к 1990 году Datakit VCS обслуживала Bell Laboratories и широко применялась AT&T, региональными операционными компаниями Bell и международными клиентами. Масштаб превратил один вызов в постоянную эксплуатационную обязанность. Имена, маршруты, локальные соответствия, пределы буферов и условие окончания должны были совпадать в нескольких системах.
Архитектура также соединяла устройства с разной скоростью, памятью и протоколами. Программируемые интерфейсы согласовывали характеристики передачи и приёма вместо требования одинаковых оконечных машин. Локального восьмибитного канала из описания патента хватало лишь потому, что коммутатор хранил связь с полным назначением.
В этом состоит обмен любой пересылки по меткам. Полный адрес в каждой единице данных сохраняет свидетельство рядом с самими данными, но повторяет работу. Заранее созданное соответствие облегчает дальнейшую передачу, однако переносит свидетельство в управляющую таблицу и к субъекту, который вправе её менять.
Переводчик для разных устройств
В 1992 году Roy Campbell и Sean Dorward, вместе с Arun Iyengar и Charles Kalmanek, затем Gary Murakami и Ravi Sethi, а также Ce Kuen Shieh и See-Mong Tan описали ПО обработки вызовов, развивавшееся в нескольких проектах Bell Labs. Лёгкий line process для каждой логической линии переводил специфический запрос устройства во внутренний независимый протокол. Множество линий могло совместно использовать одну физическую связь.
Такая модульность не стирала различия, а назначала им переводчика. Новое устройство сохраняло собственный язык вызова; управление коммутатора получало единую форму. При сбое можно было раздельно проверить исходный запрос, его перевод и фактическую запись решения в таблицу.
Позднейшая работа о сетевой части Plan 9 показывает ту же границу со стороны программы. Datakit и протоколы Internet представлялись похожими протокольными устройствами, а connection server выбирал сеть и протокол, доступные адресату. Приложение выражало намерение dial или listen, не встраивая все схемы адресации.
Сложность не исчезала. Она переходила в процессы перевода, сервер соединений и таблицы. Но у неё появлялись имя и место проверки. Полезная абстракция не освобождает от ответственности — она создаёт точку, где решение можно оспорить.
Другая клятва IP
RFC 791 определяет IP как ненадёжную службу дейтаграмм без установления соединения. Сам уровень IP не даёт сквозной надёжности, упорядочения или управления потоком. Дейтаграмма пытается пройти к цели, не ожидая, пока все промежуточные узлы установят общее состояние вызова.
Это не делает Datakit и IP участниками состязания с одним победителем. Они размещают обязанности по-разному. Уровень без соединения уменьшает зависимость сети от долговременной памяти о каждом вызове, оставляя восстановление непрерывности концам и верхним уровням. Виртуальный канал сначала платит за установку и состояние, чтобы последующий трафик получил заранее согласованную обработку.
По-разному устроено и расследование. Для дейтаграммы важны достижимость, конкретный выбор маршрута и восстановление на конце. Для вызова нужно дополнительно доказать завершённость установки, версию соответствия у каждого перехода, выданный класс обслуживания и получение завершения всеми держателями состояния.
XUNET показывает цену состояния
Ретроспектива XUNET 2 за авторством Charles Kalmanek и Srinivasan Keshav, при участии William Marshall, а также Stephen Morgan и Robert Restrick прослеживает эту линию в более скоростной глобальной среде. XUNET 1 связала университетские группы коммутаторами Datakit. XUNET 2 использовала экспериментальные ATM-коммутаторы, маршрутизаторы и магистральные линии для исследования трафика, коммутации и управления.
При установке виртуального канала пользователь запрашивал класс обслуживания. Очереди на каждый канал, планирование и ограничения буфера отделяли поведение участников. Создание соединения меняло таблицу преобразования заголовков и предел памяти. Вызов становился не только маршрутом, но и исполнимым обещанием ресурса.
Статическая память для каждого канала могла существенно превосходить потребности активного трафика. Динамическое выделение экономило её, но требовало сигнализации и согласования между быстрой логикой очередей и управляющим процессором. Поэтому авторы включали аудит таблиц, удалённое обслуживание и обнаружение отказов в саму архитектуру.
Самый коварный сбой возникает, когда расходятся убеждения компонентов. Контроллер считает вызов активным после потери перевода аппаратурой. Повтор создаёт второй вызов, а первый удерживает буфер. Перезапуск возвращает маршрут без исходного допуска. Байты могут двигаться, хотя доказательство полномочий их метки уже распалось.
Наследие полного жизненного цикла
Мемориальная статья Fraser Research проводит линию карьеры Fraser от Ferranti и Cambridge через Bell Labs и AT&T Labs к основанному им институту. Награды ACM, IEEE и National Academy of Engineering связывают его имя с виртуальными каналами, управлением потоком и архитектурой пакетных сетей.
Для оператора важнее всего последовательность глаголов: запросить, принять, установить, ограничить, завершить. Каждый меняет состояние и должен оставлять свидетельство, позволяющее восстановить решение.
Fraser не доказал, что всякая сеть обязана помнить соединения. Он сформулировал более требовательное условие: если сеть помнит за пользователя, она должна уметь показать, что именно помнит, кто это разрешил, когда память стала действующей и какое подтверждение отменило её смысл.
Источники
- Работа о сети Plan 9: https://9p.io/sources/plan9/sys/doc/net/net.ms
- Карточка статьи об обработке вызовов: https://experts.arizona.edu/en/publications/control-software-for-virtual-circuit-switches-call-processing/
- Патент США 3,749,845: https://patents.google.com/patent/US3749845A/en
- Ретроспектива XUNET 2: https://www.cs.cornell.edu/skeshav/papers/xunet.pdf
- Fraser Research: https://www.fraserresearch.org/
- Резюме Sandy Fraser: https://www.fraserresearch.org/images/agfresume.pdf
- Открытый портрет-источник: https://www.fraserresearch.org/images/alexander_sandy_fraser.jpg
- Мемориальная статья Fraser Research: https://www.fraserresearch.org/remembering_alexander_fraser.html
- Историческая хронология Bell Labs: https://www.nokia.com/bell-labs/unix-history/blcontributions.html
- RFC 791: https://www.rfc-editor.org/rfc/rfc791.html
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
