menuTicketing
문서search

접속 수립 · 인증

피어 간 연결(Raft 포트 = 클라이언트 포트 + 1000)도 클라이언트 포트와 완전히 같은 순서로 수립됩니다. 프로토콜 안에 클라이언트/피어를 구분하는 절차는 없고, 역할은 포트로만 구분됩니다.

  1. TCP 접속 — 항상 부르는(dial) 쪽이 요청자가 됩니다
  2. 서버가 TLS를 켰다면 TLS 핸드셰이크
  3. 인증 핸드셰이크 1회 — 규격(challenge·digest·응답)은 클라이언트 포트와 바이트 단위로 동일합니다
  4. 이후 길이-프리픽스 RPC 교환

클라이언트 포트와 다른 점

항목클라이언트 포트Raft 포트
검증 토큰 집합client_tokenscluster_tokens
보내는 쪽 토큰클라이언트가 설정한 토큰cluster_tokens첫 번째 토큰
인증 이후\n 종결 프레임길이-프리픽스 RPC
  • 받을 때는 cluster_tokens 목록 전체로 검증하므로, 새·구 토큰을 함께 나열해 두고 순차 재기동하면 토큰을 무중단으로 교체할 수 있습니다 (설정 (환경변수)).
  • TLS가 켜져 있으면 Raft 포트도 같은 인증서를 씁니다. 피어를 부르는 쪽은 상대 인증서를 tls_ca(없으면 시스템 신뢰 저장소)로 검증하며, tls_skip_verify는 테스트 전용입니다.
  • 인증 실패 시 E auth_failed 후 연결이 닫히는 것도 동일합니다.