적응적 라우팅의 회색 장애 탐지
헬스체크를 통과하는 부분 패킷 손실을 적응적 라우팅의 예상 분포와 실제 패킷 수 차이로 탐지하는 방법을 살펴봅니다.
링크가 살아 있어도 특정 경로의 전달 품질은 나빠질 수 있으므로, 정상 트래픽의 예상 분포와 실제 관측을 함께 비교해야 합니다.
헬스체크의 사각지대
회색 장애는 같은 시스템의 결함이 관찰자에 따라 다르게 보이는 상태입니다. 장비가 정상이라고 응답해도 일부 요청은 손실이나 긴 지연을 겪을 수 있습니다. Microsoft 연구진은 이 차이를 '차등 관측 가능성(differential observability)'으로 설명했습니다.
예를 들어 요청 처리 기능이 멈췄는데 생존 신호를 보내는 기능은 계속 동작할 수 있습니다. 감지기는 정상 신호를 받지만 사용자의 요청은 끝나지 않습니다. 어떤 동작을 관측하느냐에 따라 정상과 장애라는 판단이 갈립니다.
분산 학습망에서도 장비의 연결 상태만으로 전달 품질을 설명하기 어렵습니다. 여러 참여자가 함께 데이터를 교환하는 동기식 통신은 늦은 참여자를 기다립니다. 특정 경로의 손실을 애플리케이션의 대기와 연결해 볼 관측이 필요합니다.
경로별 예상 패킷 수
적응적 라우팅(adaptive routing)은 네트워크 상태에 따라 전달 경로를 바꾸는 방식입니다. 그중 패킷 스프레이(packet spraying)는 한 흐름의 패킷을 여러 경로에 나눠 보냅니다. 경로별로 얼마나 보내야 했는지 알면 도착한 수와 비교할 수 있습니다.
서버에 연결된 가장자리 스위치를 leaf, leaf 사이의 경로를 제공하는 상위 스위치를 spine이라고 부릅니다. 여러 spine을 거치는 망에서는 수신 leaf가 어느 spine에서 패킷이 들어왔는지 구분할 수 있습니다. 이 정보를 이용하면 전체 수신량 안에 가려진 경로별 차이를 볼 수 있습니다.
다음은 원리를 설명하기 위한 가정이며 실제 측정값이 아닙니다. 송신자가 패킷 10,000개를 네 경로에 균등하게 나눠 보냈다고 가정하면 경로당 기대값은 2,500개입니다. 관측 종료 시점에 마지막 경로에서만 2,000개가 도착했다면 그 경로에 500개의 부족분이 남습니다.
| 경로 | 기대 패킷 수 | 관측 패킷 수 | 부족분 |
|---|---|---|---|
| A | 2,500 | 2,500 | 0 |
| B | 2,500 | 2,500 | 0 |
| C | 2,500 | 2,500 | 0 |
| D | 2,500 | 2,000 | 500 |
기대값은 송신량과 분산 정책에서 계산해야 합니다. 위 예시의 실제 도착량 9,500개를 다시 네 등분하면 경로당 2,375개가 되어 부족분을 작게 봅니다. 수신량만 보고 기준선까지 만들면 손실 때문에 달라진 값을 정상 기대값에 섞게 됩니다.
정상 변동과 관측 구간
실제 경로 선택이 무작위라면 정상 상태에서도 패킷 수가 정확히 같지는 않습니다. 한 경로의 수신량이 적다는 사실만으로 장애를 선언하면 정상 변동을 오탐하게 됩니다. 충분한 관측량과 정상 상태에서의 분포를 함께 확인해야 합니다.
패킷이 늦게 도착하는 경우도 손실과 구분해야 합니다. 너무 일찍 관측을 끝내면 전송 중인 패킷이 부족분에 들어갑니다. 반대로 관측 구간을 무조건 늘리면 장애를 알아채는 시점이 늦어집니다.
균등 분산이라는 가정이 맞는지도 확인해야 합니다. 특정 경로에 더 큰 가중치를 주거나 일부 경로를 이미 제외했다면 정상 기대값부터 달라집니다. 운영에서는 경로 목록, 분산 정책, 관측 구간을 같은 조건으로 맞춘 뒤 비교하는 편이 좋습니다.
탐지와 원인 확인
패킷 부족은 의심할 경로를 알려 주지만 고장 난 장비를 곧바로 특정하지는 못합니다. 예시의 D 경로에 링크와 스위치가 여럿 있으면 어디서 손실이 생겼는지 추가 근거가 필요합니다. 같은 구간을 공유하는 다른 흐름에서도 문제가 생기는지 비교할 수 있습니다.
| 판단 단계 | 확인할 내용 | 다음 행동 |
|---|---|---|
| 탐지 | 기대 분포와 관측의 차이가 반복되는가 | 의심 경로와 관측 조건 기록 |
| 원인 확인 | 다른 흐름의 이상과 공유 구간이 있는가 | 링크 지표와 변경 이력 대조 |
| 완화 | 우회할 경로에 여유가 있는가 | 제한된 범위로 라우팅 변경 |
| 재평가 | 우회 뒤 전달 품질이 회복됐는가 | 유지 또는 추가 조사 판단 |
이 표는 운영 절차를 구성하기 위한 제안입니다. 통계적 이상 신호와 경로 제외 권한을 분리하면 오탐 하나가 곧바로 큰 라우팅 변경으로 이어지는 것을 막을 수 있습니다. 우회 뒤에도 손실과 애플리케이션 대기를 함께 봐야 조치가 효과를 냈는지 알 수 있습니다.
SprayCheck의 적용 사례
SprayCheck는 목적지 leaf에서 spine별 패킷 수를 비교하는 연구 시스템입니다. 측정 흐름에 높은 우선순위를 주어 경쟁 트래픽의 영향을 줄입니다. 이 조건과 정상 분포 보정을 함께 두므로, 임의의 수신 카운터에 그대로 붙일 수 있는 경보 규칙은 아닙니다.
2026-09 확인 기준, 논문은 64-spine 시뮬레이션에서 단일 링크의 패킷 손실률 1.5%를 탐지한 결과를 보고합니다. Llama-3 70B의 정해진 학습 구성에서 한 번의 학습 반복 안에 탐지했습니다. 이는 해당 통신량과 네트워크 조건에서의 결과이며 다른 서비스의 탐지 시간 보장은 아닙니다.
운영 적용의 판단 기준
도입 전에 필요한 관측을 확보할 수 있는지부터 확인합니다. 송신량을 알 수 없거나 패킷의 유입 경로를 구분하지 못하면 앞의 기대값 비교를 그대로 구성할 수 없습니다. 측정 흐름에 우선순위를 줄 경우에는 다른 작업의 지연이 늘지 않는지도 시험해야 합니다.
작은 흐름이 많거나 경로 구성이 자주 바뀌면 별도의 보정이 필요할 수 있습니다. 서로 다른 조건의 관측을 합치면 장애의 흔적이 약해지거나 정상 변화가 장애처럼 보일 수 있습니다. 변경 시각과 라우팅 정책을 관측 기록에 남기는 이유입니다.
실제 트래픽을 이용하는 관측은 그 트래픽이 지난 경로에 한정됩니다. 패킷이 없는 경로까지 정상이라고 판정해서는 안 됩니다. 또한 정상적인 혼잡에서도 손실이 발생하는 망이라면 패킷 부족을 모두 장비 결함으로 해석할 수 없습니다.
운영 평가는 탐지 속도만으로 끝내지 않는 편이 좋습니다. 정상 상태의 오탐, 결함 주입 시 탐지 누락, 경로를 바꾼 뒤의 회복 여부를 따로 기록합니다. 그래야 부족한 관측과 잘못된 기준선, 효과 없는 우회를 구분할 수 있습니다.
정리
회색 장애는 장비의 정상 응답과 애플리케이션의 실제 전달 품질이 어긋날 때 놓치기 쉽습니다. 패킷을 여러 경로에 나누는 망에서는 송신량과 분산 정책으로 기대값을 만들고 경로별 도착량과 비교할 수 있습니다. 이 비교가 유효하려면 정상 변동과 지연 도착, 라우팅 변경을 함께 고려해야 합니다. 탐지 이후의 원인 확인과 우회 효과 검증까지 연결해야 운영에 쓸 수 있는 관측이 됩니다.