I. Introduction
KVMF(Korean Variable Message Format) 프로토콜은 비트 단위의 가변형 메시지 처리 프로토콜로서 다양한 무기 체계 간 데이터 통신이 가능하도록 표준 메시지와 통신 방법을 정의한 육군 표준 전술데이터링크 프로토콜이다. KVMF 프로토콜은 현대전의 핵심인 NCW(Network Centric Warfare) 구현을 위하여 2013년 이후 육군 전술 데이터링크의 표준(이하 KVMF 1.0)으로 제정되었고 이후에 여러 가지 지휘 통제 체계, 전차/장갑차, 헬기, 방공 무기 등 다양한 무기 체계에 전력화되어 운용되고 있다[1].
KVMF 1.0 프로토콜이 제정될 당시 다양한 무기 체계 간 원활한 연동을 위하여 작전에 필요한 정보가 빠짐없이 유통될 수 있도록 무기 체계 특성에 맞는 메시지 종류와 그에 따른 메시지 필드들의 종류, 필드 크기가 정의되었다. 이러한 노력을 통하여 KVMF 1.0이 탑재된 무기 체계 간에는 원활한 데이터 교환이 가능하게 되었고 이를 통해 이전의 아날로그 방식의 정보 교환 시절에 비하여 부대 간 전술 정보 교환 속도가 빨라지게 되었다. 또한 전술 정보 교환의 정확도가 높아져서 육군의 작전 수행 능력과 작전 성공 확률이 한 단계 업그레이드 되게 되었다[2,3].
KVMF 1.0 프로토콜이 적용된 이후 시간이 흐름에 따라 국방 과학 기술도 발전하게 되었고 신기술을 적용하여 신규 무기 체계와 성능개량 무기 체계가 도입되기 시작했다. 신규 무기 체계와 성능개량 무기 체계가 기존 KVMF 1.0 무기 체계와 연동하기 위해서는 신규/성능개량 무기 체계에도 KVMF 프로토콜이 탑재되어야 한다.
신규/성능개량 무기 체계는 체계 특성에 맞는 새로운 표준 메시지를 제정하여 메시지를 탑재하거나 기존 메시지를 개정하여 탑재할 수 있다. 이와 같은 경우에는 기존 무기 체계에서 사용 중인 KVMF 1.0 프로토콜이 상위 메시지 버전에 대한 호환성 보장 능력이 없으므로 신규/성능개량 무기 체계와 기존 무기 체계 간에 연동이 되지 않는 문제가 발생할 수 있다. 이는 신규/성능개량 무기 체계에서 기존 무기 체계와의 호환을 위한 하위 호환성 보장 능력을 고려하여 개발하지 않는다면, 기존 KVMF 1.0 무기 체계와 연동할 수 없음을 의미한다. 따라서 신규/성능개량 무기 체계에 탑재되는 KVMF 프로토콜은 기존 KVMF 1.0 프로토콜 체계와 연동하기 위하여 하위 호환성 보장 능력을 반드시 가지고 있어야 한다.
나아가서 신규/성능개량 무기 체계가 도입된 이후에 새롭게 제정되거나 개정되는 메시지를 탑재하는 무기 체계가 도입될 경우에도 기존 무기 체계와 신규 무기 체계 간 연동을 위한 호환성 관련 프로토콜 기능이 필요하다. 이와 같은 미래의 새로운 메시지가 도입됨에 따라서 연속적으로 하위 버전과의 연동에 관한 문제가 발생하지 않도록 하기 위해서는 궁극적으로 KVMF 프로토콜은 상위 호환성 보장 능력을 가지고 있어야 한다[4].
하위 호환성 문제와 상위 호환성 문제를 해결하기 위하여 본 논문에서는 하위 호환성 보장 능력과 상위 호환성 보장 능력을 가진 KVMF 프로토콜의 설계 방안에 대하여 연구하였다.
본 논문에서는 메시지 버전 간 상/하위 호환성 보장 능력이 적용된 KVMF 프로토콜을 KVMF 2.0 프로토콜이라고 명명하였다.
논문의 1장에서는 기존 KVMF 1.0 프로토콜에 대한 소개와 신규 메시지 버전의 무기 체계가 도입될 경우 발생할 수 있는 문제점에 대해 기술하였다. 2장에서는 기존 KVMF 1.0 프로토콜의 특성과 한계점에 대해 설명하였다. 3장에서는 기존 KVMF 1.0 프로토콜과 호환을 위한 KVMF 2.0 프로토콜의 하위 호환성 보장 기능의 설계 방안에 대하여 기술하였다. 또한 향후에 개정될 미래 메시지와의 호환성을 위한 KVMF 2.0 프로토콜의 상위 호환성 보장 방안에 대한 설계 내용을 기술하였다. 4장에서는 설계 방안의 효과를 확인할 수 있도록 시험 환경을 구성하여 기능 구현을 통해 연구 결과를 검증하는 과정을 기술하였다. 5장에서는 본 논문의 결론을 서술하였다.
II. Background and Related works about KVMF 1.0
1. Background about KVMF 1.0
1.1 KVMF 1.0 Protocol
KVMF 메시지는 응용 헤더(Header)와 KVMF 메시지 바디(Body)로 이루어져 있다. 응용 헤더는 메시지 송신자, 메시지 수신자, 메시지 종류, 응용 헤더의 버전, 응용 헤더와 메시지 바디의 크기 등 메시지를 송/수신하기 위한 전송 관련 제반 정보들을 포함하고 있다. KVMF 메시지는 비트 단위의 필드들의 조합으로 정의되는 메시지이며 필요한 필드만 메시지에 포함되도록 가변형 문법 처리를 위한 네 개의 문법 지시자(FPI, GPI, FRI, GRI)를 포함한다.
FPI(Field Presence Indicator) 필드는 1비트 크기의 필드 존재 지시자로 FPI 필드 뒤에 따라오는 필드의 값이 존재하는지 존재하지 않는지를 의미한다. GPI(Group Presence Indicator) 필드는 1비트 크기의 그룹 존재 지시자로 GPI 필드 뒤에 따라오는 그룹이 존재하는지 존재하지 않는지를 의미한다. FRI(Field Recurrence Indicator) 필드는 1비트 크기의 필드 반복 지시자로서 FRI 필드 뒤에 이어서 FRI 필드가 반복되어 존재하는지 존재하지 않는지를 의미한다. GRI(Group Recurrence Indicator) 필드는 1비트 크기의 그룹 반복 지시자로서 GRI 필드 뒤에 이어지는 그룹이 반복되어 존재하는지 존재하지 않는지를 의미한다.
KVMF 1.0 프로토콜은 가변 프로토콜을 바탕으로 필요한 정보만 유통 데이터에 할당하는 방식으로 전송 데이터 크기를 최소화하여 대역폭이 낮은 통신 장비를 보유한 무기 체계에서도 근 실시간 전술 정보의 교환이 가능하게 하는 육군 전술 데이터링크 프로토콜이다[5,6,7].
1.2 KVMF 1.0 Message Processor SW
KVMF 1.0 프로토콜을 적용한 무기 체계는 KVMF 1.0 메시지처리 소프트웨어를 탑재하여 KVMF 1.0 메시지에 대한 인코딩/디코딩 처리를 수행한다.
KVMF 1.0 메시지처리 소프트웨어를 사용하는 무기 체계는 전시용 소프트웨어 상에서 운용자가 작성한 메시지를 KVMF 메시지처리 소프트웨어가 바이트 단위의 메시지를 비트 단위로 인코딩하여 무기 체계에 탑재된 통신 장비로 전송한다. 수신 측 무기 체계에서는 통신 장비를 통해 수신된 메시지를 KVMF 메시지처리 소프트웨어로 전송하고 KVMF 메시지처리 소프트웨어는 비트 단위의 메시지를 바이트 단위의 메시지로 디코딩 하여 전시용 소프트웨어를 통해 운용자가 메시지를 확인할 수 있게 한다[8].
KVMF 1.0 메시지처리 소프트웨어는 바이트와 비트간 인코딩/디코딩 이외에 KVMF 가변형 문법 지시자 처리를 수행한다. 가변형 문법 지시자 처리는 송신 시에 필요 없는 데이터가 유통되지 않도록 문법 지시자에 따라서 인코딩 하고 수신 시에는 수신한 데이터의 값이 어떤 필드에 해당하는 값인지 문법 지시자에 따른 디코딩 처리를 수행하는 것을 의미한다[9].
KVMF 1.0 메시지처리 소프트웨어는 KVMF 1.0 메시지의 구조와 필드의 종류, 필드의 크기 등 메시지 정보를 미리 내장하여 알고 있으며 해당 메시지 정보를 활용하여 송/수신 메시지를 인코딩/디코딩 할 수 있다[10,11].
2. Related works about KVMF 1.0
2.1 Backward Incompatibility Between Different KVMF Message Versions When Using KVMF 1.0 Protocol
KVMF 1.0 메시지처리 소프트웨어는 내장하여 미리 알고 있는 메시지 정보를 활용하여 메시지 처리를 수행한다. 따라서 KVMF 1.0 메시지처리 소프트웨어가 메시지 정보를 보유하고 있지 않은 메시지에 대해서는 제대로 처리할 수 없다. KVMF 2.0 메시지를 탑재한 무기 체계에서 KVMF 1.0 메시지가 탑재된 무기 체계로 KVMF 메시지를 송신할 경우에, 메시지 버전의 차이에 따라서 메시지 구조, 필드의 순서, 필드의 종류, 필드의 크기가 다르다면 KVMF 1.0 체계에서는 메시지를 제대로 수신할 수 없다.
KVMF 메시지는 K + 그룹 번호.메시지 번호 형태로 메시지 식별 번호가 정해진다. 예를 들어 K01.1 이라는 메시지가 1.0 버전에서 (가) 필드, (나) 필드, (다) 필드 순서로 정의되고 각각의 크기가 3 비트 4 비트 5 비트로서 총 12비트라고 가정하자. 그런데 2.0 버전에서는 K01.1 메시지가 개정되어 (가), (나), (다) 필드의 순서는 유지되지만 각 필드의 크기는 3 비트, 5 비트, 5 비트로 정의되어 (나) 필드가 1비트가 증가된 총 13비트로서 메시지가 개정될 수 있다. 이럴 경우에는 같은 메시지 번호이면서 필드의 순서도 동일하지만 (나) 필드의 비트 수가 다름으로 인하여 KVMF 1.0 메시지처리 소프트웨어 입장에서는 2.0 버전에서 개정된 메시지를 처리할 수 없다.
개정된 K01.1 메시지를 KVMF 2.0 무기 체계에서 KVMF 1.0 무기 체계로 송신할 경우에 첫 번째 필드는 동일한 3 비트이므로 KVMF 1.0 메시지처리 소프트웨어는 2.0에서 인코딩한 값으로 제대로 디코딩 한다. 두 번째 (나) 필드는 1.0 에서는 4비트를 디코딩 하려고 할 것이기 때문에 2.0 에서 5비트로 인코딩하여 보낸 값을 정확하게 디코딩 하지 못한다. 그리고 KVMF 2.0 메시지처리 소프트웨어에서 (가) 필드(3 비트), (나) 필드(5 비트) 뒷부분인 9 비트 위치에서부터 13 비트 위치까지 5 비트 만큼을 (다) 필드의 값으로 인코딩하였기 때문에, KVMF 1.0 메시지처리 소프트웨어에서 (가) 필드(3 비트), (나) 필드(4 비트)를 처리한 후 8비트 위치에서 12비트 위치까지 5비트를 잘라서 디코딩 한다면 2.0 에서 인코딩하여 보낸 (다) 필드의 값을 제대로 디코딩 할 수 없다. 또한 이때 KVMF 1.0 메시지처리 소프트웨어에서는 디코딩을 완료했다고 판단했음에도 불구하고 마지막 1비트가 남는 문제가 발생하여 남는 필드에 대한 예외 처리가 제대로 되어 있지 않을 경우 무기 체계 소프트웨어가 비정상 종료되거나 오동작의 원인이 되는 문제를 유발할 가능성도 있다[12].
이처럼 KVMF 1.0 메시지처리 소프트웨어는 메시지 구조, 필드 종류, 필드 크기가 자신이 알고 있지 않은 형태로 메시지를 수신 받는 경우에는 메시지를 제대로 처리할 수 없다.
그러므로 KVMF 2.0 무기 체계가 KVMF 1.0 무기 체계에 메시지를 송신해야 할 때에는 KVMF 1.0 무기 체계가 메시지를 수신할 수 있도록 KVMF 1.0 무기 체계에 맞는 메시지 버전으로 인코딩하여 송신해야 한다.
반대로 KVMF 1.0 무기 체계에서 송신한 메시지를 KVMF 2.0 무기 체계에서 수신하기 위해서는 KVMF 2.0 무기 체계에서는 KVMF 1.0 메시지 버전으로 메시지를 디코딩 해야 한다.
이와 같이 KVMF 2.0 무기 체계가 KVMF 1.0 무기 체계와 연동하기 위해서는 연동하고자 하는 무기 체계가 KVMF 1.0 메시지를 사용하는지를 사전에 파악하여 사용시에는 KVMF 1.0 메시지 버전으로 메시지를 처리해야 한다[13].
KVMF 1.0 프로토콜은 메시지 버전 간 호환성 기능이 없기 때문에 사전에 메시지 버전 정보를 파악하여 해당 버전에 맞게 메시지를 인코딩/디코딩 하는 방법이 현재로서는 유일한 메시지 연동 방법이다.
2.2 Forward Incompatibility Between Different KVMF Message Versions When Using KVMF 1.0 Protocol
KVMF 1.0 메시지처리 소프트웨어가 상위 버전과의 메시지 호환성 보장 능력이 없기 때문에 KVMF 2.0 메시지를 처리할 수 없는 문제를 2.1 장에서 확인하였다.
그런데 KVMF 2.0 메시지처리 소프트웨어도 상위 호환성 보장 능력이 없다면 동일한 문제가 연속으로 발생하게 된다. 예를 들어 미래에 KVMF 2.1 메시지가 개정되어 KVMF 2.1 무기 체계에서 KVMF 2.1 메시지를 그대로 KVMF 2.0 무기 체계로 송신한다면 KVMF 2.0 무기 체계에서 메시지를 제대로 수신할 수 없다. 또한 KVMF 2.0 무기 체계에서 KVMF 2.1을 탑재한 무기 체계로, 2.1에서 메시지가 개정되었지만 KVMF 2.0 메시지로 송신한다면 KVMF 2.1 무기 체계에서는 KVMF 2.0 메시지를 제대로 수신할 수 없다.
따라서 이러한 문제를 예방하기 위해서는 미래에 메시지를 개정할 때, 이런 문제를 벗어날 수 있는 설계 방안을 적용하여 메시지를 개정해야 한다. 그렇게 해야 지속적으로 발생할 수 있는 미래 버전과의 메시지 호환성 문제를 해결할 수 있다.
앞선 2.1 장에서는 기존 메시지가 변경되어 개정될 경우에, 기 전력화되어 운용 중인 무기 체계와 연동하기 위한 방법으로서 개정 전의 메시지 형태대로 메시지를 송/수신하는 방법을 메시지 호환성 보장 방안으로 제시하였다. 이 방법을 계속적으로 적용한다고 가정하여, KVMF 2.1, 2.2, 2.3 버전으로 각각 메시지가 개정되어 신규 무기 체계에 탑재되는 경우를 생각해 볼 수 있다. KVMF 2.1 무기 체계는 KVMF 2.0 무기 체계와 연동하기 위하여 2.0에 맞게 메시지를 송/수신해야 한다. KVMF 2.2 무기 체계는 KVMF 2.0, 2.1 무기 체계와 연동하기 위하여 각각 버전에 맞게 메시지를 만들어서 송/수신 처리를 해야 한다. 이것이 가능하기 위해서는 KVMF 2.1 메시지 처리 소프트웨어는 KVMF 2.0 메시지의 파싱을 위한 인코더/디코더를 보유해야 하고 KVMF 2.2 메시지처리 소프트웨어는 KVMF 2.1 메시지의 파싱을 위한 인코더/디코더 및 KVMF 2.0 메시지의 파싱을 위한 인코더/디코더를 모두 보유해야 한다.
해당 상황을 일반화하여 KVMF 2.N 버전의 메시지처리 소프트웨어가 하위 버전의 무기 체계와 연동하는 상황을 가정해 보면 KVMF 2.N 무기 체계는 2.0, 2.1 ~ 2.(N-1) 메시지의 파싱을 위한 각각의 인코더/디코더를 모두 보유해야 한다. 이렇게 되면 KVMF 2.N 메시지처리 소프트웨어는 하위 모든 버전의 메시지 인코더/디코더를 보유해야 하기 때문에 실행파일의 크기가 N 값에 비례해서 커지는 문제가 발생한다. 그리고 프로세스가 필요로 하는 메모리 용량도 N 값에 비례해서 커지게 된다. 이것은 메시지가 개정될수록 비례적으로 발생하는 문제이므로 미래에 언젠가는 물리적인 한계로 인하여 메시지 파서를 탑재할 수 없어서 호환성 기능을 보장할 수 없게 되는 불완전한 메시지 호환 방식이다.
따라서 KVMF 2.0 프로토콜은 2.1장의 메시지 호환 방식과는 다른 방식을 적용하여, 완전한 상위 호환성이 보장될 수 있는 확장성을 가진 방식으로 프로토콜 설계가 되어야 한다.
III. The Proposed Method for KVMF 2.0
1. Backward Compatibility Between KVMF 2.0 And KVMF 1.0
1.1 Method To Ensure Compatibility When Field Value Unit Is Different When Using KVMF 2.0 Protocol
KVMF는 자료 항목으로 불리는 여러 종류의 필드들이 존재한다. KVMF 1.0이 도입된 후 몇 회의 메시지 개정이 이루어졌고 개정이 이루어짐에 따라서 KVMF 1.0-01, KVMF 1.0-02 와 같은 방식으로 01 ~ 0N의 형태로 1.0번호 뒤에 대시(‘-’) 기호로 구분되어 세부 버전이 매겨졌다. 새로운 버전으로 개정되면서 필드의 비트 수는 동일하지만 값의 단위가 변경되는 경우가 발생했는데 이럴 경우 무기 체계 간에 상이 버전 간 연동을 위해서는 달라진 단위 간 변환 공식을 통하여 호환이 되도록 처리해야 한다.
예를 들어 KVMF 1.0-01 버전에서는 속도를 의미하고 단위는 Kilometers Per Hour인 필드 A가 KVMF 1.0-02 버전에서는 비트 수는 동일하지만 단위가 Knot로 변경되었다고 하자. 이때 A 필드가 포함된 메시지를 신규 무기 체계인 KVMF 2.0 무기 체계에서 KVMF 1.0 무기 체계로 송신하기 위해서는 KVMF 1.0-01 버전의 무기 체계로 송신할 경우에는 A 필드의 값을 Kilometers Per Hour의 단위 값으로 송신해야 하고, KVMF 1.0-02 버전의 무기 체계로는 Knot의 단위의 값으로 송신해야 한다.
만약에 10 Knot의 속도를 KVMF 2.0 무기 체계에서 KVMF 1.0-01 무기 체계와 KVMF 1.0-02 무기 체계로 각각 송신한다고 가정하면, 1 Knot는 1.852 Kilometer이므로 KVMF 1.0-01 무기 체계로 보낼 경우에는 18.52의 값을 송신하고 KVMF 1.0-02 무기 체계로 보낼 경우에는 10의 값을 송신해야 한다.
이러한 방식으로, 메시지 필드의 크기가 동일하지만 값의 단위가 변경되어 메시지가 개정된 경우에는 해당 무기 체계에서 사용하는 메시지 버전이 무엇인지 사전에 파악하여 해당 체계에서 적용하고 있는 단위로 값을 맞춰서 메시지를 송신해야 한다.
반대로 KVMF 2.0 무기 체계가 기 전력화되어있는 KVMF 1.0 무기 체계로부터 메시지를 수신하는 경우에는 송신하는 무기 체계의 메시지 버전을 사전에 파악하여 사용하고 있는 필드 값의 단위를 알고 있어야 한다. 그래서 메시지를 수신하면 KVMF 2.0 무기 체계의 단위로 값을 변환하는 과정을 거쳐서 수신 처리해야 한다.
현재로서는 기 전력화 및 배치되어 있는 KVMF 1.0 무기 체계는 성능 개선이 되지 않는 한 소프트웨어 기능이 수정될 수 없다. 그러므로 연동 대상 부대에서 적용 중인 KVMF 메시지 버전 정보를 사전에 파악하는 과정이 반드시 필요한 것이다.
1.2 Method To Ensure Compatibility When Bit Size Is Different When Using KVMF 2.0 Protocol
KVMF 메시지가 개정되면서 필드의 비트 수가 늘어나는 경우가 있다. 예를 들어 B라는 필드가 KVMF 1.0-01 버전에서는 2 비트 필드로서 0 ~ 3의 네 가지 값을 가질 수 있었지만 KVMF 1.0-02 버전에서 3 비트로 크기가 증가하도록 개정되어 0 ~ 7까지의 여덟 가지의 값을 가질 수 있게 되었다고 가정하자. 이런 경우는 대부분 해당 필드에서 필요로 하는 정보의 개수가 늘어나게 되어서 필드의 비트 수가 증가하여 개정되는 경우이다.
Fig. 1. Backward Compatibility Design Concept When Field Value Unit Is Different
이렇게 비트의 수가 증가하는 경우에는 추가되는 비트 부분에는 새로운 정보를 할당하게 되고 기존의 비트 부분은 기존의 정보를 그대로 유지하는 방식으로 메시지가 개정된다. 최대한 하위 호환성을 고려한 개정 방식이다. 만약에 KVMF 2.0 무기 체계에서 KVMF 1.0-01 버전 무기 체계와 KVMF 1.0-02 버전 무기 체계로 B 필드를 각각 송신한다면 0 ~ 3의 값을 보내는 경우에는 해당 값으로 인코딩하여 두 군데로 송신한다. 이때 값은 동일하겠지만 인코딩 필드의 비트 크기는 1.0-01 버전 체계로는 2 비트로 인코딩하고 1.0-02 버전 체계로는 3 비트로 인코딩하여 데이터를 보내야 한다.
KVMF 2.0 무기 체계에서 B 필드의 값을 4 ~ 7 사이의 값으로 1.0-02 버전의 무기 체계로 보낼 경우를 생각해 보면 1.0-02 버전에서는 B 필드가 3비트이므로 4 ~ 7의 값을 그대로 3 비트로 인코딩하여 보내면 된다. 그러나 1.0-01 버전의 무기 체계로 4 ~ 7 값을 보내려고 하는 경우를 생각해 보면 1.0-01 버전에서는 B 필드가 2비트이므로 4 ~ 7 값을 2 비트 공간(0~3)에 인코딩할 수 없다. 만약에 3 비트의 공간에 억지로 값을 채워 넣어서 1.0-01 무기 체계로 송신하면 1.0-01 무기 체계는 2 비트까지의 값을 B 필드의 값으로 인지할 것이다. 그리고 나머지 1비트는 그다음 필드의 Most Significant Bit로 처리할 것이다. 나아가서 뒤이은 필드들이 모두 한 비트씩 밀리게 된다. 따라서 B 필드에서 뒷부분 필드들의 값은 송신자가 의도한 값과 다른 값으로 수신자가 값을 처리하게 된다. 그러므로 위와 같은 경우(4 ~ 7값)에는 B필드가 포함된 메시지를 1.0-01 무기 체계로 송신하면 안 된다.
즉, KVMF 2.0 무기 체계에서 KVMF 1.0 무기 체계로 메시지를 보낼 때 송신하고자 하는 값이 KVMF 1.0 무기 체계가 받을 수 있는 비트 크기를 벗어나는 값이라면 해당 체계로 메시지가 송신되지 않도록 처리해야 한다.
반대로 KVMF 2.0 무기 체계가 KVMF 1.0 무기 체계로부터 메시지를 수신하는 경우에는 송신하는 무기 체계의 메시지 버전을 사전에 인지하여, 송신하는 무기 체계에서 인코딩하는 필드의 크기대로 수신한 메시지를 디코딩하도록 처리하면 된다. 그렇게 하면 송신한 메시지 필드의 크기가 다르더라도 KVMF 2.0 무기 체계에서는 문제없이 메시지를 수신할 수 있다.
1.3 Method To Ensure Compatibility Between GRI Groups Of Different Recurrence Numbers When Using KVMF 2.0 Protocol
KVMF 프로토콜은 반복 지시자를 활용하여 동일한 그룹이나 필드를 가변적으로 반복할 수 있는 기능이 있다. GRI 지시자는 1일 때는 해당 그룹이 마지막이 아니고 뒤에 동일한 그룹이 더 있음을 의미하며 0일 때는 해당 그룹이 마지막 그룹임을 의미한다. FRI 지시자도 마찬가지로 1일 때는 속한 필드가 마지막이 아니며 0일 때는 속한 필드가 마지막임을 의미한다. 반복 지시자는 메시지와 필드별로 최대 반복 가능한 횟수가 표준화되어 정해져 있다.
Fig. 2. Backward Compatibility Design Concept When Bit Size Is Different
그런데 메시지가 개정되어 반복 횟수가 변경되는 경우가 있다. 주로 유통되어야 할 정보의 개수가 많아져서 반복 그룹의 최대 반복 횟수가 증가되는 경우이다.
KVMF 2.0에서 반복 횟수 증가로 개정된 메시지를 KVMF 1.0 무기 체계로 송신하는 경우에는 KVMF 1.0 무기 체계에서 적용하고 있는 최대 반복 횟수를 초과하는 메시지로 만들어서 송신하면 안 된다. 예를 들어 C라는 반복 그룹이 KVMF 1.0에서는 최대 반복 횟수가 18회였지만 KVMF 2.0에서 22회로 개정되었다고 가정해 보자. 만약에 KVMF 2.0 무기 체계에서 C 반복 그룹을 20회로 반복하여 KVMF 1.0 무기 체계로 메시지를 송신한다면 KVMF 1.0 메시지처리 소프트웨어는 자신이 알고 있는 마지막 그룹인 18번째 그룹의 GRI 지시자의 값이 0이라고 예상을 할 것이다. 하지만 KVMF 2.0 무기 체계에서 20회로 반복하여 메시지를 만들었기 때문에 18번째 그룹의 GRI 지시자 위치에는 1 값이 할당되어 있다. 이럴 경우 KVMF 1.0 메시지처리 소프트웨어는 해당 메시지는 표준을 위반한 메시지로 간주하여 수신 처리를 중단하고 에러 처리 루틴으로 진입한다.
이처럼 기존 최대 반복 횟수보다 큰 반복 횟수로 개정된 메시지를 송신하는 경우에는 수신 부대가 처리할 수 있는 최대 반복 횟수 만큼만 반복하여 메시지를 보내어야 한다. 기존 최대 반복 횟수 내에 포함되는 그룹의 정보는 수신 부대에서 받을 수 있기 때문이다. 하지만 기존 최대 반복 횟수를 초과하는 부분의 반복 그룹의 데이터는 포함하지 않았으므로 수신 부대가 필요한 전술 정보를 알 수 없게 되는 한계점이 있다. 따라서 누락된 정보로 인하여 문제가 발생하지 않도록 수신 측의 최대 반복 횟수로 메시지를 만들어서 보낸 후에, 최대 반복 횟수를 초과하는 부분의 정보에 대해서는 새로 메시지를 만들어서 해당 정보만 담아서 메시지를 추가로 송신해야 한다. 그렇게 하면 메시지 송신 횟수는 2회로 늘어나지만 송신하고자 하는 정보는 모두 KVMF 1.0 무기 체계로 송신할 수 있다.
반대로 KVMF 2.0 무기 체계가 KVMF 1.0 무기 체계로부터 메시지를 수신하는 경우에는 KVMF 1.0 무기 체계에서 최대 반복 횟수로 메시지를 보내더라도 KVMF 2.0 무기 체계에서 처리할 수 있는 반복 횟수가 더 크기 때문에 문제없이 메시지를 수신할 수 있다.
이 방식도 1.1절과 1.2절과 마찬가지로 KVMF 1.0 무기 체계의 적용 버전을 사전에 파악하고 있어야 가능한 방식이다.
2. Forward Compatibility Between KVMF 2.0 And Future KVMF 2.X
2.1 Defining A Future Use Group On KVMF 2.0 Protocol
KVMF 프로토콜은 비트 단위의 메시지 프로토콜이므로 1 비트라도 오류가 있으면 인코딩/디코딩이 되지 않는다. KVMF 1.0 메시지처리 소프트웨어에서 KVMF 1.0 메시지의 세부 버전 간 호환성을 보장하기 위해서는 N가지 버전으로 메시지가 개정된 상태라고 가정할 때, N-1 개의 메시지 인코더/디코더를 보유하고 있어야 한다. 이러한 방식은 시간이 지날수록 메시지처리 소프트웨어의 실행 파일의 크기가 커지고, 연동 체계의 메시지 버전을 운용자가 사전에 파악하는 절차가 지속적으로 발생하는 문제점을 내포하고 있다.
시간이 흐름에 따라 전술 정보가 수정되고 새로운 정보가 추가될 것인데 이러한 상황을 대비하여 기존의 방식과는 다른 방식으로 상위 메시지 버전과 호환성을 보장할 수 있는 확장성 있는 KVMF 2.0 프로토콜의 설계 방안이 필요하다.
확장성 있는 상위 메시지 버전 보장 기능을 구현하기 위하여 KVMF 2.0에서는 기존 메시지 뒤에 확장 메시지인 Extension 메시지를 추가하는 개념을 도입하였다. Extension 메시지는 KVMF 1.0에는 없는 개념으로서 기존 KVMF 1.0 메시지를 Initial 메시지로 구분하여 그 뒤를 이어서 따라붙는 메시지를 의미한다.
KVMF 1.0 응용 헤더에는 미래 확장성을 위한 Future Use Group의 GPI가 존재한다. 이 GPI는 Future Use Group의 GPI로서 GPI가 1이면 Future Use Group이 존재하고 0이면 존재하지 않음을 의미한다. KVMF 2.0 응용 헤더에서는 KVMF 1.0에서 사용하지 않았던 Future Use Group을 정의하였다. Future Use Group은 Extension 메시지의 종류와 크기 정보가 담길 수 있게 정의하였다. 그리고 Extension 메시지가 복수 개가 붙는 상황을 처리하기 위하여 GRI 그룹으로 정의하였다. 그렇게 정의하면 KVMF 1.0 무기 체계와 연동할 때는 해당 GPI를 0으로 하여 Initial 메시지만 송신하고, KVMF 2.0 프로토콜을 적용한 무기 체계에서 Extension 메시지를 사용할 경우에는 해당 GPI를 1로 하고 Initial 메시지 뒤에 Extension 메시지를 붙여서 송신하면 된다.
아래 Fig. 3 은 Future Use Group의 설계안이다.
Fig. 3. Future Use Group Design
2.2 Future Compatability by Future Use Group and Extension Message When Using KVMF 2.0 Protocol
기존에는 메시지가 개정될 때 해당 메시지 자체 즉, Initial 메시지에 해당하는 부분이 개정되었지만 Extension 메시지를 도입하면 새로운 전술 정보가 정의되거나 기존 메시지의 전술 정보가 수정될 경우에 신규 또는 수정되는 부분을 Extension 메시지로 정의하면 된다. 이때 Initial 메시지 부분은 변경 없이 그대로 유지된다.
Extension 메시지를 Initial 메시지 뒤에 붙이고, 이 메시지는 Extension 메시지가 추가된 확장 상황의 메시지임을 알리기 위하여 응용 헤더의 Future Use Group의 GPI를 1로 설정하여 Future Use Group을 정의한다. Future Use Group에는 해당 Extension 메시지의 번호와 크기를 넣어주고 복수 개의 Extension 메시지가 붙는 경우에는 GRI 반복 기능을 활용해 Future Use Group을 반복 시킨 후 Initial 메시지 뒤에 붙는 순서대로 Extension 메시지의 정보를 입력한다.
수신 측에서는 Future Use Group이 존재할 경우 해당 그룹을 확인하여 Initial 메시지 뒤에 붙는 Extension 메시지의 정보를 알 수 있다. 수신 측 무기 체계에서, 수신한 Extension 메시지의 정보를 보유하고 있는 경우에는 해당 Extension 메시지는 디코딩 하여 수신 처리 가능하다. 만약에 수신 측 무기 체계에 없는 Extension 메시지가 수신된 경우에는 수신 측 무기 체계에서는 처리하지 않을 수 있다. 복수 개의 Extension 메시지가 수신되더라도 자신의 무기 체계가 처리할 수 있는 Extension 메시지만 처리하면 되는 것이다.
예를 들어 K01.1 메시지가 Extension 메시지로 4번 개정되어 시간 순으로 Extension 1(이하 E1), Extension 2(이하 E2), Extension 3(이하 E3), Extension 4(이하 E4)로 표준화되었다고 하자. A, B, C라는 세 가지 무기 체계가 각각 E1, E2, E3 메시지가 개정된 시점에 도입된 무기 체계라고 할 때 A는 E1을 탑재하고 있고 B는 E1과 E2를 탑재 중이고 C는 E1, E2, E3을 탑재하고 있다고 가정할 수 있다. D라는 무기 체계는 E4 메시지가 개정된 시점에 새로 도입되는 무기 체계라고 한다면 D에는 E1, E2, E3, E4 메시지가 탑재될 수 있다, 그렇다면 D 무기 체계에서 볼 때 기 전력화 무기 체계인 A ~ C 무기 체계로 메시지를 보낸다면 Initial + E1 + E2 + E3 + E4 형태로 메시지를 구성해서 A ~ C 무기 체계에 보낼 수 있다. 그렇게 되면 A는 자신이 처리할 수 있는 E1까지 수신처리하고 B는 E1, E2까지, C는 E1, E2, E3까지 처리하면 된다. 만약에 D와 함께 D’ 무기 체계가 도입된다면 D’를 향해 Initial + E1 + E2 + E3 + E4 메시지를 송신하면 D’ 무기 체계는 E1, E2, E3, E4 메시지를 모두 수신할 수 있다.
이렇게 되면 KVMF 2.0 프로토콜에서는, 버전 간 차이에 따른 호환성을 보장받기 위하여 연동하는 무기 체계의 버전 정보를 사전에 파악해야 하는 과정 및 해당 버전의 메시지 인코더/디코더를 모두 각각 보유하고 있어야 할 필요가 없다. 그리고 수신 무기 체계의 KVMF 메시지 버전에 따라 메시지를 각각 생성하는 과정 및 수신자 별로 다른 메시지를 송신하는 과정도 필요 없다. 왜냐하면 KVMF 2.0 프로토콜에서는 송신 측에서 Initial 메시지 뒤에 최신 버전의 Extension 메시지까지 붙여서 보내고, 수신 측에서는 처리 가능한 Extension 메시지만 처리하고 나머지 Extension 메시지는 처리하지 않으면 되기 때문이다. KVMF 1.0 프로토콜에서는 비트 수가 다르게 개정된 메시지를 수신하면 디코딩 과정 자체가 중단되어 메시지 전체 정보를 받을 수 없었지만 KVMF 2.0 프로토콜에서는 Initial 메시지와 자신이 보유하고 있는 Extension 메시지까지는 수신할 수 있게 된 것이다.
이렇게 되면 향후 지속되는 메시지 개정에 따라 새로운 Extension 메시지가 추가되어 미래 무기 체계에서 그 메시지를 기존 무기 체계로 송신한다고 하더라도 KVMF 2.0 프로토콜로 기 전력화된 무기 체계라면 처리 가능한 부분만큼은 처리가 가능하다. 그리고 기존 무기 체계에서 미래 무기 체계로 메시지를 송신하여도 미래 무기 체계는 메시지 수신이 가능하다. 이런 방식으로 KVMF 2.0 프로토콜은 상위 메시지 버전에 대한 호환성을 보장받을 수 있다.
즉, 미래에 어떤 종류의 새로운 메시지가 개정되어 표준화될지는 아무도 모르지만 새로운 정보로 인하여 기존에 처리 가능한 메시지 정보까지 처리할 수 없었던 KVMF 1.0 프로토콜의 한계점이 보완되는 것이다.
IV. Experiment
1.1 Experiment Overview
본 논문에서 제시한 KVMF 2.0 프로토콜 설계 방안을 검증하기 위하여 3장에서 제시한 하위 호환 방안과 상위 호환 방안을 적용하여 KVMF 2.0 메시지처리 소프트웨어를 구현하였고 시험을 통해 설계 방안을 검증하였다.
하위 호환을 위하여 3장 1절에서 제시한 3가지 경우인, 단위가 다른 경우, 비트 수가 다른 경우, 반복수가 다른 경우의 3가지 호환 방안을 적용하였고, 상위 버전과의 호환을 위하여 3장 2절에서 제시한 Future Use Group을 활용한 Extension 메시지 개념을 적용하여 KVMF 2.0 메시지처리 소프트웨어를 구현하였다.
하위 호환을 위한 3가지 설계안을 검증하기 위하여 KVMF 1.0 무기 체계를 모의하는 시뮬레이터를 3대 준비하였다. 세 가지 시험 케이스로 구분하여 각 케이스에서 시뮬레이터를 활용하여 하위 호환을 위한 설계안을 검증하는 시험을 수행하였다.
상위 호환 방안을 검증하기 위해서 KVMF 2.0 메시지 처리 소프트웨어를 탑재한 KVMF 2.0 무기 체계용 시뮬레이터를 3대와 KVMF 2.1 무기 체계용 시뮬레이터 1대를 준비하여 시험 환경을 구성하였다.
1대의 KVMF 2.0 시뮬레이터를 메인 시뮬레이터로 설정하여 메인 시뮬레이터는 KVMF 2.0 버전에서 E1, E2까지 개정된 시점에 도입되는 것으로 가정하였다.
첫 번째 시험 케이스에서는, E1이 탑재된 KVMF 2.0 무기 체계와 E1, E2까지 탑재된 KVMF 2.0 무기 체계가 전력화되어 운용 중인 전투 무선망에, 메인 KVMF 2.0 시뮬레이터가 진입하여 연동하는 상황을 가정하였다.
두 번째 시험 케이스에서는 미래에 E3 메시지가 개정되는 상황을 가정하여 E1, E2, E3 메시지까지 탑재된 KVMF 2.1 시뮬레이터와 메인 KVMF 2.0 시뮬레이터가 연동하는 시험을 수행하였다.
시험은 반복 시험을 수행하였다. 시험 반복 횟수는 실제 KVMF 1.0 무기 체계 운용 평가 시험 시 요구되었던 100회의 횟수를 적용하였다. 시험 성공 범위는 운용 시험 평가 시 요구되었던 메시지 전달 성공률(80%)를 기준으로 하여 충족 여부를 결정하였다.
요약하면 하위 호환성 설계안을 검증하기 위한 세 가지 시험 케이스와 상위 호환성 설계안을 검증하기 위한 두 가지 시험 케이스를 설정한 환경을 구성하여 반복 시험으로 시험을 진행하였다.
1.2 Experiment Environment
KVMF 1.0 무기 체계 시뮬레이터에는 세부 버전에 따른 KVMF 1.0 메시지처리 소프트웨어를 탑재하였다. KVMF 2.0/2.1 무기 체계 시뮬레이터에는 모두 동일한 KVMF 2.0 메시지처리 소프트웨어를 탑재하였다.
하위 호환성 설계안 검증을 위하여 준비한 KVMF 1.0 시뮬레이터 3대의 메시지 세부 버전은 KVMF 1.0-01, KVMF 1.0-03, KVMF 1.0-05이다.
세 버전의 KVMF 1.0 시뮬레이터와 KVMF 2.0 메인 시뮬레이터와 연동을 통하여 하위 호환을 위한 설계안 3가지를 검증하였다.
KVMF 1.0 시뮬레이터의 세부 버전별 시험과 검증하고자 하는 하위 호환 설계안의 매핑 표는 Table 1 와 같다.
Table 1. KVMF Simulator Version And Backward Compatibility Design Concept To Be Verified
상위 호환성 설계안 검증을 위하여 KVMF 2.0 시뮬레이터 3대와 KVMF 2.1 시뮬레이터 1대를 준비하였다. 1대는 KVMF 2.0 메인 시뮬레이터로 설정하였다. 메인 시뮬레이터는 KVMF 2.0 E1, E2 메시지를 탑재하고 있다.
나머지 3대는 KVMF 2.0 E1, KVMF 2.0 E1 + E2, KVMF 2.1 E1 + E2 + E3 메시지를 탑재하고 있다. KVMF 2.0 메인 시뮬레이터와 E1 그리고 E1, E2를 탑재하고 있는 시뮬레이터 간 연동을 통하여 상위 호환 설계안을 검증하였다. 메인 시뮬레이터에서 송신한 E1, E2를 각 시뮬레이터에서 Extension 메시지 처리가 가능한지 확인하였다. 반대로 각 시뮬레이터에서 메인 시뮬레이터로 송신했을 때 메인 시뮬레이터에서 Extension 메시지 처리가 가능한지 확인하였다.
E1, E2, E3를 탑재한 KVMF 2.1 시뮬레이터와 메인 시뮬레이터 간의 송/수신 시험을 통해 미래에 도입된 E3 메시지는 제외하더라도 메인 시뮬레이터가 보유하고 있는 E1, E2 Extension 메시지는 처리 가능한지 검증하였다.
하위 호환성 설계안 검증 시험에서 사용된 메시지 3종류는 기상 보고, 사격 명령, 상황 보고 메시지이다. 상위 호환성 설계안 검증 시험에서 사용된 메시지는 준비 태세 보고 메시지이며 Extension 메시지 3종류는 준비 태세 레벨, 정보 통제 레벨, 위협 유형 메시지이다.
메시지는 응용헤더 뒤에 붙어서 함께 전송되며 메시지 종류 별 응용헤더가 포함된 총 패킷 크기는 Table 2 와 같다.
Table 2. Packet Size(Including Header) Of Test Messages
시험 환경 망 구성은 전투 무선망을 모의할 수 있는 전투 무선망 모의기를 활용하여 구성하였다. KVMF 1.0/2.0/2.1 무기 체계 시뮬레이터는 모두 애플리케이션 형태이므로 노트북 PC에 설치를 하였고 노트북 PC와 전투 무선망 모의기는 이종 전투 무선망 연동장비를 통하여 연결하였다.
이종 전투 무선망 연동 장비는 실제 무기 체계의 여러 가지 전투 무선망을 위한 통신 장비를 사용 가능하게 하는 연동 장비이다. 실제 무기 체계에서는 무기 체계 특성에 따라서 다양한 통신 장비가 사용되는데 이때 통신 장비와 KVMF 메시지처리 소프트웨어 사이의 인터페이스 역할을 이종 전투 무선망 연동 장비가 수행한다[14,15].
전투 무선망 모의기는 OSI(Open Systems Interconnection) L3 레이어에서 전투 무선망을 모의하는 역할을 수행하는 네트워크 모의 장비이다. 이종 전투 무선망 연동 장비는 KVMF 메시지처리 소프트웨어에서 보낸 패킷을 통신 장비에서 사용 가능하도록 처리하는 역할을 수행하는 데, 본 시험 환경에서는 시뮬레이터에서 보낸 KVMF 메시지가 전투 무선망 모의기를 통해서 유통될 수 있도록 이종 전투 무선망 연동 장비를 설정하였다.
전투 무선망 모의기의 대역폭은 실제 KVMF 1.0 무기 체계 운용 평가 시험에서 사용되었던 통신 장비의 대역폭을 차용하여 4800bps로 설정하였다[16,17].
최종적으로 다수의 무기 체계 시뮬레이터가 전투 무선망 모의기를 통해 패킷이 유통되어 연동될 수 있도록 시험 환경을 구성하였다.
시험 환경 구성도는 Fig. 4 와 같다.
Fig. 4. Test Configuration
1.3 Experiment Result
1.3.1 Test Result Of Backward Compatibility Design Concept
시험 시작 전에 KVMF 2.0 시뮬레이터의 통신망 설정에서 연동 대상인 KVMF 1.0-01, KVMF 1.0-03, KVMF 1.0-05 시뮬레이터의 주소값과 사용하는 메시지 버전을 입력하는 과정을 수행하였다.
하위 호환성 설계안 검증을 위한 시험 시뮬레이터 구성별 검증 대상 설계안과 검증 결과는 Table 3 와 같다.
검증 결과는 총 100회의 반복 시험 중 100회 모두 송수신이 성공하여 성공으로 판단하였다.
Table 3. Test Composition And Test Result Of Backward Compatibility Design Concept
1.3.1.1 Test Result Of Backward Compatibility Design Concept : When Value Unit Is Different
KVMF 1.0-01에서는 기상 보고 메시지의 풍속의 단위가 Kilometers Per Hour이지만 KVMF 2.0에서는 기상 보고 메시지의 풍속의 단위는 Knot이다. 1 Knot는 1.852 Kilometer Per Hour이므로 KVMF 2.0 시뮬레이터에서 기상 보고 메시지를 보낼 때 10 Knot 값을 보내기 위하여 KVMF 1.0-01에서 사용 중인 Kilometers Per Hour의 단위로 1.852를 곱하여 변환된 값인 18.52를 송신하였다. 그리고 KVMF 1.0-01 시뮬레이터에서 18.52 Kilometers Per Hour의 값으로 정상 수신하는 것을 확인하였다.
반대로 KVMF 1.0-01 시뮬레이터에서 18.52 Kilometers Per Hour의 값을 KVMF 2.0 시뮬레이터로 보내면 KVMF 2.0 시뮬레이터는 KVMF 1.0-01 시뮬레이터의 버전이 1.0-01이라는 것과 해당 버전에서 기상 보고 메시지의 풍속 필드의 단위가 Kilometers Per Hour라는 것을 사전에 알고 있기 때문에 수신 받은 18.52의 값에 1.852를 나눈 값인 10의 값으로 수신 처리하여 KVMF 2.0 시뮬레이터에서는 10 Knot의 단위로 정상 수신하는 것을 확인하였다.
1.3.1.2. Test Result Of Backward Compatibility Design Concept : When Bit Size Is Different
KVMF 1.0-03에서는 사격 명령 메시지의 표적 종류 필드의 비트 수가 2 비트 이지만 KVMF 2.0에서는 사격 명령 메시지의 표적 종류 필드의 비트 수는 3 비트이다. KVMF 1.0-03 시뮬레이터에서 사격 명령 메시지를 송신하면 KVMF 2.0 시뮬레이터는 1.0-03 버전에서는 사격 명령 메시지의 표적 종류 필드가 2비트라는 것을 알고 있기 때문에 해당 값을 3 비트의 메모리 데이터로 재구성하여 정상 수신하는 것을 확인하였다.
KVMF 2.0 시뮬레이터에서 0 ~ 3 사이의 값은 2 비트로 인코딩하여 KVMF 1.0-03 시뮬레이터로 송신하여 KVMF 1.0-03 시뮬레이터에서 수신하는 것을 확인하였다. 4 ~ 7의 값을 KVMF 1.0-03 시뮬레이터로 송신 시도할 때 1.0-03 버전은 풍속 필드가 2비트이므로 2비트로 인코딩할 수 없기 때문에 송신할 수 없다는 알림 창 전시를 하면서 송신하지 않도록 처리함을 확인하였다.
1.3.1.3. Test Result Of Backward Compatibility Design Concept : When Recurrence Number Is Different
KVMF 1.0-05에서는 상황 보고 메시지의 탄약 재고 그룹의 최대 반복 횟수가 15 회이지만 KVMF 2.0에서는 20 회이다. KVMF 1.0-05 시뮬레이터에서 상황 보고 메시지의 탄약 재고를 15 개로 반복하여 KVMF 2.0 시뮬레이터로 보내면 KVMF 2.0 시뮬레이터에서 정상 수신함을 확인하였다. KVMF 2.0 시뮬레이터에서는 상황 보고 메시지의 탄약 재고를 20 개로 반복하여 KVMF 1.0-05로 보낼 때 1.0-05의 최대 반복 횟수가 15 회이므로 15 개로 구성하여 먼저 보내고 나머지 5개를 구성하여 송신하여, KVMF 1.0-05 시뮬레이터에서 2회에 걸쳐서 20개의 탄약 재고 정보를 정상 수신함을 확인하였다.
1.3.2 Test Result Of Forward Compatibility Design Concept
상위 호환성 설계안 검증을 위한 시험 시뮬레이터 구성 별 검증 대상 설계안과 검증 결과는 Table 4 와 같다.
Table 4. Test Composition And Test Result Of Future Compatibility Design Concept
검증 결과는 총 100회의 반복 시험 중 100회 모두 송수신이 성공하여 성공으로 판단하였다.
KVMF 1.0 과의 하위 호환 연동 시험에서 필수였던, 연동 대상 시뮬레이터의 주소와 사용하는 메시지 버전을 사전에 입력해야 하는 과정을 KVMF 2.0/2.1 시뮬레이터와의 연동 시험에서는 수행하지 않았다.
1.3.2.1. Test Result Of Forward Compatibility Design Concept : Communication Between KVMF 2.0 And KVMF 2.0
KVMF 2.0 메인 시뮬레이터에서 KVMF 2.0 – E1 메시지 탑재 시뮬레이터로 준비 태세 보고 메시지 + E1 + E2 메시지를 구성하여 송신하면 KVMF 2.0 – E1 시뮬레이터에서는 E2는 보유하고 있지 않으므로 처리할 수 없으나, 준비 태세 보고 메시지와 E1 메시지는 정상 수신함을 확인하였다.
KVMF 2.0 – E1 시뮬레이터에서 준비 태세 보고 메시지 + E1 메시지를 구성하여 송신하면 KVMF 2.0 메인 시뮬레이터는 E1 메시지를 보유하고 있으므로 정상 수신함을 확인하였다.
KVMF 2.0 메인 시뮬레이터에서 KVMF 2.0 – E1, E2 시뮬레이터로 준비 태세 보고 메시지 + E1 + E2 메시지를 송신하여 모두 정상 수신함을 확인하였다. KVMF 2.0 – E1, E2 시뮬레이터에서 준비 태세 보고 메시지 + E1 + E2 메시지를 송신하면 KVMF 2.0 메인 시뮬레이터에서 모두 정상 수신함을 확인하였다.
1.3.2.2. Test Result Of Forward Compatibility Design Concept : Communication Between KVMF 2.0 And KVMF 2.1
KVMF 2.0 메인 시뮬레이터에서 KVMF 2.1 – E1, E2, E3 시뮬레이터로 준비 태세 보고 메시지 + E1 + E2 메시지를 송신하면 KVMF 2.1 시뮬레이터에서는 E1, E2 메시지를 보유하고 있기 때문에 모두 정상 수신함을 확인하였다. 하지만 KVMF 2.1 시뮬레이터에서 준비 태세 보고 메시지 + E1 + E2 + E3 메시지를 송신하면 KVMF 2.0 메인 시뮬레이터는 Initial 메시지 준비 태세 보고 메시지와 보유 중인 E1, E2까지는 수신 처리하지만, 보유하고 있지 않은 E3 메시지는 수신 처리하지 않음을 확인하였다.
1.3.3. Overall Test Result
시험 결과를 통하여 KVMF 2.0의 하위 버전 호환 설계안을 적용하면 KVMF 1.0 무기 체계의 세부 버전 별 무기 체계와 KVMF 2.0 무기 체계 간 하위 호환성이 보장될 수 있음을 확인하였다.
또한 KVMF 2.0 상위 버전 호환성 설계안을 적용하면 KVMF 2.1 등 미래에 개정될 메시지를 탑재한 미래 무기 체계와도 무기 체계 간 상위 호환성이 보장될 수 있음을 확인하였다.
V. Conclusions
KVMF 1.0 프로토콜은 육군 표준 전술데이터링크로서 전투지휘체계, 전차, 장갑차, 헬기, 방공 무기 등 여러 가지 무기 체계에 전력화되어 지난 10년간 육군의 작전 수행 능력을 한 단계 업그레이드 시켰다.
KVMF 1.0이 적용되는 기간 동안 군사 과학 기술이 발전하였고 새로운 기술을 적용한 신규 무기 체계가 도입되면서 KVMF 1.0 메시지의 개정 소요가 발생하여 1.0 세부 버전이 다양한 무기 체계에 탑재되게 되었다.
후발 무기 체계가 도입되면 기 전력화 무기 체계와 메시지 차이에 의한 연동 호환 이슈가 발생하게 된다. 그리고 미래 메시지를 생각하면 이러한 연동 호환 문제는 지속적으로 발생할 것으로 예상할 수 있다.
이러한 문제를 해결하기 위한 상/하위 버전 간 호환성이 보장되는 프로토콜 기능의 필요성이 대두되게 되었고 본 논문에서는 그 해결 방안을 연구하여 KVMF 2.0 프로토콜 설계안으로 제시하였다.
본 논문에서는 하위 버전과 호환을 위하여 3가지 설계안을 제시하였고 상위 버전과 호환을 위하여 Extension 개념을 설계안으로 제시하였다.
설계안을 KVMF 2.0 메시지처리 소프트웨어에 적용하여 구현하였고, 설계안이 실제로 적용 가능할지 여부를 시험 환경을 구성하여 시험을 통해 검증하였다.
검증 결과, 설계안이 성공적으로 동작함을 확인하였다. 따라서 추후 새로 도입되는 무기 체계에 설계안이 적용된다면 1.0 기 전력화 무기 체계와 연동할 수 있고 미래의 무기 체계와도 연동할 수 있는, 상/하위 버전 간 호환성이 보장된 무기 체계가 될 수 있으리라 기대할 수 있게 되었다.
하지만 다양한 무기 체계의 전력화 환경 특성상 실 체계 적용 관련하여 각 무기 체계에 KVMF 2.0 프로토콜 설계안 적용을 추진하는 과정에서 실험실 단계에서는 예상하지 못했던 변수가 발생할 수도 있다.
따라서 실제 무기 체계에 KVMF 2.0 프로토콜을 적용하여 KVMF 2.0 프로토콜이 확장성을 가진 프로토콜로서 우리 군의 작전 수행 능력과 작전 성공 확률을 한 단계 더 높이는데 기여할 수 있도록, 본 논문의 연구 결과를 바탕으로 추가적인 연구 활동을 지속적으로 수행해야 할 것이다.
References
- Jeong-Min Lee, Sang-Heon Shin, Won-Gi Lim, Hyeong-Seok Kim, Yong-Cheol Kim, "A Study on the Transmission Speed Improvement of Sharing Situation Information by Variable Message Protocol", Journal of The Korea Society of Computer and Information, Vol. 26 No. 1, pp. 135-146, January 2021.
- Hyeong-Seok Kim, Sang-Heon Shin, Yong-Cheol Kim, Jeong-Min Kim, "A Study on Efficient Friendly Forces Location Data Sharing on Battalion and Below", Journal of The Korea Society of Computer and Information, Vol. 20, No. 1, pp. 1-8, May 2015
- T. B. Choi, J. S. Kim, S. P. Park, K. S. Yoon, "Operation Concept of the Battalion Command Post Linked to the Deployment of the Combat-Level C4I System under NCOE," Korea Association of Defense Industry Studies, Vol. 20, No. 2, pp. 78-100, December 2013.
- Hyun Sook Jeong, Won Ki Lim, Won Jun Cho, "Message structure design for compatibility between KVMF standard versions", Korea Institute of Military Science and Technology, pp. 1136-1137, International Convention Center Jeju, Republic Of Korea, June 2022.
- Jeong Min Lee, Won-gi Lim, Seung-jin Park, June-sung Choi, "Improvement Method for Message Processing Speed of ADC2A System," Journal of the Institute of Korean Electrical and Electronics Engineers, Vol. 19, No. 3, pp. 349-356, September 2015. https://doi.org/10.7471/ikeee.2015.19.3.349
- DoD, "MIL-STD-2045-47001Dw/CHANGE 1", USA, June 2008.
- Lee Seung-Youl, Lee Jeong-Min, "A Study for Transmission Method of KVMF Position Message Using FM Radio", Korea Institute of Military Science and Technology, pp. 1366, Online, November 2020.
- DoD, "MIL-STD-2525C", USA, 2008.
- J. H. Kim, K. J. Kang, D. H. Kwon, "A Study on Designing Data Minimization for Future Battle Command System," Korea Association of Defense Industry Studies, Vol. 23, No. 2, pp. 25-45, December 2016.
- I. H. Park, H. K. Lee, S. J. Lee, D. H. Kim, W. G. Lim, "S/W Optimization and Its Performance Analysis for Embedded KVMF Message Processing," Journal of KIISE, JOK. 40, No. 6, pp. 291-298, June 2013.
- Jeong Min Lee, "Study on the optimization method of sharing warfaㅇre situation of Light Armed Helicopter targets by KVMF", Korean Institute Of Information Scientists And Engineers Special Interest Group On Defence Software, pp. 149-151, The War Memorial Of Korea, Republic Of Korea, November 2018.
- Brian N. Bershad , Thomas E. Anderson , Edward D. Lazowska, Henry M. Levy, "Lightweight remote procedure call", ACM Transactions on Computer Systems (TOCS), v.8, n.1, pp.37-55, Feb, 1990 https://doi.org/10.1145/77648.77650
- Y. C. choi, D. H. Kwon, "Recovering Network Joining State for Normal/Abnormal Termination of Battlefield Management System" Journal of KIISE, Vol. 44, NO. 8, pp. 749-759, August 2017. https://doi.org/10.5626/JOK.2017.44.8.749
- FBCB2(Force XXI Battle Command Brigade and Below), https://en.wikipedia.org/wiki/Force_XXI_Battle_Command_Brigade_and_Below
- DoD, "Operator and field maintenance manual including repair parts and special tools list for FBCB2," USA, 2008.
- DoD, "MIL-STD-188-220C", USA, May 2002.
- Wonjun Cho, Wonki Lim, Jungmin Lee, "A Study on the Improvement of Standard Verification Efficiency through the Improvement of Standard Verification Test Tool for Ground Tactical Data Link", Korea Institute of Military Science and Technology, pp. 1473-1474, International Convention Center Jeju, Republic Of Korea, June 2022.