패킷 손실률 (Packet Loss Rate)
1. 개요
패킷 손실률(Packet Loss Rate, PLR)이란 네트워크를 통해 전송된 전체 데이터 패킷 중 목적지에 도달하지 못하고 유실된 패킷의 비율을 의미한다.
컴퓨터 네트워크에서 데이터는 '패킷(Packet)'이라는 작은 단위로 쪼개져 전송되는데, 전송 경로상의 다양한 기술적 요인으로 인해 일부 패킷이 소멸될 수 있다. 패킷 손실률은 네트워크의 신뢰성과 품질을 측정하는 핵심 지표이며, 특히 실시간 데이터 전송 서비스의 품질(QoS)을 결정짓는 결정적인 요소가 된다.
2. 패킷 손실의 주요 원인
패킷 손실은 물리 계층부터 전송 계층까지 다양한 지점에서 발생하며, 주요 원인은 다음과 같다.
- 네트워크 혼잡 (Network Congestion): 라우터나 스위치의 처리 용량을 초과하는 트래픽이 유입될 때, 버퍼(Buffer, 임시 저장 공간)가 가득 차면 이후 들어오는 패킷을 강제로 폐기하는 'Tail Drop' 현상이 발생한다.
- 하드웨어 결함: 노후화된 네트워크 케이블, 불량 포트, 혹은 과부하로 인한 네트워크 장비의 하드웨어적 오류가 원인이 된다.
- 신호 간섭 및 감쇄: 무선 네트워크(Wi-Fi, LTE/5G) 환경에서 전자기적 간섭(EMI)이나 물리적 장애물로 인해 신호 세기가 약해지면 데이터 비트가 손상되어 패킷이 폐기된다.
- 소프트웨어 설정 오류: 방화벽(Firewall)의 잘못된 규칙 설정이나 MTU(Maximum Transmission Unit, 한 번에 전송 가능한 최대 패킷 크기) 불일치로 인한 패킷 분할 실패 등이 있다.
[표 1] 패킷 손실 원인별 특성 비교
| 원인 |
발생 지점 |
주요 특성 |
영향 범위 |
| 네트워크 혼잡 |
라우터/스위치 큐 |
트래픽 급증 시 일시적 발생 |
특정 경로 전체 |
| 하드웨어 결함 |
물리 케이블/NIC |
지속적이고 무작위적인 손실 |
특정 링크/장비 |
| 신호 간섭 |
무선 전송 구간 |
환경적 요인에 따른 변동성 큼 |
무선 접속 단말 |
| 설정 오류 |
방화벽/게이트웨이 |
특정 포트나 크기의 패킷만 유실 |
특정 서비스/프로토콜 |
3. 패킷 손실의 측정 및 계산 방법
3.1 계산 공식
패킷 손실률은 송신된 총 패킷 수와 수신된 패킷 수의 차이를 이용하여 백분율로 계산한다.
$$ \text{Packet Loss Rate (\%)} = \left( \frac{\text{Sent Packets} - \text{Received Packets}}{\text{Sent Packets}} \right) \times 100 $$
(참고: 위 수식은 LaTeX 문법으로 작성되었습니다. 위키 엔진이 이를 지원하지 않는 경우, (송신 패킷 수 - 수신 패킷 수) / 송신 패킷 수 * 100으로 해석하십시오.)
3.2 측정 도구 및 사용법
가장 보편적인 측정 도구는 ICMP(Internet Control Message Protocol)를 사용하는 <a href="/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EC%97%B0%EA%B2%B0%20%EA%B8%B0%EC%88%A0/ping" class="wiki-link wiki-link-missing">ping</a>과 경로별 손실을 추적하는 <a href="/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EC%97%B0%EA%B2%B0%20%EA%B8%B0%EC%88%A0/mtr" class="wiki-link wiki-link-missing">mtr</a>이다.
1) ping 명령어 (단일 대상 측정)
# -c 100: 100개의 패킷을 전송하여 손실률 측정
ping -c 100 8.8.8.8
*
결과 해석: 100 packets transmitted, 95 received, 5% packet loss라고 출력된다면, PLR은 5%이다.
2) mtr 명령어 (경로별 구간 측정)
mtr (My Traceroute)은 ping과 traceroute를 결합한 도구로, 목적지까지 거치는 모든 홉(Hop, 라우터)의 손실률을 실시간으로 보여준다.
*
결과 해석: 특정 홉(예: 4번 라우터)에서 갑자기 손실률이 급증한다면, 해당 구간의 장비나 회선에 문제가 있음을 알 수 있다.
주의: ping과 mtr이 사용하는 ICMP 프로토콜의 특성상, 일부 네트워크 장비나 방화벽은 보안상의 이유로 ICMP 패킷을 우선적으로 폐기하거나 차단할 수 있습니다. 이 경우 실제 서비스 패킷은 정상임에도 불구하고 측정값만 높게 나타나는 '가짜 패킷 손실(False Positive)'이 발생할 수 있으므로 주의가 필요합니다.
4. TCP와 UDP의 손실 처리 차이
전송 계층 프로토콜에 따라 패킷 손실에 대응하는 방식이 근본적으로 다르다.
4.1 TCP (Transmission Control Protocol)
TCP는 신뢰성 있는 연결을 지향한다. 연결 설정 단계의 3-way handshake를 통해 세션을 확립하고, 슬라이딩 윈도우(Sliding Window) 기법으로 흐름을 제어한다. 패킷 손실이 발생하면 수신 측에서 ACK(Acknowledgement, 확인 응답)를 보내지 않으며, 송신 측은 타임아웃이나 중복 ACK를 통해 손실을 감지하고 해당 패킷을 재전송(Retransmission)한다. 이 과정에서 데이터의 무결성은 보장되지만, 지연 시간(Latency) 증가가 불가피하다.
[TCP 재전송 메커니즘 흐름도]
송신측: 패킷 전송 $\rightarrow$ 네트워크: 패킷 유실 $\rightarrow$ 수신측: ACK 미전송 (또는 중복 ACK 전송) $\rightarrow$ 송신측: 타임아웃 발생/손실 감지 $\rightarrow$ 송신측: 해당 패킷 재전송 $\rightarrow$ 수신측: 패킷 수신 및 ACK 전송 $\rightarrow$ 완료
4.2 UDP (User Datagram Protocol)
UDP는 비연결성/최선형 전송(Best-effort)을 지향한다. 패킷이 유실되어도 재전송을 요청하지 않고 그대로 무시한다. 데이터의 완전성보다는 전송 속도와 실시간성이 중요할 때 사용하며, 손실 처리는 애플리케이션 계층에서 직접 구현하거나 감수해야 한다.
5. 서비스별 영향 및 허용 범위
서비스의 특성에 따라 패킷 손실이 사용자 경험(QoE, Quality of Experience)에 미치는 영향이 다르다.
[표 2] 서비스 유형별 임계치 및 체감 영향도
| 서비스 유형 |
허용 임계치 |
패킷 손실 시 체감 현상 |
영향도 |
| VoIP / 화상회의 |
< 1% |
음성 끊김, 기계음 발생, 화면 멈춤 |
매우 높음 |
| 온라인 게임 |
< 0.1% |
캐릭터 순간이동(Rubber-banding), 입력 지연 |
매우 높음 |
| 실시간 스트리밍 |
< 2% |
버퍼링 발생, 화질 저하(픽셀 깨짐) |
보통 |
| 웹 서핑 / FTP |
< 5% |
페이지 로딩 속도 저하, 파일 전송 시간 증가 |
낮음 |
| 근거 문헌: ITU-T G.1010 (End-user multimedia QoS), IETF RFC 3550 (RTP) |
|
|
|
6. 패킷 손실 해결 및 최적화 방안
- 물리 계층(L1) 점검 및 교체: 하드웨어 결함으로 인한 손실을 방지하기 위해 노후된 네트워크 케이블(UTP, 광케이블)을 교체하고, NIC 포트 및 커넥터의 물리적 접촉 상태를 점검한다.
- QoS (Quality of Service) 설정: 네트워크 장비에서 트래픽 우선순위를 지정하여, VoIP나 게임 패킷과 같은 실시간 데이터가 혼잡 상황에서도 우선적으로 처리되도록 설정한다.
- FEC (Forward Error Correction): 송신 측에서 데이터와 함께 복구용 중복 데이터를 추가로 전송하는 기술이다. 수신 측은 일부 패킷이 손실되더라도 전송된 중복 데이터를 이용해 손실된 부분을 스스로 복구할 수 있어, 재전송 요청 없이도 데이터 무결성을 유지할 수 있다. 주로 지연 시간에 민감한 UDP 기반 실시간 서비스에서 사용된다.
- 대역폭 최적화 및 로드 밸런싱: 트래픽을 여러 경로로 분산시켜 특정 라우터의 버퍼 오버플로우를 방지한다.
- MTU 최적화: 네트워크 경로상의 최소 MTU 값에 맞춰 패킷 크기를 조정함으로써, 단편화(Fragmentation)로 인한 손실을 방지한다.
7. 실제 네트워크 장애 사례 분석
사례: 특정 구간 라우터의 버퍼 오버플로우로 인한 서비스 장애
* 현상: 특정 시간대(피크 타임)에만 온라인 게임 사용자들이 간헐적인 튕김 현상과 렉(Lag)을 호소함.
* 분석: mtr 측정 결과, 목적지 직전의 특정 ISP(인터넷 서비스 제공자) 라우터에서 패킷 손실률이 10% 이상으로 급증하는 것이 확인됨. 해당 라우터의 인터페이스 트래픽 모니터링 결과, 처리 용량의 95%를 상회하는 트래픽이 유입되어 큐(Queue)에서 패킷이 폐기되는 'Tail Drop' 발생 확인.
* 해결: 해당 구간의 회선 대역폭을 증설하고, 중요 트래픽에 대해 우선순위를 부여하는 QoS 정책을 적용하여 손실률을 0.1% 미만으로 낮춤.
8. 관련 개념
패킷 손실률은 단독으로 발생하기보다 다음과 같은 지표들과 상호작용한다.
- [[지연 시간]] (Latency): 패킷이 송신지에서 수신지까지 도달하는 데 걸리는 시간. TCP 환경에서 패킷 손실은 재전송을 유발하여 지연 시간을 급격히 증가시킨다.
- [[지터]] (Jitter): 패킷 도착 간격의 불규칙한 변동성. 패킷 손실과 지터가 동시에 높으면 실시간 스트리밍 서비스에서 심한 끊김 현상이 발생한다.
- [[처리량]] (Throughput): 단위 시간당 실제로 성공적으로 전송된 데이터의 양. 패킷 손실률이 높아지면 재전송 오버헤드가 증가하여 실질적인 처리량이 감소한다.
# 패킷 손실률 (Packet Loss Rate)
## 1. 개요
**패킷 손실률(Packet Loss Rate, PLR)**이란 네트워크를 통해 전송된 전체 데이터 패킷 중 목적지에 도달하지 못하고 유실된 패킷의 비율을 의미한다.
컴퓨터 네트워크에서 데이터는 '패킷(Packet)'이라는 작은 단위로 쪼개져 전송되는데, 전송 경로상의 다양한 기술적 요인으로 인해 일부 패킷이 소멸될 수 있다. 패킷 손실률은 네트워크의 신뢰성과 품질을 측정하는 핵심 지표이며, 특히 실시간 데이터 전송 서비스의 품질(QoS)을 결정짓는 결정적인 요소가 된다.
## 2. 패킷 손실의 주요 원인
패킷 손실은 물리 계층부터 전송 계층까지 다양한 지점에서 발생하며, 주요 원인은 다음과 같다.
* **네트워크 혼잡 (Network Congestion):** 라우터나 스위치의 처리 용량을 초과하는 트래픽이 유입될 때, 버퍼(Buffer, 임시 저장 공간)가 가득 차면 이후 들어오는 패킷을 강제로 폐기하는 'Tail Drop' 현상이 발생한다.
* **하드웨어 결함:** 노후화된 네트워크 케이블, 불량 포트, 혹은 과부하로 인한 네트워크 장비의 하드웨어적 오류가 원인이 된다.
* **신호 간섭 및 감쇄:** 무선 네트워크(Wi-Fi, LTE/5G) 환경에서 전자기적 간섭(EMI)이나 물리적 장애물로 인해 신호 세기가 약해지면 데이터 비트가 손상되어 패킷이 폐기된다.
* **소프트웨어 설정 오류:** 방화벽(Firewall)의 잘못된 규칙 설정이나 MTU(Maximum Transmission Unit, 한 번에 전송 가능한 최대 패킷 크기) 불일치로 인한 패킷 분할 실패 등이 있다.
### [표 1] 패킷 손실 원인별 특성 비교
| 원인 | 발생 지점 | 주요 특성 | 영향 범위 |
| :--- | :--- | :--- | :--- |
| **네트워크 혼잡** | 라우터/스위치 큐 | 트래픽 급증 시 일시적 발생 | 특정 경로 전체 |
| **하드웨어 결함** | 물리 케이블/NIC | 지속적이고 무작위적인 손실 | 특정 링크/장비 |
| **신호 간섭** | 무선 전송 구간 | 환경적 요인에 따른 변동성 큼 | 무선 접속 단말 |
| **설정 오류** | 방화벽/게이트웨이 | 특정 포트나 크기의 패킷만 유실 | 특정 서비스/프로토콜 |
## 3. 패킷 손실의 측정 및 계산 방법
### 3.1 계산 공식
패킷 손실률은 송신된 총 패킷 수와 수신된 패킷 수의 차이를 이용하여 백분율로 계산한다.
$$ \text{Packet Loss Rate (\%)} = \left( \frac{\text{Sent Packets} - \text{Received Packets}}{\text{Sent Packets}} \right) \times 100 $$
*(참고: 위 수식은 LaTeX 문법으로 작성되었습니다. 위키 엔진이 이를 지원하지 않는 경우, `(송신 패킷 수 - 수신 패킷 수) / 송신 패킷 수 * 100`으로 해석하십시오.)*
### 3.2 측정 도구 및 사용법
가장 보편적인 측정 도구는 ICMP(Internet Control Message Protocol)를 사용하는 `ping`과 경로별 손실을 추적하는 `mtr`이다.
**1) ping 명령어 (단일 대상 측정)**
```bash
# -c 100: 100개의 패킷을 전송하여 손실률 측정
ping -c 100 8.8.8.8
```
* **결과 해석:** `100 packets transmitted, 95 received, 5% packet loss`라고 출력된다면, PLR은 5%이다.
**2) mtr 명령어 (경로별 구간 측정)**
`mtr` (My Traceroute)은 `ping`과 `traceroute`를 결합한 도구로, 목적지까지 거치는 모든 홉(Hop, 라우터)의 손실률을 실시간으로 보여준다.
```bash
mtr 8.8.8.8
```
* **결과 해석:** 특정 홉(예: 4번 라우터)에서 갑자기 손실률이 급증한다면, 해당 구간의 장비나 회선에 문제가 있음을 알 수 있다.
> **주의:** `ping`과 `mtr`이 사용하는 ICMP 프로토콜의 특성상, 일부 네트워크 장비나 방화벽은 보안상의 이유로 ICMP 패킷을 우선적으로 폐기하거나 차단할 수 있습니다. 이 경우 실제 서비스 패킷은 정상임에도 불구하고 측정값만 높게 나타나는 '가짜 패킷 손실(False Positive)'이 발생할 수 있으므로 주의가 필요합니다.
## 4. TCP와 UDP의 손실 처리 차이
전송 계층 프로토콜에 따라 패킷 손실에 대응하는 방식이 근본적으로 다르다.
### 4.1 TCP (Transmission Control Protocol)
TCP는 **신뢰성 있는 연결**을 지향한다. 연결 설정 단계의 **3-way handshake**를 통해 세션을 확립하고, **슬라이딩 윈도우(Sliding Window)** 기법으로 흐름을 제어한다. 패킷 손실이 발생하면 수신 측에서 ACK(Acknowledgement, 확인 응답)를 보내지 않으며, 송신 측은 타임아웃이나 중복 ACK를 통해 손실을 감지하고 해당 패킷을 **재전송(Retransmission)**한다. 이 과정에서 데이터의 무결성은 보장되지만, **지연 시간(Latency) 증가**가 불가피하다.
**[TCP 재전송 메커니즘 흐름도]**
`송신측: 패킷 전송` $\rightarrow$ `네트워크: 패킷 유실` $\rightarrow$ `수신측: ACK 미전송 (또는 중복 ACK 전송)` $\rightarrow$ `송신측: 타임아웃 발생/손실 감지` $\rightarrow$ `송신측: 해당 패킷 재전송` $\rightarrow$ `수신측: 패킷 수신 및 ACK 전송` $\rightarrow$ `완료`
### 4.2 UDP (User Datagram Protocol)
UDP는 **비연결성/최선형 전송(Best-effort)**을 지향한다. 패킷이 유실되어도 재전송을 요청하지 않고 그대로 무시한다. 데이터의 완전성보다는 전송 속도와 실시간성이 중요할 때 사용하며, 손실 처리는 애플리케이션 계층에서 직접 구현하거나 감수해야 한다.
## 5. 서비스별 영향 및 허용 범위
서비스의 특성에 따라 패킷 손실이 사용자 경험(QoE, Quality of Experience)에 미치는 영향이 다르다.
### [표 2] 서비스 유형별 임계치 및 체감 영향도
| 서비스 유형 | 허용 임계치 | 패킷 손실 시 체감 현상 | 영향도 |
| :--- | :--- | :--- | :--- |
| **VoIP / 화상회의** | < 1% | 음성 끊김, 기계음 발생, 화면 멈춤 | 매우 높음 |
| **온라인 게임** | < 0.1% | 캐릭터 순간이동(Rubber-banding), 입력 지연 | 매우 높음 |
| **실시간 스트리밍** | < 2% | 버퍼링 발생, 화질 저하(픽셀 깨짐) | 보통 |
| **웹 서핑 / FTP** | < 5% | 페이지 로딩 속도 저하, 파일 전송 시간 증가 | 낮음 |
*근거 문헌: ITU-T G.1010 (End-user multimedia QoS), IETF RFC 3550 (RTP)*
## 6. 패킷 손실 해결 및 최적화 방안
* **물리 계층(L1) 점검 및 교체:** 하드웨어 결함으로 인한 손실을 방지하기 위해 노후된 네트워크 케이블(UTP, 광케이블)을 교체하고, NIC 포트 및 커넥터의 물리적 접촉 상태를 점검한다.
* **QoS (Quality of Service) 설정:** 네트워크 장비에서 트래픽 우선순위를 지정하여, VoIP나 게임 패킷과 같은 실시간 데이터가 혼잡 상황에서도 우선적으로 처리되도록 설정한다.
* **FEC (Forward Error Correction):** 송신 측에서 데이터와 함께 복구용 중복 데이터를 추가로 전송하는 기술이다. 수신 측은 일부 패킷이 손실되더라도 전송된 중복 데이터를 이용해 손실된 부분을 스스로 복구할 수 있어, 재전송 요청 없이도 데이터 무결성을 유지할 수 있다. 주로 지연 시간에 민감한 UDP 기반 실시간 서비스에서 사용된다.
* **대역폭 최적화 및 로드 밸런싱:** 트래픽을 여러 경로로 분산시켜 특정 라우터의 버퍼 오버플로우를 방지한다.
* **MTU 최적화:** 네트워크 경로상의 최소 MTU 값에 맞춰 패킷 크기를 조정함으로써, 단편화(Fragmentation)로 인한 손실을 방지한다.
## 7. 실제 네트워크 장애 사례 분석
**사례: 특정 구간 라우터의 버퍼 오버플로우로 인한 서비스 장애**
* **현상:** 특정 시간대(피크 타임)에만 온라인 게임 사용자들이 간헐적인 튕김 현상과 렉(Lag)을 호소함.
* **분석:** `mtr` 측정 결과, 목적지 직전의 특정 ISP(인터넷 서비스 제공자) 라우터에서 패킷 손실률이 10% 이상으로 급증하는 것이 확인됨. 해당 라우터의 인터페이스 트래픽 모니터링 결과, 처리 용량의 95%를 상회하는 트래픽이 유입되어 큐(Queue)에서 패킷이 폐기되는 'Tail Drop' 발생 확인.
* **해결:** 해당 구간의 회선 대역폭을 증설하고, 중요 트래픽에 대해 우선순위를 부여하는 QoS 정책을 적용하여 손실률을 0.1% 미만으로 낮춤.
## 8. 관련 개념
패킷 손실률은 단독으로 발생하기보다 다음과 같은 지표들과 상호작용한다.
* **[[지연 시간]] (Latency):** 패킷이 송신지에서 수신지까지 도달하는 데 걸리는 시간. TCP 환경에서 패킷 손실은 재전송을 유발하여 지연 시간을 급격히 증가시킨다.
* **[[지터]] (Jitter):** 패킷 도착 간격의 불규칙한 변동성. 패킷 손실과 지터가 동시에 높으면 실시간 스트리밍 서비스에서 심한 끊김 현상이 발생한다.
* **[[처리량]] (Throughput):** 단위 시간당 실제로 성공적으로 전송된 데이터의 양. 패킷 손실률이 높아지면 재전송 오버헤드가 증가하여 실질적인 처리량이 감소한다.