AppleTalk Transport Protocol

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:30, 19 января 2019.
AppleTalk Transport Protocol
Communications protocol
CT843501.jpg
Purpose Транспортный уровень
Developer(s) Apple Inc.
Introduced 1985; 34 years ago (1985)
Based on Apple Talk Phase II
OSI layer 1, 2, 3
Hardware LocalTalk, others
AppleTalk Transport Protocol – стек протоколов транспортного уровня AppleTalk, который изолирует некоторые физические и функциональные аспекты пакетной сети от верхних трех уровней. Он обеспечивает сквозную ответственность, гарантируя, что все пакеты данных, отправленные по сети, получены и в правильном порядке.

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

Стек протоколов

На транспортном уровне реализованы следующие протоколы AppleTalk:

В дополнение к этим протоколам транспортного уровня протокол потоков данных AppleTalk (ADSP) включает функции, которые охватывают как транспортный, так и сеансовый уровни. ADSP обеспечивает надежную доставку данных и в этом качестве отвечает требованиям транспортного уровня.[Источник 1]

Особенности

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

Протокол обслуживания таблицы маршрутизации

Протокол обслуживания таблиц маршрутизации (RTMP) - это протокол транспортного уровня в наборе протоколов AppleTalk, который устанавливает и поддерживает таблицы маршрутизации в маршрутизаторах AppleTalk.

RTMP основан на протоколе информации о маршрутизации (RIP); Как и в случае с RIP, RTMP использует количество переходов в качестве метрики маршрутизации. Число прыжков рассчитывается как количество маршрутизаторов или других промежуточных узлов, через которые должен пройти пакет для перемещения из исходной сети в сеть назначения.

Таблицы маршрутизации RTMP

RTMP отвечает за создание и обслуживание таблиц маршрутизации для маршрутизаторов AppleTalk. Эти таблицы маршрутизации содержат запись для каждой сети, к которой может обратиться пакет.

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

  • Диапазон сетевых кабелей в сети назначения
  • Расстояние в прыжках до сети назначения
  • Порт маршрутизатора, который ведет к сети назначения
  • Адрес маршрутизатора следующего перехода
  • Текущее состояние записи таблицы маршрутизации (хорошее, подозрительное или плохое)

Протокол привязки имен

Протокол привязки имен (NBP) - это протокол транспортного уровня в наборе протоколов AppleTalk, который сопоставляет адреса, используемые на нижних уровнях, с именами AppleTalk. Сокет-клиенты в узлах AppleTalk известны как сетевые объекты (NVE). NVE - это адресуемый по сети ресурс, такой как служба печати, который доступен через межсетевой интерфейс. NVE называются символьными строками, известными как имена сущностей. NVE также имеют зону и различные атрибуты, известные как типы объектов, связанные с ними.

Рисунок 1 – Таблица маршрутизации RTMP содержит информацию о каждой сети назначения, известной маршрутизатору, иллюстрирует типичную таблицу маршрутизации RTMP.

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

Привязка к имени

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

NBP выполняет следующие четыре функции: поиск имени, распознавание имени, подтверждение имени и удаление имени. Поиск имени используется, чтобы узнать сетевой адрес NVE до того, как сервисы в этом NVE будут доступны. NBP проверяет каталог имен на соответствие имени и адреса. Регистрация имени позволяет узлу создавать свою таблицу имен. NBP подтверждает, что имя не используется, и затем добавляет сопоставления имени в адрес в таблицу. Подтверждение имени используется для проверки того, что сопоставление, изученное с помощью поиска имени, все еще является точным. Удаление имени используется для удаления записи из таблицы имен в таких случаях, когда узел выключен.

Протокол маршрутизации на основе обновлений AppleTalk

Протокол маршрутизации на основе обновлений AppleTalk (AURP) - это протокол транспортного уровня в наборе протоколов AppleTalk, который позволяет двум или более межсетевым сетям AppleTalk соединяться через сеть протокола управления передачей / Интернет-протокол (TCP / IP) для формирования AppleTalk WAN. AURP инкапсулирует пакеты в заголовки протокола пользовательских дейтаграмм (UDP), что позволяет прозрачно их транспортировать через сеть TCP / IP. Реализация AURP имеет два компонента: внешние маршрутизаторы и туннели AURP.

Внешние маршрутизаторы соединяют локальную сеть AppleTalk с туннелем AURP. Внешние маршрутизаторы преобразуют данные AppleTalk и информацию о маршрутизации в AURP и выполняют инкапсуляцию и де-инкапсуляцию AppleTalk трафик. Внешний маршрутизатор работает как маршрутизатор AppleTalk в локальной сети и как конечный узел в сети TCP / IP. Когда внешние маршрутизаторы впервые подключаются к туннелю AURP, они обмениваются информацией о маршрутизации с другими внешними маршрутизаторами. После этого внешние маршрутизаторы отправляют информацию о маршрутизации только при следующих обстоятельствах:

  • Когда сеть добавлена ​​или удалена из таблицы маршрутизации
  • Когда расстояние до сети меняется
  • Когда изменение пути к сети приводит к тому, что внешний маршрутизатор получает доступ к этой сети через свою локальную внутреннюю сеть, а не через туннель или через туннель, а не через локальную внутреннюю сеть

