Надежный протокол регистрации событий
Протокол надежной регистрации событий ( RELP ), сетевой протокол для регистрации компьютерных данных в компьютерных сетях, расширяет функциональность протокола системного журнала , обеспечивая надежную доставку сообщений о событиях. Чаще всего он используется в средах, которые не допускают потери сообщений, например в финансовой отрасли .
Обзор
[ редактировать ]RELP использует TCP для передачи сообщений. Это обеспечивает базовую защиту от потери сообщения, но не гарантирует доставку при всех обстоятельствах. Когда соединение прерывается, TCP не может надежно определить, действительно ли последние отправленные сообщения достигли места назначения. [1] В отличие от протокола системного журнала, RELP работает с обратным каналом , который передает отправителю информацию о сообщениях, обработанных получателем. Это позволяет RELP всегда знать, какие сообщения были приняты правильно, даже в случае прерывания соединения.
История
[ редактировать ]RELP был разработан в 2008 году как надежный протокол для . связи между rsyslog Как объясняет дизайнер RELP Райнер Герхардс , отсутствие надежной передачи в стандартном системном журнале было основной мотивацией для создания RELP. [2] Первоначально считалось, что системный журнал RFC 3195 займет эту часть в rsyslog, но он страдал от высоких накладных расходов и отсутствия поддержки новых стандартов системного журнала IETF (которые с тех пор были опубликованы как RFC 5424, но в то время не были названы).
Хотя RELP изначально предназначался исключительно для использования rsyslog, он получил более широкое распространение. [ нужна ссылка ] В настоящее время инструменты как под Linux, так и под Windows поддерживают RELP. Существуют также собственные разработки для Java. Хотя RELP до сих пор официально не стандартизирован, он превратился в отраслевой стандарт компьютерной регистрации. [ нужна ссылка ]
Технические детали
[ редактировать ]RELP основан на системном журнале RFC 3195 и RFC 3080. Во время первоначального соединения отправитель и получатель согласовывают параметры сеанса, такие как поддерживаемый набор команд или размер окна уровня приложения. Сообщения о сетевых событиях передаются в виде команд, при этом получатель подтверждает каждую команду сразу после ее обработки. Сеансы могут быть закрыты как отправителем, так и получателем, но обычно их следует завершать на стороне отправителя. Чтобы облегчить восстановление сообщений при прерывании сеанса, RELP сохраняет номера транзакций для каждой команды и согласовывает, какие сообщения необходимо отправить повторно при восстановлении сеанса.
Текущая версия RELP не определяет встроенную поддержку TLS . Однако в практических развертываниях для обеспечения этой функциональности используются оболочки вокруг сеанса RELP. [ нужна ссылка ]
Реализации
[ редактировать ]Перечислены только общедоступные реализации. Этот список не является исчерпывающим.
- librelp — оригинальная библиотека C RELP.
- rsyslog
- МониторВаре (Windows)
- журнальный тайник
- rlp_01 — Java-библиотека RELP
- jla_01 — Плагин журнала RELP
- jla_04 — обработчик RELP для журналирования Java Util
- jla_05 — плагин RELP для Log4j
Ссылки
[ редактировать ]- ^ «Почему невозможно создать надежный протокол TCP без подтверждений на уровне приложения» . 29 мая 2008 г. Проверено 6 мая 2013 г.
- ^ «RELP — надежный протокол регистрации событий» . 13 марта 2008 г. Проверено 6 мая 2013 г.