HSMS와 타이머
HSMS와 타이머
HSMS와 타이머
한눈에 보기
HSMS는 단순 전송 수단이 아니라 SECS/GEM 통신의 바닥입니다. 상위 메시지 시나리오가 잘 보여도, 그 아래 HSMS 세션이 불안정하면 실제 연동은 안정적일 수 없습니다.
HSMS를 한 장으로 보기
direction: right
secs: "SECS-II\n메시지 내용"
hsms: "HSMS\n세션과 전송 규칙"
tcp: "TCP/IP\n연결 기반"
ops: "운영 정책\n타이머 / 재접속 / Linktest"
secs.style.fill: "#f7f3ff"
hsms.style.fill: "#eef6ff"
tcp.style.fill: "#fff4e8"
ops.style.fill: "#f7fff2"
secs -> hsms: "실어 나름"
hsms -> tcp: "연결 사용"
hsms -> ops: "운용 규칙 적용"가장 먼저 이해할 항목
- active / passive 연결
- Select 절차
- Data 절차
- Linktest 절차
- Separate 절차
T3,T5,T6,T7,T8타이머
HSMS-SS가 일반적인 이유
일반적인 장비 연동에서는 HSMS-SS가 가장 많이 쓰입니다.
- SECS-I replacement 용도에 잘 맞습니다.
- active side와 passive side 역할이 분명합니다.
- 복잡한 다중 세션 선택을 다루지 않습니다.
- 통신 종료는 보통
Separate로 처리합니다.
연결 절차를 순서로 읽는 방식
shape: sequence_diagram
Active Side -> Passive Side: "TCP Connect"
Active Side -> Passive Side: "Select Request"
Passive Side -> Active Side: "Select Response"
Active Side -> Passive Side: "Data Message"이 흐름을 이해하면 통신 수립 장과의 경계도 분명해집니다.
Select, Linktest, Separate를 역할별로 읽는 방식
Select
- 의미: 이 TCP 연결을 실제 HSMS 세션으로 사용하겠다는 확인입니다.
- 해석: Data Message를 주고받기 위한 출발점입니다.
Linktest
- 의미: selected 상태에서 링크 생존 여부를 확인하는 control 절차입니다.
- 해석: 장시간 유휴 상태에서도 세션이 살아 있는지 확인하는 데 의미가 큽니다.
Separate
- 의미: 현재 HSMS 통신을 종료하겠다는 선언입니다.
- 해석: 정상 종료, 재연결 전 명시적 종료, 세션 종료 의사 표시로 읽는 편이 좋습니다.
타이머를 상태 카드처럼 읽는 방식
T3
- 의미: Data reply timeout
- 실무 해석: 요청을 보낸 뒤 언제 응답 실패로 판단할 것인가
T5
- 의미: 재접속 분리 시간
- 실무 해석: 너무 공격적인 재연결 루프를 막기 위한 완충 시간
T6
- 의미: control timeout
- 실무 해석: Select, Linktest 같은 control 절차가 얼마나 오래 열려 있을 수 있는가
T7
- 의미: connection idle timeout
- 실무 해석: TCP 연결 후 HSMS 절차가 시작되지 않은 채 얼마나 오래 방치될 수 있는가
T8
- 의미: intercharacter timeout
- 실무 해석: 메시지 수신 중 바이트 간 간격이 너무 길 때 실패로 볼 것인가
타이머를 한 장으로 묶어 보기
| 타이머 | 무엇을 보는가 | 운영 관점 질문 |
|---|---|---|
T3 |
데이터 응답 | 언제 요청 실패로 볼 것인가 |
T5 |
재접속 간격 | 얼마나 쉬고 다시 붙을 것인가 |
T6 |
control 절차 | Select/Linktest를 얼마나 기다릴 것인가 |
T7 |
연결 후 유휴 | 연결만 된 채 방치된 세션을 언제 실패로 볼 것인가 |
T8 |
수신 지연 | 메시지 수신 중 비정상 지연을 언제 실패로 볼 것인가 |
타이머는 단순 숫자가 아니라
언제 연결을 포기하고 복구 절차로 넘어갈지를 정하는 운전 정책입니다.
장애를 볼 때의 확인 순서
- TCP 연결이 실제로 살아 있었는가
- HSMS selected 상태였는가
- Select / Linktest / Separate 중 무엇이 열려 있었는가
T3,T6,T7,T8중 무엇이 걸렸는가- 재연결 후 상위 GEM 초기화가 다시 필요한가
관련 문서
- 통신 수립: 01-communications.md
- Clock과 Spooling: 06-clock-spooling.md