노드 통신 프로토콜
PRX 노드는 TCP를 통한 암호화된 인증 프로토콜로 통신합니다. 이 페이지에서는 와이어 포맷과 메시지 유형을 설명합니다.
전송
- 프로토콜: 페어링된 키를 통한 상호 인증이 적용된 TLS 1.3 기반 TCP
- 직렬화: 길이 접두사가 붙은 MessagePack 프레임
- 압축: 선택적 LZ4 프레임 압축
메시지 유형
| 유형 | 방향 | 설명 |
|---|---|---|
TaskRequest | 컨트롤러 -> 노드 | 노드에 작업 할당 |
TaskResult | 노드 -> 컨트롤러 | 작업 실행 결과 반환 |
StatusQuery | 컨트롤러 -> 노드 | 노드 상태 요청 |
StatusReport | 노드 -> 컨트롤러 | 노드 상태 및 용량 보고 |
Heartbeat | 양방향 | 킵얼라이브 및 지연 시간 측정 |
Cancel | 컨트롤러 -> 노드 | 실행 중인 작업 취소 |
설정
toml
[node.protocol]
tls_version = "1.3"
compression = "lz4" # "lz4" | "none"
max_frame_size_kb = 4096
heartbeat_interval_secs = 15
connection_timeout_secs = 10연결 생명주기
- 연결 -- TCP 연결 수립
- TLS 핸드셰이크 -- 페어링된 키를 통한 상호 인증
- 프로토콜 협상 -- 버전 및 압축 방식 합의
- 활성 -- 메시지 교환
- 정상 종료 -- 연결 해제 메시지 전송 후 종료