Туннель AURP функционирует как единый виртуальный канал передачи данных между удаленными сетями AppleTalk. На пути между внешними маршрутизаторами может существовать любое количество физических узлов, но эти узлы прозрачны для сетей AppleTalk. Существуют два вида туннелей AURP: двухточечные туннели и многоточечные туннели. Точка-точка AURP туннель соединяет только два внешних маршрутизатора. Многоточечный туннель AURP соединяет три или более внешних маршрутизатора. Существуют также два вида многоточечных туннелей. Полностью подключенный многоточечный туннель позволяет всем подключенным внешним маршрутизаторам отправлять пакеты друг другу. В частично подключенном многоточечном туннеле один или несколько внешних маршрутизаторов знают только некоторые, но не все другие внешние маршрутизаторы.

Рисунок 2 – Туннель AURP, действующий как виртуальный канал между удаленными сетями, иллюстрирует две локальные сети AppleTalk, соединенные через туннель AURP точка-точка.

AURP Инкапсуляция

При обмене информацией о маршрутизации или данными через туннель AURP пакеты AppleTalk должны быть преобразованы из RTMP, ZIP и (в реализации Cisco) расширенного IGRP в AURP. Затем пакеты инкапсулируются в заголовки протокола пользовательских дейтаграмм (UDP) для передачи по сети TCP / IP. Преобразование и инкапсуляция выполняются внешними маршрутизаторами, которые получают информацию о маршрутизации AppleTalk или пакеты данных, которые необходимо отправить в удаленную межсетевую сеть AppleTalk. Внешний маршрутизатор преобразует пакеты в пакеты AURP, после чего эти пакеты инкапсулируются в заголовки UDP и отправляются в туннель (то есть в сеть TCP / IP).

Сеть TCP / IP рассматривает пакеты как обычный трафик UDP. Удаленный внешний маршрутизатор принимает пакеты UDP и удаляет информацию заголовка UDP. Пакеты AURP затем преобразуются обратно в их исходный формат, будь то информация о маршрутизации или пакеты данных. Если пакеты AppleTalk содержат информацию о маршрутизации, принимающий внешний маршрутизатор соответствующим образом обновляет свои таблицы маршрутизации. Если пакеты содержат данные, предназначенные для узла AppleTalk в локальной сети, трафик отправляется соответствующим интерфейсом.

Протокол транзакций AppleTalk

Протокол транзакций AppleTalk (ATP) - это протокол транспортного уровня в наборе протоколов AppleTalk, который обрабатывает транзакции между двумя сокетами AppleTalk. Транзакция состоит из запросов транзакций и ответов транзакций, которыми обмениваются участвующие клиенты сокетов.

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

Несколько протоколов сеансового уровня работают по протоколу ATP, включая протокол сеансов AppleTalk (ASP) и протокол доступа к принтеру (PAP).

Отвечающие устройства ведут себя по-разному в зависимости от того, какой из двух типов сервисов транзакций используется: транзакции по крайней мере один раз (ALO) или транзакции точно один раз (XO). Транзакции ALO используются, когда повторение запроса транзакции такое же, как выполнение его один раз. Если ответ транзакции потерян, источник повторно передает свой запрос. Это не оказывает негативного влияния на операции протокола, потому что повторение запроса такое же, как выполнение его один раз. Транзакции XO используются, когда повторение запроса транзакции может отрицательно повлиять на операции протокола. Принимающие устройства хранят список каждой недавно принятой транзакции, чтобы повторяющиеся запросы не выполнялись более одного раза.

Протокол AppleTalk Echo

AppleTalk Echo Protocol (AEP) - это протокол транспортного уровня в наборе протоколов AppleTalk, который генерирует пакеты, которые проверяют достижимость сетевых узлов. AEP может быть реализован в любом узле AppleTalk и имеет статически назначенный сокет номер 4 (сокет Echoer).

Чтобы проверить достижимость данного узла, пакет запроса AEP передается в DDP в источнике. DDP обращается к пакету соответствующим образом, указывая в поле Тип, что пакет является требованием AEPул. Когда пакет получен адресатом, DDP проверяет поле Тип и видит, что это запрос AEP. В этом процессе пакет копируется, изменяется на ответ AEP (путем изменения поля в пакете AEP) и возвращается на узел источника.[Источник 2]

Источники

  1. AppleTalk and the OSI Model // informatimago [2019]. Дата изменения: 07.06.1996. URL: http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Networking/Networking-21.html#HEADING21-19 (дата обращения: 14.01.2019).
  2. AppleTalk // DocWiki [2019]. Дата изменения: 01.01.2019. URL: http://docwiki.cisco.com/wiki/AppleTalk#AppleTalk_Transport_Layer (дата обращения: 15.01.2019).