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