Files
2026-10-08 16:43:48 +09:00

14 KiB

C202 실습가이드 - 대역폭 제한 시 메시지 우선순위 큐·재전송 프로토타입

구 분 실습가이드 [교육용가상자료]

1. 실습 개요

본 실습은 교육용 가상 협대역 링크와 가상 전술 전문으로 메시지 우선순위 큐·재전송 프로토타입을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(C202_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.

과제 C202 대역폭 제한 시 메시지 우선순위 큐·재전송 프로토타입
난이도·유형 중급 / 코딩형
예상 소요시간 미션 10개, 총 27.5시간
준비물 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.5시간

| 진행 순서 | 1) M1 코드를 실행해 대역폭별 전문 전송시간 표를 확인한다. 2) 정상 샘플 20건 검증 결과와 오류 주입 결과 6건이 어떤 규칙에 걸렸는지 정리한다.

3) 데이터 명세 요약표를 보고 빠진 전술 파라미터가 없는지 검토한다.

| 확인할 결과 | 정상 샘플 20건 오류 0건, 주입 오류 6건 모두 검출

2.4kbps에서 행정전문 1건 약 11초 점유 확인
도전 과제 SCHEMA의 link 그룹에 암호화 여부(encrypted, True/False) 필드를 추가하고, 문자열 'yes'를 넣었을 때 자료형 오류로 검출되는지 확인한다.
제출물 스키마 정의 코드, 데이터 명세서, 대역폭별 전송시간 분석표

미션 2. 전술 메시지(전문) 패킷 파싱, 크기 압축 및 헤더 정보 전처리 모듈 구현

난이도·시간 초급~중급 · 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) 구현

난이도·시간 중급 · 2.5시간

| 진행 순서 | 1) M3 코드를 실행해 큐에서 꺼낸 순서가 긴급도 순인지 확인한다. 2) FIFO와 우선순위 큐의 긴급도별 기한 내 전달률·95% 지연을 비교한다.

3) 기한을 놓친 FLASH 전문 6건의 원인과 링크 속도별 민감도를 정리한다.

| 확인할 결과 | 처리 정확도 75% 이상(예시 FIFO 89.5% -> 우선순위 큐 97.7%)

FLASH 기한 내 전달률 76%로 비선점 한계 확인
도전 과제 make_messages의 rate를 0.25로 올리면 FIFO와 우선순위 큐의 차이가 어떻게 커지는지 확인하고, ROUTINE 전문의 대기가 얼마나 늘어나는지 기록한다.
제출물 우선순위 큐 코드, 긴급도별 전달률표, 한계 분석 의견

미션 4. 전장 상황 및 전송 실패율에 따른 동적 패킷 스케줄링 및 지능형 재전송 알고리즘 구현

난이도·시간 중급 · 3시간

| 진행 순서 | 1) M4 코드를 실행해 10개 시나리오의 기존·개선 긴급 전달률을 비교한다. 2) 링크 열화 탐지 재현율과 정상 구간 오경보를 확인한다.

3) 기능별 기여도 표에서 고정 RTO의 불필요 재전송 횟수를 확인한다.

| 확인할 결과 | 긴급 전문 기한 내 전달률 85% 이상(예시 86.4% -> 99.4%)

열화 탐지 재현율 95.3%, 결정 지연 최대 1ms 미만
도전 과제 ADV의 aging을 1.0으로 바꾸고 트래픽 2배 시나리오에서 ROUTINE·PRIORITY 지연이 어떻게 바뀌는지 확인해 aging의 장단점을 정리한다.
제출물 지능형 스케줄러 코드, 복합 장애 시나리오 시험 결과표, 기능별 기여도 분석

미션 5. 네트워크 혼잡도 기반 전송 성공 확률 및 링크 신뢰도 산출 엔진 개발

난이도·시간 중급~고급 · 3시간

| 진행 순서 | 1) M5 코드를 실행해 기존 규칙과 신뢰도 엔진의 오경보율·재현율을 비교한다. 2) 경보 임계값 민감도 표에서 오경보와 재현율이 함께 움직이는 구간을 찾는다.

3) 실제 링크 상태별 등급 분포와 특징 중요도를 해석한다.

| 확인할 결과 | 오경보율 61.0% 감축(목표 40%), 등급 일관성 93.2%

ROC-AUC 0.891, 불량 링크 재현율 0.713 -> 0.816
도전 과제 경보 기준을 0.6에서 0.7로 올리면 오경보율과 재현율이 어떻게 바뀌는지 표로 정리하고, 통신 운용상 적절한 기준을 토의한다.
제출물 신뢰도 엔진 코드, 적용 전후 비교표, ROC·불확실성 그림

