Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Протокол передачи Licklider - это протокол точка-точка для использования в каналах связи в дальнем космосе. LTP обычно рассматривается как стандартный базовый протокол уровня конвергенции для Bundle Protocol ( RFC 5050 ), поддерживающий широкий выбор сетей.

LTP назван в честь американского ученого-информатика Джозефа Карла Робнета Ликлайдера .

Дизайн [ править ]

LTP разработан для работы непосредственно на уровне канала передачи данных (например, протокол канала космической передачи данных Advanced Orbiting Systems (AOS) [1] ). Он также может работать по протоколу пользовательских дейтаграмм (UDP), например, при использовании в сенсорной сети, в частной сети (где проблема пропускной способности не является проблемой) или в целях отладки программного обеспечения. Следовательно, он не решает такие проблемы, как маршрутизация или контроль перегрузки. Первоначально он был разработан для поддержки передачи на большие расстояния в межпланетной сети; его конструкция основана на опыте работы с протоколом доставки файлов CCSDS (CFDP).

Разработанный для космической связи, он имеет следующие особенности:

  • Надежный перенос важных данных (например, заголовка файла)
  • Ненадежная передача менее важных данных (например, пикселей изображения - поврежденный пиксель можно преодолеть)
  • Нет обмена сообщениями для выполнения переговоров. Протокол избегает этого процесса, чтобы избежать задержек из-за большого времени приема-передачи . Это также позволяет избежать недоиспользования ссылок.
  • Энергоэффективность, поскольку она передает только при наличии ссылки и различает важные и неважные данные.
  • Его таймеры работают вместе с графиками связи и могут быть приостановлены при возникновении запланированного отключения связи.
  • Он должен быть проинформирован о доступности канального уровня, времени приема-передачи и графиках связи, для чего в основном требуется база управляющей информации (MIB). LTP очень отслеживает состояние.
  • Сеансы однонаправленной передачи, обходят большое время приема-передачи или неспособность однорангового узла связи передавать

Приложение делит свои данные для отправки на две части (каждая часть может иметь размер 0):

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

Протокол [ править ]

Механизм LTP хранит данные в очереди, проверяет, доступна ли ссылка к месту назначения, и, если да, запускает передачу. Если канал недоступен, данные остаются в очереди, и передача начинается, как только поступает так называемый «сигнал состояния канала», либо от нижележащего уровня канала, либо из базы информации управления.. Если даны красные данные для отправки, последний сегмент красных данных помечается флажком «конец красных данных», и для этого сегмента запускается таймер. При отсутствии зеленых данных для отправки устанавливается флаг «конец блока», в противном случае передаются зеленые данные, и последний сегмент этой части помечается флажком «конец блока». Получатель выдает сегмент отчета для отправителя, как только он получил сегмент «конец красных данных» и все данные завершены. После передачи сегмента отчета запускается таймер. По прибытии сегмента отчета отправитель отменяет свой таймер, ставит в очередь подтверждение отчета для получателя и сообщает приложению, что все красные данные были успешно переданы. Как только получатель получает отчет-подтверждение, он отменяет свой таймер, и передача красных данных завершается.

Реализации [ править ]

Эталонные реализации [ править ]

Две эталонные реализации LTP:

  • ION, написанный на C Лабораторией реактивного движения и поддерживаемый в Университете Огайо .
  • LTPlib, написанный на языке C Тринити-колледжем в Дублине .

Другие реализации [ править ]

  • У Scapy есть модуль Contrib LTP, [2] предоставленный MITER Corporation. [3]

Ссылки [ править ]

  1. ^ «ПРОТОКОЛ AOS SPACE DATA LINK» (PDF) . Консультативный комитет по системам космических данных (CCSDS) . CCSDS . Проверено 18 декабря 2019 .
  2. ^ https://github.com/secdev/scapy/blob/master/scapy/contrib/ltp.py
  3. ^ Scapy: программа и библиотека для интерактивного управления пакетами на основе Python. Поддерживает Python 2 и Python 3 .: secdev / scapy , SecDev, 05.03.2019 , получено 05.03.2019.

Внешние ссылки [ править ]

  • RFC 5325: протокол передачи Ликлайдера - мотивация
  • RFC 5326: протокол передачи Licklider - спецификация
  • RFC 5327: протокол передачи Licklider - расширения безопасности
  • ION, Университет Огайо
  • LTPlib Тринити-колледж