C202 실습가이드 - 대역폭 제한 시 메시지 우선순위 큐·재전송 프로토타입
구 분 실습가이드 [교육용가상자료]
1. 실습 개요
본 실습은 교육용 가상 협대역 링크와 가상 전술 전문으로 메시지 우선순위 큐·재전송 프로토타입을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(C202_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| 과제 |
C202 대역폭 제한 시 메시지 우선순위 큐·재전송 프로토타입 |
| 준비물 |
C202_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
2. 진행 방법
-
정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 전문 생성기·시뮬레이터 함수가 빠져 오류가 난다).
-
실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 같은 값이 나와야 한다(처리 속도·처리시간은 실행 환경에 따라 달라진다).
-
도전 과제는 코드 상단의 파라미터(대역폭, 조각 크기, 재전송 타이머, 경보 임계값 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
-
그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
-
실제 통신망 구성·주파수·전문 내용은 입력하지 않는다. 긴급도별 전달 목표 시간은 학습용 가정이며 실제 통신 운용은 부대 규정과 지휘계통에 따른다.
3. 미션 진행 요약
| 미션 |
난이도·시간 |
핵심 확인 결과 |
| M1. 협대역 전술 무선망(VHF/UHF) 대역폭 제약 조건 분석 및 전술 메시지 구조 정의 |
초급 |
|
| 1.5시간 |
정상 샘플 20건 오류 0건, 주입 오류 6건 모두 검출 |
|
| M2. 전술 메시지(전문) 패킷 파싱, 크기 압축 및 헤더 정보 전처리 모듈 구현 |
초급~중급 |
|
| 2시간 |
처리 속도 1,000건/초 이상(예시 약 1.5~2만 건/초), 오류율 0% |
|
| M3. 메시지 긴급도(Flash/Immediate/Priority/Routine) 기반 1차 우선순위 큐(Queue) 구현 |
중급 |
|
| 2.5시간 |
처리 정확도 75% 이상(예시 FIFO 89.5% -> 우선순위 큐 97.7%) |
|
| M4. 전장 상황 및 전송 실패율에 따른 동적 패킷 스케줄링 및 지능형 재전송 알고리즘 구현 |
중급 |
|
| 3시간 |
긴급 전문 기한 내 전달률 85% 이상(예시 86.4% -> 99.4%) |
|
| M5. 네트워크 혼잡도 기반 전송 성공 확률 및 링크 신뢰도 산출 엔진 개발 |
중급~고급 |
|
| 3시간 |
오경보율 61.0% 감축(목표 40%), 등급 일관성 93.2% |
|
| M6. 대역폭 사용률, 큐 대기 현황 및 패킷 유실률 실시간 모니터링 UI 구현 |
중급 |
|
| 2.5시간 |
갱신 처리시간 100ms 이내(예시 평균 1ms 미만) |
|
| M7. 최우선 순위 전문 강제 전송 및 큐 순서 수동 조정을 위한 통신관 HITL 통제 기능 설계 |
고급 |
|
| 3시간 |
자동 순서 변경 0건, 규칙 위반 5건 차단 |
|
| M8. 대역폭 90% 급감 및 대량 전문 폭주 상황 모의 전송 스트레스 시뮬레이션 |
고급 |
|
| 3.5시간 |
모든 상황 다운 0건, 유실 0건(전달+보관=전체) |
|
| M9. AAR 기반 중요 전문 전송 지연 사례 분석 및 큐 우선순위 가중치 재조정 |
고급 |
|
| 3시간 |
원인별 지연 분류 완료, 종합 정확도 0.921 -> 0.990(+6.9%p) |
|
| M10. 대역폭 제한 환경 메시지 큐·재전송 시스템 통합 및 전술통신 브리핑 패키지 완성 |
최고급 |
|
| 3.5시간 |
자체 점검 10/10 통과, 함수 커버리지 100% |
|
미션 1. 협대역 전술 무선망(VHF/UHF) 대역폭 제약 조건 분석 및 전술 메시지 구조 정의
| 진행 순서 | 1) M1 코드를 실행해 대역폭별 전문 전송시간 표를 확인한다.
2) 정상 샘플 20건 검증 결과와 오류 주입 결과 6건이 어떤 규칙에 걸렸는지 정리한다.
| 3) 데이터 명세 요약표를 보고 빠진 전술 파라미터가 없는지 검토한다. |
|
| 확인할 결과 | 정상 샘플 20건 오류 0건, 주입 오류 6건 모두 검출
| 2.4kbps에서 행정전문 1건 약 11초 점유 확인 |
|
| 도전 과제 |
SCHEMA의 link 그룹에 암호화 여부(encrypted, True/False) 필드를 추가하고, 문자열 'yes'를 넣었을 때 자료형 오류로 검출되는지 확인한다. |
| 제출물 |
스키마 정의 코드, 데이터 명세서, 대역폭별 전송시간 분석표 |
미션 2. 전술 메시지(전문) 패킷 파싱, 크기 압축 및 헤더 정보 전처리 모듈 구현
| 진행 순서 | 1) M2 코드를 실행해 처리 속도와 격리 사유별 건수를 확인한다.
2) 전처리 전후 평균 크기표에서 유형별 절감률을 비교한다.
| 3) 단위 테스트 6종의 통과 여부를 확인한다. |
|
| 확인할 결과 | 처리 속도 1,000건/초 이상(예시 약 1.5~2만 건/초), 오류율 0%
| 결측 시각 15건 보정(100%), 단위 테스트 6/6 통과 |
|
| 도전 과제 |
ZLEVEL의 2400bps 값을 1로 바꾸면 압축 후 크기와 처리 속도가 어떻게 변하는지 비교하고, 대역폭별 적정 압축 수준을 제안한다. |
| 제출물 |
전처리 코드, 전처리 전후 크기 비교표, 단위 테스트 결과 |
미션 3. 메시지 긴급도(Flash/Immediate/Priority/Routine) 기반 1차 우선순위 큐(Queue) 구현
| 진행 순서 | 1) M3 코드를 실행해 큐에서 꺼낸 순서가 긴급도 순인지 확인한다.
2) FIFO와 우선순위 큐의 긴급도별 기한 내 전달률·95% 지연을 비교한다.
| 3) 기한을 놓친 FLASH 전문 6건의 원인과 링크 속도별 민감도를 정리한다. |
|
| 확인할 결과 | 처리 정확도 75% 이상(예시 FIFO 89.5% -> 우선순위 큐 97.7%)
| FLASH 기한 내 전달률 76%로 비선점 한계 확인 |
|
| 도전 과제 |
make_messages의 rate를 0.25로 올리면 FIFO와 우선순위 큐의 차이가 어떻게 커지는지 확인하고, ROUTINE 전문의 대기가 얼마나 늘어나는지 기록한다. |
| 제출물 |
우선순위 큐 코드, 긴급도별 전달률표, 한계 분석 의견 |
미션 4. 전장 상황 및 전송 실패율에 따른 동적 패킷 스케줄링 및 지능형 재전송 알고리즘 구현
| 진행 순서 | 1) M4 코드를 실행해 10개 시나리오의 기존·개선 긴급 전달률을 비교한다.
2) 링크 열화 탐지 재현율과 정상 구간 오경보를 확인한다.
| 3) 기능별 기여도 표에서 고정 RTO의 불필요 재전송 횟수를 확인한다. |
|
| 확인할 결과 | 긴급 전문 기한 내 전달률 85% 이상(예시 86.4% -> 99.4%)
| 열화 탐지 재현율 95.3%, 결정 지연 최대 1ms 미만 |
|
| 도전 과제 |
ADV의 aging을 1.0으로 바꾸고 트래픽 2배 시나리오에서 ROUTINE·PRIORITY 지연이 어떻게 바뀌는지 확인해 aging의 장단점을 정리한다. |
| 제출물 |
지능형 스케줄러 코드, 복합 장애 시나리오 시험 결과표, 기능별 기여도 분석 |
미션 5. 네트워크 혼잡도 기반 전송 성공 확률 및 링크 신뢰도 산출 엔진 개발
| 진행 순서 | 1) M5 코드를 실행해 기존 규칙과 신뢰도 엔진의 오경보율·재현율을 비교한다.
2) 경보 임계값 민감도 표에서 오경보와 재현율이 함께 움직이는 구간을 찾는다.
| 3) 실제 링크 상태별 등급 분포와 특징 중요도를 해석한다. |
|
| 확인할 결과 | 오경보율 61.0% 감축(목표 40%), 등급 일관성 93.2%
| ROC-AUC 0.891, 불량 링크 재현율 0.713 -> 0.816 |
|
| 도전 과제 |
경보 기준을 0.6에서 0.7로 올리면 오경보율과 재현율이 어떻게 바뀌는지 표로 정리하고, 통신 운용상 적절한 기준을 토의한다. |
| 제출물 |
신뢰도 엔진 코드, 적용 전후 비교표, ROC·불확실성 그림 |
미션 6. 대역폭 사용률, 큐 대기 현황 및 패킷 유실률 실시간 모니터링 UI 구현
| 진행 순서 | 1) M6 코드를 실행해 갱신 처리시간과 구간별 관제 지표를 확인한다.
2) 재밍 구간과 대역폭 감소 구간에서 사용률·손실률·대기 전문이 어떻게 변하는지 본다.
| 3) 경보 패널의 정렬 순서(기한초과 -> 링크열화 -> 기한임박)를 확인한다. |
|
| 확인할 결과 | 갱신 처리시간 100ms 이내(예시 평균 1ms 미만)
| 구성요소 5종(사용률·큐 대기·손실률·KPI·경보) 표시 |
|
| 도전 과제 |
snapshot()의 기한 임박 기준(0.7)을 0.5로 낮추면 경보 수가 어떻게 바뀌는지 확인하고, 통신관이 경보 피로 없이 볼 수 있는 기준을 제안한다. |
| 제출물 |
관제 화면 코드, 관제 화면 그림, 가독성 개선안 |
미션 7. 최우선 순위 전문 강제 전송 및 큐 순서 수동 조정을 위한 통신관 HITL 통제 기능 설계
| 진행 순서 | 1) M7 코드를 실행해 시스템 추천 후에도 큐 순서가 바뀌지 않았는지 확인한다.
2) 차단된 규칙 위반 조작 5건과 차단 사유를 정리한다.
| 3) 상급자 승인을 거친 강제 전송의 대기시간과 감사 로그 변조 검출 결과를 확인한다. |
|
| 확인할 결과 | 자동 순서 변경 0건, 규칙 위반 5건 차단
| 로깅 성공률 100%, 변조 위치(10번째 기록) 검출 |
|
| 도전 과제 |
요청자와 승인자가 같은 경우(approver='sig01')를 시험해 차단되는지 확인하고, 2인 확인이 필요한 조작 범위를 토의한다. |
| 제출물 |
HITL 통제 코드, HITL 절차 요약(조작 종류·승인 조건·근거 기록 요건), 지휘관 피드백 양식 |
미션 8. 대역폭 90% 급감 및 대량 전문 폭주 상황 모의 전송 스트레스 시뮬레이션
| 진행 순서 | 1) M8 코드를 실행해 상황별 전달·보관·유실·다운을 확인한다.
2) 일반 모드와 성능 저하 모드의 긴급 전달률 차이를 비교한다.
| 3) 최악 상황에서 기한을 못 지키는 원인(용량 부족)과 병목 함수를 정리한다. |
|
| 확인할 결과 | 모든 상황 다운 0건, 유실 0건(전달+보관=전체)
| 재밍+트래픽 500%에서 저하모드 긴급 전달률 77.0% -> 85.8% |
|
| 도전 과제 |
degraded_admit()에서 PRIORITY까지 송신을 허용하도록 바꾸면 긴급 전문 전달률이 어떻게 변하는지 확인하고 저하모드 기준을 제안한다. |
| 제출물 |
스트레스 시험 코드, 시험 결과표, 안전 실패 동작과 병목 개선안 |
미션 9. AAR 기반 중요 전문 전송 지연 사례 분석 및 큐 우선순위 가중치 재조정
| 진행 순서 | 1) M9 코드를 실행해 초기 설정의 긴급도별 전달률과 지연 원인 분류를 확인한다.
2) 격자 탐색 상위 조합과 선택된 재조정값을 확인한다.
| 3) 재조정 전후 종합 정확도·FLASH 전달률과 회귀 테스트 결과를 비교한다. |
|
| 확인할 결과 | 원인별 지연 분류 완료, 종합 정확도 0.921 -> 0.990(+6.9%p)
| FLASH 72.0% -> 96.0%, 회귀 테스트 3/3 통과 |
|
| 도전 과제 |
제약 조건을 'FLASH 100%'로 바꾸면 어떤 조합이 남는지(또는 남지 않는지) 확인하고, 반복 지연 전문 M0070에 대한 대책을 제시한다. |
| 제출물 |
AAR 보고서(계획·결과·원인·개선), 재조정 파라미터 |
미션 10. 대역폭 제한 환경 메시지 큐·재전송 시스템 통합 및 전술통신 브리핑 패키지 완성
| 진행 순서 | 1) M10 코드를 실행해 자체 점검 항목이 모두 PASS인지 확인한다.
2) 손상·미등록 패킷 2건이 격리된 것을 확인한다.
| 3) 출력된 브리핑 요약을 바탕으로 5분 분량 전술통신 브리핑 자료를 만든다. |
|
| 확인할 결과 | 자체 점검 10/10 통과, 함수 커버리지 100%
| 종합 정확도 0.994, FLASH 97.8%, 검토 요청 7건 자동 적용 0건 |
|
| 도전 과제 |
CONFIG를 미션 9의 초기 설정(preempt False, mtu 512)으로 바꿔 실행하고 재조정값과의 차이를 브리핑에 추가한다. |
| 제출물 |
통합 코드, 전술통신 브리핑 자료, 최종 결과 보고서 |
4. 최종 점검표
| 점검 항목 |
확인 |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 |
( ) |
| 각 미션의 확인할 결과를 기록했다 |
( ) |
| 도전 과제 결과와 이유를 기록했다 |
( ) |
| 브리핑 수치가 실행 결과와 일치한다 |
( ) |
| 실제 통신망·주파수·전문 내용을 사용하지 않았다 |
( ) |
| 전송 순서 조정은 통신관 판단·근거 기록을 거침을 명시했다 |
( ) |