Протокол передачи Ликлайдера
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Март 2019 г. ) |
Протокол передачи Licklider — это протокол «точка-точка» для использования в каналах дальнего космоса. LTP обычно рассматривается как стандартный базовый протокол уровня конвергенции для пакетных протоколов ( RFC 5050 ), поддерживающий широкий выбор сетей.
LTP назван в честь американского ученого-компьютерщика Джозефа Карла Робнетта Ликлайдера .
Дизайн
[ редактировать ]LTP предназначен для работы непосредственно над уровнем канала передачи данных (например, протоколом канала передачи данных Advanced Orbiting Systems (AOS)). [1] ). Он также может работать по протоколу пользовательских дейтаграмм (UDP), например, если он используется в сенсорной сети, в частной сети (где борьба за полосу пропускания не является проблемой) или в целях отладки программного обеспечения. Таким образом, он не решает такие проблемы, как маршрутизация или контроль перегрузки. Первоначально он был разработан для поддержки «дальней» передачи в межпланетной сети; его конструкция основана на опыте работы с протоколом доставки файлов CCSDS (CFDP).
Разработанный для космической связи, он имеет следующие особенности:
- Надежная транспортировка важных данных (например, заголовка файла)
- Ненадежная передача данных для менее важных данных (например, пикселей изображения — поврежденный пиксель можно устранить)
- Никакого обмена сообщениями для проведения переговоров. Протокол избегает этого процесса, чтобы избежать задержек из-за большого времени прохождения туда и обратно . Это также позволяет избежать недостаточного использования ссылок.
- Энергоэффективность, поскольку передача осуществляется только в том случае, если канал доступен, и различает важные и неважные данные.
- Его таймеры работают вместе с расписаниями связи и могут быть приостановлены всякий раз, когда происходит запланированное отключение канала.
- Его необходимо информировать о доступности канального уровня, времени прохождения туда и обратно и графиках связи, что в основном требует базы управляющей информации (MIB). LTP имеет высокую степень отслеживания состояния.
- Сеансы однонаправленной передачи позволяют обойти большое время прохождения туда и обратно или неспособность однорангового узла связи осуществлять передачу.
Приложение делит свои данные для отправки на две части (любая часть может иметь размер 0):
- красная . часть: она содержит данные, которые должны надежно передаваться, должны быть подтверждены получателем и должны оставаться доступными до тех пор, пока не будут подтверждены Это может быть, например, заголовок, содержащий важную информацию для декодирования следующих данных, повреждение которого сделает все последующие данные бесполезными.
- часть зеленая . Он содержит данные, которые не требуют надежной транспортировки. Поскольку прием этих данных не подтверждается, после передачи их можно отбросить.
Протокол
[ редактировать ]Механизм LTP сохраняет данные в очереди, проверяет, доступна ли связь с пунктом назначения, и если да, запускает передачу. Если канал недоступен, данные остаются в очереди, и передача начинается, как только поступает так называемый «сигнал состояния канала» либо с нижележащего канального уровня, либо из базы управляющей информации . Учитывая красные данные для отправки, последний сегмент красных данных помечается флагом «конец красных данных», и для этого сегмента запускается таймер. При отсутствии зеленых данных для отправки устанавливается флаг «конец блока», в противном случае передаются зеленые данные, и последний сегмент этой части помечается флагом «конец блока». Получатель выдает сегмент отчета отправителю, как только он получил сегмент «конец красных данных» и все данные завершены. После передачи сегмента отчета запускается таймер. По прибытии сегмента отчета отправитель отменяет свой таймер, ставит в очередь подтверждение отчета для получателя и сообщает приложению, что все красные данные были успешно переданы. Как только получатель получает подтверждение отчета, он отменяет свой таймер и передача красных данных завершается. Передача завершается, если прибыл сегмент «конец блока».
Реализации
[ редактировать ]Эталонные реализации
[ редактировать ]Две эталонные реализации LTP:
- ION, написанный на языке C Лабораторией реактивного движения и поддерживаемый Университетом Огайо .
- LTPlib, написанная на языке C Тринити-колледжем в Дублине .
Другие реализации
[ редактировать ]Ссылки
[ редактировать ]- ^ «Протокол передачи данных AOS Space» (PDF) . Консультативный комитет по системам космических данных (CCSDS) . CCSDS . Проверено 13 марта 2022 г.
- ^ «Скапи» . Гитхаб . 18 ноября 2021 г.
- ^ Scapy: программа и библиотека интерактивного манипулирования пакетами на основе Python. Поддерживает Python 2 и Python 3.: secdev/scapy , SecDev, 05 марта 2019 г. , получено 05 марта 2019 г.