신뢰할 수 있는 이벤트 로깅 프로토콜
Reliable Event Logging Protocol컴퓨터 네트워크의 컴퓨터 데이터 로깅을 위한 네트워킹 프로토콜인 RELP(신뢰할 수 있는 이벤트 로깅 프로토콜)는 syslog 프로토콜의 기능을 확장하여 이벤트 메시지의 신뢰할 수 있는 전달을 제공한다.금융 산업과 같이 메시지 손실을 용인하지 않는 환경에서 가장 많이 사용된다.
개요
RELP는 메시지 전송에 TCP를 사용한다.이것은 메시지 손실에 대한 기본적인 보호를 제공하지만, 모든 상황에서 전달을 보장하지는 않는다.연결이 중단되면 TCP는 마지막으로 보낸 메시지가 실제로 대상에 도달했는지 여부를 신뢰성 있게 감지할 수 없다.[1]Syslog 프로토콜과 달리, RELP는 수신자가 처리한 메시지에 대한 정보를 발신인에게 다시 전달하는 백채널과 함께 작동한다.이를 통해 RELP는 연결이 중단된 경우에도 어떤 메시지가 제대로 수신되었는지 항상 알 수 있다.
역사
RELP는 Rsyslog-to-rsyslog 통신을 위한 신뢰할 수 있는 프로토콜로 2008년에 개발되었다.RELP 디자이너 레이너 제라드(Rainer Gerhards)의 설명처럼, 업계 표준 syslog에서 신뢰할 수 있는 전송의 부족이 RELP를 만드는 핵심 동기가 되었다.[2]원래 RFC 3195 syslog는 rsyslog에서 이 부분을 차지하는 것으로 간주되었지만, 높은 오버헤드와 새로운 IETF syslog 표준에 대한 지원 누락으로 어려움을 겪었다(이후 RFC 5424로 발표되었지만 당시에는 이름이 지정되지 않았다).
RELP는 처음에는 Rsyslog만을 위한 것이었지만, 보다 광범위하게 채택되었다.[citation needed]현재 리눅스 및 윈도우즈의 툴은 RELP를 지원한다.자바를 위한 사내 배치도 있다.RELP는 여전히 공식적으로 표준화되어 있지 않지만, 컴퓨터 로깅을 위한 산업 표준으로 진화했다.[citation needed]
기술적 세부사항
RELP는 RFC 3195 syslog와 RFC 3080에서 영감을 얻었다.초기 연결 중에 송신자와 수신자는 지원되는 명령 집합이나 응용 프로그램 수준 창 크기와 같은 세션 옵션을 협상한다.네트워크 이벤트 메시지는 명령으로 전송되며, 여기서 수신자는 각 명령을 처리하자마자 이를 승인한다.세션은 송신자와 수신자 모두 닫을 수 있지만, 일반적으로 송신자 측에서 종료해야 한다.세션 중단 시 메시지 복구를 용이하게 하기 위해, RELP는 각 명령어에 대한 트랜잭션 번호를 유지하고, 세션 재정립 시 재전송해야 할 메시지를 협상한다.
현재 버전의 RELP는 기본 TLS 지원을 지정하지 않는다.그러나 실제 배포에서는 해당 기능을 제공하기 위해 RELP 세션 주위에 래퍼를 사용한다.[citation needed]
구현
공개적으로 사용할 수 있는 구현만 나열된다.이 목록은 완전하지 않다.
- librelp - 원본 C RELP 라이브러리
- 리슬로그
- MonitorWare(Windows)
- 로그스트래시
- rlp_01 - Java RELP 라이브러리
- jla_01 - RELP 로그백 플러그인
- jla_04 - Java Util 로깅 RELP 처리기
- jla_05 - Log4j RELP 플러그인
참조
- ^ "Why you can't build a reliable TCP protocol without app-level acks". 2008-05-29. Retrieved 2013-05-06.
- ^ "RELP - the reliable event logging protocol". 2008-03-13. Retrieved 2013-05-06.