미션 6. 대역폭 사용률, 큐 대기 현황 및 패킷 유실률 실시간 모니터링 UI 구현

난이도·시간 중급 · 2.5시간

| 진행 순서 | 1) M6 코드를 실행해 갱신 처리시간과 구간별 관제 지표를 확인한다. 2) 재밍 구간과 대역폭 감소 구간에서 사용률·손실률·대기 전문이 어떻게 변하는지 본다.

3) 경보 패널의 정렬 순서(기한초과 -> 링크열화 -> 기한임박)를 확인한다.

| 확인할 결과 | 갱신 처리시간 100ms 이내(예시 평균 1ms 미만)

구성요소 5종(사용률·큐 대기·손실률·KPI·경보) 표시
도전 과제 snapshot()의 기한 임박 기준(0.7)을 0.5로 낮추면 경보 수가 어떻게 바뀌는지 확인하고, 통신관이 경보 피로 없이 볼 수 있는 기준을 제안한다.
제출물 관제 화면 코드, 관제 화면 그림, 가독성 개선안

미션 7. 최우선 순위 전문 강제 전송 및 큐 순서 수동 조정을 위한 통신관 HITL 통제 기능 설계

난이도·시간 고급 · 3시간

| 진행 순서 | 1) M7 코드를 실행해 시스템 추천 후에도 큐 순서가 바뀌지 않았는지 확인한다. 2) 차단된 규칙 위반 조작 5건과 차단 사유를 정리한다.

3) 상급자 승인을 거친 강제 전송의 대기시간과 감사 로그 변조 검출 결과를 확인한다.

| 확인할 결과 | 자동 순서 변경 0건, 규칙 위반 5건 차단

로깅 성공률 100%, 변조 위치(10번째 기록) 검출
도전 과제 요청자와 승인자가 같은 경우(approver='sig01')를 시험해 차단되는지 확인하고, 2인 확인이 필요한 조작 범위를 토의한다.
제출물 HITL 통제 코드, HITL 절차 요약(조작 종류·승인 조건·근거 기록 요건), 지휘관 피드백 양식

미션 8. 대역폭 90% 급감 및 대량 전문 폭주 상황 모의 전송 스트레스 시뮬레이션

난이도·시간 고급 · 3.5시간

| 진행 순서 | 1) M8 코드를 실행해 상황별 전달·보관·유실·다운을 확인한다. 2) 일반 모드와 성능 저하 모드의 긴급 전달률 차이를 비교한다.

3) 최악 상황에서 기한을 못 지키는 원인(용량 부족)과 병목 함수를 정리한다.

| 확인할 결과 | 모든 상황 다운 0건, 유실 0건(전달+보관=전체)

재밍+트래픽 500%에서 저하모드 긴급 전달률 77.0% -> 85.8%
도전 과제 degraded_admit()에서 PRIORITY까지 송신을 허용하도록 바꾸면 긴급 전문 전달률이 어떻게 변하는지 확인하고 저하모드 기준을 제안한다.
제출물 스트레스 시험 코드, 시험 결과표, 안전 실패 동작과 병목 개선안

미션 9. AAR 기반 중요 전문 전송 지연 사례 분석 및 큐 우선순위 가중치 재조정

난이도·시간 고급 · 3시간

| 진행 순서 | 1) M9 코드를 실행해 초기 설정의 긴급도별 전달률과 지연 원인 분류를 확인한다. 2) 격자 탐색 상위 조합과 선택된 재조정값을 확인한다.

3) 재조정 전후 종합 정확도·FLASH 전달률과 회귀 테스트 결과를 비교한다.

| 확인할 결과 | 원인별 지연 분류 완료, 종합 정확도 0.921 -> 0.990(+6.9%p)

FLASH 72.0% -> 96.0%, 회귀 테스트 3/3 통과
도전 과제 제약 조건을 'FLASH 100%'로 바꾸면 어떤 조합이 남는지(또는 남지 않는지) 확인하고, 반복 지연 전문 M0070에 대한 대책을 제시한다.
제출물 AAR 보고서(계획·결과·원인·개선), 재조정 파라미터

미션 10. 대역폭 제한 환경 메시지 큐·재전송 시스템 통합 및 전술통신 브리핑 패키지 완성

난이도·시간 최고급 · 3.5시간

| 진행 순서 | 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 코드가 모두 오류 없이 실행되었다 ( )
각 미션의 확인할 결과를 기록했다 ( )
도전 과제 결과와 이유를 기록했다 ( )
브리핑 수치가 실행 결과와 일치한다 ( )
실제 통신망·주파수·전문 내용을 사용하지 않았다 ( )
전송 순서 조정은 통신관 판단·근거 기록을 거침을 명시했다 ( )