Кратко
- RFC 1434 завершал LLC Type 2 на каждом Data Link Switch, поэтому у двух терминалов были независимые локальные соединения, а не единый канальный сеанс через WAN.
- SSP отдельно искал станцию, обменивался парой локально значимых Circuit ID и выполнял CONTACT/CONTACTED; установленный TCP не подтверждал ни один из этих следующих этапов.
- Локальные подтверждения защищали таймеры LAN от задержек WAN, однако мультиплексирование связывало отказы: потеря одного TCP уничтожала все размещённые на нём цепи.
Таймер локальной сети оставили дома
LLC Type 2 исходил из небольшой и предсказуемой задержки. Фиксированный таймер позволял считать слишком долгую паузу потерей кадра. На медленном или перегруженном широком канале задержанный кадр выглядел потерянным, начиналась лишняя повторная передача, а процедура могла запутаться и в итоге разорвать соединение.
Data Link Switching не пытался подобрать один огромный таймер для любой WAN. Он перенёс границу. Левый терминал поддерживал LLC только со своим ближайшим коммутатором; правый — второе LLC со своим. Между Data Link Switches данные передавались по Switch-to-Switch Protocol через надёжный транспорт.
Тайм-ауты и подтверждения LLC больше не пересекали WAN. Опрос SDLC также оставался локальным. Каждый DLS мог повторять отправку в соответствии со свойствами соседнего канала и сдерживать местный терминал. Изменчивая задержка между площадками перестала непосредственно управлять механизмом, созданным для LAN.
Но смысл подтверждения сузился. RR или UA означали принятие локальной ответственности соседним коммутатором. Они не доказывали получение кадра удалённым терминалом, подъём его местного LLC или действие приложения. RFC 1434 прямо называл две LLC-связи полностью независимыми: непрерывным был пользовательский образ, а не протокольное обязательство.
TCP связывал коммутаторы, а не конечные приложения
Сначала два DLS устанавливали транспортное соединение. Первая реализация SSP использовала TCP, хотя документ допускал другой надёжный транспорт. Затем SSP создавал сквозные DLS-цепи поверх этого соединения. Один транспорт нёс множество цепей.
Статус TCP рассказывал только о паре коммутаторов. Искомая станция могла быть неизвестна, подходящий peer не выбран, идентификаторы не сопоставлены, а удалённый локальный канал ещё не вступил в контакт. Зелёный сокет нельзя было превращать в зелёный терминальный сервис.
Data Link ID задавал искомую пару станций через их MAC- и SAP-адреса. Каждый коммутатор назначал собственный 64-битный Circuit ID из DLC Port ID и Data Link Correlator. Сквозная цепь определялась парой этих локальных значений, а оба DLS хранили соответствие.
До установления цепи управляющие сообщения несли полный Data Link ID. После этого INFOFRAME мог использовать короткий заголовок с удалённым Circuit ID. Экономия стала возможна благодаря состоянию в таблице. Одна цифра без назначившего её DLS, направления и парного значения не позволяет сопоставить журналы двух сторон.
Протокол не объединял поиск и контакт
CANUREACH спрашивал, кто может достичь станции. ICANREACH возвращал положительный ответ и Circuit ID целевого DLS. REACH_ACK передавал обратно идентификатор исходной стороны. Затем CONTACT и CONTACTED продвигали контакт с удалённой станцией.
Каждое слово обозначало отдельное наблюдение. Живой peer мог не знать станции. Найденная станция ещё не означала полного набора идентификаторов. Созданная цепь могла ждать завершения удалённого локального контакта. Последовательность делала место отказа различимым.
На CANUREACH могли прийти несколько ICANREACH. Исходный DLS выбирал первый и посылал ему REACH_ACK. Рабочее местоположение было результатом конкретного поиска и временного выбора, а не вечным свойством адреса. Для разбора нужны все ответы, порядок прихода и выбранный peer.
Кэш местоположения уменьшал широкую рассылку. Если записи не было, CANUREACH или запрос NetBIOS мог отправляться всем известным DLS-партнёрам. Свежая запись экономила трафик; устаревшая вела новые цепи к прежнему месту. Источник и срок жизни кэша были частью доказательства.
Ближняя сторона могла согласиться раньше дальней
При получении SABME от локальной станции исходный DLS мог сразу ответить UA, ещё не связавшись с удалённым терминалом. Чтобы данные не пошли преждевременно, он удерживал отправителя локальным RNR. После CONTACTED от второй стороны RR снимал запрет.
UA не изображал ответ удалённой станции. Он фиксировал принятие местного LLC коммутатором. RNR сохранял неопределённость на следующем участке. Ошибка возникает, если система мониторинга объединяет локальное принятие, дальний контакт и ответ приложения в одно состояние «подключено».
Цепь SSP, контакт удалённой станции, разрешение локальной передачи и результат приложения требуют четырёх записей. Даже упорядоченная доставка TCP до второго DLS не говорит, повторяет ли тот кадр в локальном LLC, уже разрывает связь или передало ли конечное приложение ответ.
RFC 1795 позже добавил адаптивное управление потоком для каждого направления и каждой цепи. После обмена возможностями отправитель начинал без разрешённых единиц и ждал выдачи через FCIND. Это изменение 1995 года, а не функция RFC 1434; оно подчёркивает, что надёжность общего транспорта не определяла допустимый объём отдельной логической цепи.
Общая экономия стала общей судьбой
Локальное завершение уменьшало число LLC-подтверждений на WAN. Мультиплексирование избавляло от отдельного транспорта для каждой пары терминалов. Обратной стороной стала одна центральная зависимость.
RFC 1434 требовал при отказе TCP между DLS уничтожить все мультиплексированные на нём соединения. Оба коммутатора отправляли DISC всем связанным локальным системам. Кабель, порт и местная LLC терминала могли оставаться исправными, но сеанс исчезал из-за общей средней части.
Десять одновременных локальных отключений могли иметь одну первопричину TCP. Считать их десятью независимыми сбоями неверно. Но сохранить только одно транспортное событие — значит скрыть масштаб. Нужна связь от общей причины ко всем Circuit ID, затем к обеим локальным сторонам и приложениям.
Были и индивидуальные пути завершения. HALT_DL запрашивал остановку, DL_HALTED подтверждал её; локальная ошибка DLC могла перевести отдельную цепь в отключение. Для терминала итог похож, однако ответственность определяется первым изменившимся уровнем.
Последующие RFC сделали промежуточные состояния видимыми
RFC 1795 сообщил о существенных изменениях и заменил RFC 1434. Группа DLSw в APPN Implementers Workshop стремилась создать один вариант SSP для разных производителей и исправить недостатки документации. Между установлением транспорта и обычным управлением цепями появился обмен возможностями.
RFC 2024 отразил границы в управляемых объектах. Транспорт мог находиться в подключении, начальном обмене возможностями, рабочем состоянии, остановке, отключении или быть отключён. Счётчики показывали поиск и создание цепей, таблицы — причины разрыва. Операциям стало недостаточно одного индикатора TCP.
RFC 2166 описал нагрузку при росте: конфигурацию множества peers, копирование поиска и NetBIOS-трафика по точкам, постоянные транспорты и большое число локально завершённых LLC2. DLSw v2.0 добавил причины HALT, multicast для поиска, соединения по требованию и предпочтение одному двунаправленному TCP там, где это возможно.
Нельзя переносить эти возможности назад в 1993 год. История версий показывает другое: состояние, убранное из старого протокола и WAN, не исчезло. Оно переместилось в коммутаторы и потребовало согласования, наблюдения и масштабирования.
Доказательство продолжается после цепи
Полная запись связывает peer и состояние транспорта, запрошенный Data Link ID, все ICANREACH, выбор, оба Circuit ID, CONTACT/CONTACTED, состояния двух локальных DLC, разрешение потока, счётчики и первую причину разрыва. Доказательство приложения хранится отдельно и не выводится из этих полей.
RFC 1434 и RFC 1795 прямо говорят, что вопросы безопасности не обсуждаются. Из них нельзя вывести аутентификацию peer, авторизацию станции, конфиденциальность или защиту целостности от противника. Надёжная доставка в модели TCP не является заключением о безопасности.
Документы также не доказывают внедрение, современное использование или конкретную аварию. Их историческая ценность в дисциплине границ: транспорт, цепь, контакт, два местных канала и действие приложения могут поддерживать один пользовательский сеанс, но остаются разными фактами.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
