IEC 61162-450 (해양 선교 / 멀티캐스트)
IEC 61162-450 은 선교(bridge) 장비들이 NMEA 0183 문장을 이더넷 UDP 멀티캐스트로 공유하도록 정한 표준입니다. 흔히 "Lightweight Ethernet"(LWE) 이라고 부릅니다.
핵심은 새로운 데이터 형식이 아니라 전송 방식이라는 점입니다. 문장 자체는 NMEA 0183 과 완전히 동일하고, 그것을 시리얼/TCP 대신 멀티캐스트 그룹으로 뿌립니다. 그래서 여러 장비(talker)가 같은 그룹에 쏘고 여러 수신자(listener)가 동시에 받을 수 있습니다.
게이트웨이 드라이버는 지정한 멀티캐스트 그룹에 참여해 데이터그램을 받고, 규격 프리픽스와 TAG 블록을 벗겨낸 뒤 NMEA 0183 드라이버와 같은 파서로 문장을 해석합니다. 읽기 전용 입니다.
등록 폼 입력값
| 입력 칸 | 무엇을 적나요 | 예시 |
|---|---|---|
| IP 주소 | (사용 안 함) 그룹은 아래 옵션에서 지정합니다 | — |
| 포트 | (사용 안 함) | — |
IP 주소 칸의 기본값은 127.0.0.1 입니다. 드라이버는 멀티캐스트 대역(224~239) 인 값만 그룹으로 인정하므로, IP 칸을 그대로 두면 옵션이나 규격 기본값이 사용됩니다. 실수로 유니캐스트 주소를 보게 되는 상황을 막기 위한 설계입니다.
고급 옵션
| 옵션 키 | 기본값 | 설명 |
|---|---|---|
mcast-group | 239.192.0.4 | 수신할 멀티캐스트 그룹 |
mcast-port | 60004 | 포트 |
mcast-nic | (자동) | 수신에 사용할 네트워크 인터페이스 이름 (예: eth0) |
strict-prefix | false | 규격 프리픽스(UdPbC) 가 없는 데이터그램을 버릴지 여부 |
선박망은 대개 NIC 이 여러 개입니다(항법망 / 사무망 분리). mcast-nic 을 지정하지 않으면 OS 기본 경로로 참여하므로, 엉뚱한 인터페이스에서 대기하다 아무것도 못 받을 수 있습니다.
전송 그룹
규격이 정한 8개 그룹입니다. 그룹 하나당 연결 하나로 등록하세요 (여러 그룹을 동시에 받으려면 연결을 나눠 만듭니다).
| 그룹 | 용도 | 주소 | 포트 |
|---|---|---|---|
| MISC | 기타 | 239.192.0.1 | 60001 |
| TGTD | 표적 데이터 (레이더/ARPA) | 239.192.0.2 | 60002 |
| SATD | 위성 | 239.192.0.3 | 60003 |
| NAVD | 항법 데이터 (기본값) | 239.192.0.4 | 60004 |
| VDRD | 항해기록장치(VDR) | 239.192.0.5 | 60005 |
| RCOM | 원격 통신 | 239.192.0.6 | 60006 |
| TIME | 시각 | 239.192.0.7 | 60007 |
| PROP | 제조사 전용 | 239.192.0.8 | 60008 |
대부분의 항법 센서(GPS/자이로/속력계)는 NAVD 로 나옵니다.
태그의 PLC 주소 표기
NMEA 0183 과 완전히 동일합니다. 같은 파서를 공유하므로 문장 지원 범위와 alias 도 같습니다.
| 표기 | 의미 |
|---|---|
RMC.7 | RMC 의 7번 필드 (대지속력 kn) |
GGA.lat | alias — 위도 |
RMC.speed | alias — 속력 |
RMC | (필드 생략) 마지막 수신 raw 문장 전체 |
지원 sentence 와 alias 전체 목록은 NMEA 0183 문서의 alias 표 를 그대로 참고하세요.
데이터그램 구조 (참고)
UdPbC\0 ← 6바이트 규격 프리픽스
\s:GP0001,n:0042*5A\ ← 선택적 TAG 블록 (송신자 식별)
$GPRMC,123519,A,...,W*6A ← NMEA 0183 문장
- 현장 장비 중에는 프리픽스 없이 문장만 보내는 구현도 있어, 기본은 관용적으로 수용합니다.
- 규격 준수를 강제하려면
strict-prefix를true로 두세요.
제약
수신 전용입니다. 게이트웨이가 선교 장비로 문장을 송신(talker)하지는 않습니다.
- AIS 캡슐화 문장(
!AIVDM등) 미지원 — 데이터그램에서 꺼내지기는 하지만 문장 파서가$로 시작하는 문장만 처리합니다. - IEC 61162-460(보안 강화판) 미대응.
- IPv6 멀티캐스트 미대응.
문제 해결
| 증상 | 원인 후보 | 확인 |
|---|---|---|
| 값이 하나도 안 들어옴 | NIC 미지정으로 엉뚱한 인터페이스에서 대기 | mcast-nic 을 항법망 NIC 으로 지정 |
| 값이 하나도 안 들어옴 | 그룹/포트 불일치 | 장비 매뉴얼의 전송 그룹 확인 (위 표) |
| 일부 문장만 들어옴 | 해당 문장이 다른 그룹으로 송신됨 | 그룹별로 연결을 추가 등록 |
| 연결은 되는데 값이 비어 있음 | 태그 주소의 문장타입이 실제 수신 문장과 다름 | 타입만 등록(RMC)해 raw 문장을 먼저 확인 |