- 0
- 54 words
패킷 손실이 무엇인지 알아보고 네트워크에서 패킷이 사라지는 주요 원인과 인터넷 속도, 게임, 영상 통화 등에 미치는 영향 및 확인 방법을 쉽게 정리합니다.
인터넷을 사용하다 보면 갑자기 웹페이지가 제대로 열리지 않거나 온라인 게임에서 캐릭터가 순간적으로 멈추는 경우가 있습니다.
영상 통화를 하다가 목소리가 끊기거나 상대방의 화면이 잠깐 멈추는 상황도 비슷합니다.
이런 네트워크 문제를 살펴볼 때 자주 등장하는 개념이 패킷 손실(Packet Loss)입니다.
네트워크를 공부하기 전에는 인터넷이 느려지면 단순히 인터넷 속도가 떨어진 것이라고 생각하기 쉬웠습니다. 하지만 네트워크에서 실제로 어떤 일이 일어나는지 살펴보면 데이터를 전달하는 과정에서 일부 패킷이 목적지까지 도착하지 못하는 경우도 있다는 것을 알 수 있습니다.
패킷이란?
패킷 손실을 이해하려면 먼저 패킷(Packet)이 무엇인지 알아야 합니다.
컴퓨터가 네트워크를 통해 데이터를 보낼 때 데이터를 한 번에 통째로 보내는 것이 아니라 작은 단위로 나누어 전달합니다.
이렇게 네트워크를 통해 전달되는 데이터 단위를 일반적으로 패킷이라고 부릅니다.
예를 들어 5000바이트의 데이터를 전송한다고 가정해 보겠습니다.
5000 Bytes
↓
패킷 1
패킷 2
패킷 3
패킷 4
여러 개의 패킷으로 나누어진 데이터가 네트워크를 통해 목적지로 이동합니다.
이 과정에서 일부 패킷이 제대로 도착하지 않는 현상을 패킷 손실이라고 합니다.
패킷 손실이란?
패킷 손실(Packet Loss)은 말 그대로 전송된 패킷 중 일부가 목적지까지 정상적으로 도착하지 못하는 현상입니다.
예를 들어 패킷 100개를 보냈는데 그중 2개가 도착하지 않았다면:
전송 패킷
100개
정상 도착
98개
손실
2개
패킷 손실률은 다음과 같이 계산할 수 있습니다.
패킷 손실률
= 손실된 패킷 ÷ 전체 전송 패킷 × 100
위의 예시라면:
2 ÷ 100 × 100
= 2%
즉 패킷 손실률은 2%입니다.
패킷은 왜 손실될까?
패킷 손실이 발생하는 원인은 하나가 아닙니다.
대표적인 원인은 다음과 같습니다.
- 네트워크 혼잡
- 무선 신호 불량
- 전파 간섭
- 네트워크 장비 문제
- 케이블 문제
- 라우터 또는 스위치의 과부하
- 서버 또는 통신 회선 문제
- 설정 오류
따라서 패킷 손실이 발생했다고 해서 무조건 인터넷 회선 자체에 문제가 있다고 판단해서는 안 됩니다.
네트워크 혼잡으로 인한 패킷 손실
패킷 손실의 대표적인 원인 중 하나가 네트워크 혼잡(Network Congestion)입니다.
네트워크 장비가 처리할 수 있는 것보다 많은 데이터가 한꺼번에 들어오면 패킷을 저장할 공간이 부족해질 수 있습니다.
많은 데이터
↓
라우터
↓
처리량 초과
↓
버퍼 부족
↓
일부 패킷 폐기
이렇게 폐기된 패킷은 목적지까지 정상적으로 전달되지 않습니다.
특정 시간대에만 인터넷 상태가 좋지 않다면 네트워크 혼잡도 원인으로 생각해 볼 수 있습니다.
Wi-Fi에서도 패킷 손실이 발생할 수 있다
무선 네트워크를 사용하는 경우에는 유선보다 다양한 요소가 통신에 영향을 줄 수 있습니다.
예를 들어 공유기와 스마트폰 사이의 거리가 너무 멀거나 벽이 여러 개 있다면 무선 신호가 약해질 수 있습니다.
공유기
│
│ 약한 신호
↓
스마트폰
주변의 다른 Wi-Fi나 전자기기에서 발생하는 전파 간섭도 영향을 줄 수 있습니다.
이런 환경에서는 데이터가 정상적으로 전달되지 않아 패킷 손실이 발생할 수 있습니다.
케이블 문제도 원인이 될 수 있다
유선 네트워크라고 해서 패킷 손실이 발생하지 않는 것은 아닙니다.
LAN 케이블이 손상되었거나 커넥터가 제대로 연결되지 않은 경우에도 통신 문제가 발생할 수 있습니다.
예를 들어:
PC
↓
LAN 케이블
↓
스위치
이 과정에서 케이블이나 커넥터에 문제가 있다면 패킷이 정상적으로 전달되지 않을 수 있습니다.
오래된 케이블이나 품질이 좋지 않은 케이블을 사용하는 환경이라면 물리적인 연결 상태도 확인해 볼 필요가 있습니다.
네트워크 장비의 과부하
라우터나 스위치 같은 네트워크 장비가 처리할 수 있는 수준을 넘어서는 트래픽이 발생하면 문제가 생길 수 있습니다.
예를 들어:
정상적인 상태
트래픽 → → → 장비
과부하 상태
트래픽 → → → → → → → 장비
↓
처리 한계
장비가 모든 패킷을 제때 처리하지 못하면 일부 패킷이 폐기될 수 있습니다.
특히 오래된 장비를 사용하거나 갑자기 많은 트래픽이 발생하는 환경에서는 이런 문제를 확인해 볼 필요가 있습니다.
패킷 손실이 발생하면 어떤 문제가 생길까?
패킷 손실이 발생하면 서비스 종류에 따라 다양한 문제가 나타날 수 있습니다.
웹사이트에서는 페이지 로딩이 늦어지거나 일부 요청이 다시 전송될 수 있습니다.
온라인 게임에서는 캐릭터가 순간적으로 이동하거나 입력이 제대로 반영되지 않는 문제가 나타날 수 있습니다.
영상 통화에서는 화면이 끊기거나 음성이 잘리는 현상이 발생할 수 있습니다.
패킷 손실
↓
데이터 일부 누락
↓
서비스 품질 저하
TCP에서는 패킷 손실을 어떻게 처리할까?
TCP는 데이터를 안정적으로 전달하기 위해 여러 가지 기능을 제공합니다.
대표적으로 패킷이 정상적으로 전달되지 않았다고 판단되면 해당 데이터를 다시 전송하는 재전송(Retransmission)이 이루어질 수 있습니다.
송신자
│
│ 데이터
↓
수신자
X
패킷 손실
│
↓
재전송 요청 또는 손실 감지
│
↓
데이터 재전송
이러한 기능 덕분에 TCP는 일부 패킷 손실이 발생하더라도 데이터를 안정적으로 전달할 수 있습니다.
하지만 패킷 손실이 계속 발생하면 재전송이 반복되기 때문에 통신 성능이 떨어질 수 있습니다.
UDP에서는 어떻게 될까?
UDP는 TCP와 달리 연결 상태나 데이터 전달 여부를 보장하지 않습니다.
따라서 UDP를 사용하는 서비스에서는 패킷 손실의 영향이 더 직접적으로 나타날 수 있습니다.
예를 들어 실시간 음성이나 영상에서는 일부 패킷이 손실되더라도 데이터를 기다렸다가 다시 받기보다는 다음 데이터를 계속 처리하는 경우가 있습니다.
그 결과:
패킷 손실
↓
음성 일부 누락
또는
영상 일부 깨짐
같은 현상이 발생할 수 있습니다.
물론 실제 서비스에서는 자체적인 오류 보정이나 재전송 기술을 추가로 사용할 수도 있습니다.
패킷 손실과 지연시간은 다르다
앞에서 설명한 지연시간과 패킷 손실은 서로 다른 개념입니다.
지연시간(Latency)은 데이터가 목적지까지 이동하는 데 걸리는 시간과 관련이 있습니다.
패킷 손실(Packet Loss)은 데이터가 목적지에 제대로 도착하지 못하는 현상입니다.
예를 들어:
지연시간 문제
→ 데이터가 늦게 도착
패킷 손실 문제
→ 데이터가 도착하지 않음
두 문제가 동시에 발생할 수도 있습니다.
그래서 네트워크가 이상할 때는 단순히 핑이 높은지만 확인하는 것보다 패킷 손실 여부도 같이 확인하는 것이 좋습니다.
패킷 손실률은 어느 정도가 적당할까?
일반적으로 패킷 손실은 0%에 가까울수록 좋습니다.
특히 실시간 통신에서는 아주 작은 패킷 손실도 체감되는 경우가 있습니다.
다만 어느 정도의 패킷 손실이 문제가 되는지는 서비스와 네트워크 환경에 따라 달라집니다.
예를 들어 웹서핑과 온라인 게임은 같은 패킷 손실률이라도 사용자가 느끼는 영향이 다를 수 있습니다.
따라서 특정 숫자 하나만 가지고 무조건 정상 또는 비정상이라고 판단하기보다는 지속적으로 패킷 손실이 발생하는지와 실제 서비스에 어떤 영향을 주는지를 함께 확인하는 것이 좋습니다.
Ping으로 패킷 손실 확인하기
패킷 손실은 Windows의 ping 명령어를 이용해서 간단하게 확인할 수 있습니다.
예를 들어:
ping 8.8.8.8
명령을 실행하면 여러 번 데이터를 보내고 응답을 확인합니다.
결과에 다음과 같이 표시될 수 있습니다.
Packets: Sent = 4,
Received = 4,
Lost = 0
이 경우:
손실률 = 0%
입니다.
반대로 일부 요청에 응답이 없다면 패킷 손실이 발생했을 가능성이 있습니다.
Traceroute로 어디에서 문제가 발생하는지 확인하기
패킷 손실이 발생했을 때 단순히 손실 여부만 확인하는 것보다 어느 구간에서 문제가 발생하는지 확인하는 것도 중요합니다.
Windows에서는 tracert 명령어를 사용할 수 있습니다.
tracert 8.8.8.8
이를 이용하면 내 컴퓨터에서 목적지까지 데이터가 어떤 네트워크 경로를 거쳐가는지 확인할 수 있습니다.
Linux나 macOS에서는 일반적으로 traceroute 명령을 사용합니다.
다만 특정 중간 장비가 ICMP 응답을 제한할 수 있기 때문에 traceroute 결과만 보고 해당 구간이 반드시 고장났다고 단정해서는 안 됩니다.
패킷 손실 문제를 확인하는 순서
패킷 손실이 의심된다면 무작정 공유기부터 교체하기보다는 단계적으로 확인하는 것이 좋습니다.
제가 네트워크 문제를 공부하면서 느낀 부분도 문제가 발생한 지점을 좁혀가는 과정이 중요하다는 것입니다.
예를 들어 다음과 같이 확인할 수 있습니다.
내 PC
↓
공유기
↓
인터넷 회선
↓
외부 서버
먼저 내 PC와 공유기 사이에서 문제가 있는지 확인합니다.
그다음 외부 인터넷으로 나갔을 때 문제가 발생하는지 확인합니다.
마지막으로 특정 서버에서만 문제가 발생하는지도 확인해 볼 수 있습니다.
이렇게 범위를 조금씩 넓혀가면 문제의 원인을 찾는 데 도움이 됩니다.
패킷 손실을 줄이는 방법
원인에 따라 해결 방법은 달라집니다.
Wi-Fi 문제라면 공유기와 장치의 거리를 줄이거나 전파 간섭이 적은 환경을 만들어 볼 수 있습니다.
유선 환경이라면 LAN 케이블과 연결 상태를 확인하는 것이 좋습니다.
네트워크 장비의 과부하가 원인이라면 트래픽을 줄이거나 장비 성능을 확인해야 합니다.
인터넷 회선 자체에 문제가 있다면 통신사 측 회선 상태를 점검해야 할 수도 있습니다.
결국 중요한 것은 패킷 손실이 발생했다는 결과만 보고 바로 특정 장비를 원인으로 판단하지 않는 것입니다.
패킷 손실이 특히 중요한 환경
모든 네트워크 서비스에서 패킷 손실의 영향이 똑같은 것은 아닙니다.
특히 다음과 같은 환경에서는 패킷 손실을 중요하게 확인할 필요가 있습니다.
온라인 게임
게임에서는 실시간으로 입력과 서버 데이터를 주고받기 때문에 패킷 손실이 발생하면 순간적인 끊김이나 움직임 이상이 나타날 수 있습니다.
음성 통화
음성 데이터가 손실되면 상대방의 목소리가 끊기거나 일부 단어가 들리지 않을 수 있습니다.
영상 통화
영상 데이터가 손실되면 화면이 깨지거나 순간적으로 멈추는 현상이 발생할 수 있습니다.
실시간 스트리밍
패킷 손실이 지속되면 영상 품질이 떨어지거나 버퍼링이 발생할 수 있습니다.
패킷 손실을 쉽게 이해하는 방법
패킷 손실은 택배를 여러 개 보내는 상황으로 생각하면 이해하기 쉽습니다.
100개의 택배를 보냈는데:
100개 발송
↓
98개 도착
↓
2개 분실
이런 상황이라면 2개의 데이터가 손실된 것과 비슷합니다.
TCP에서는 잃어버린 데이터를 다시 보내는 방식으로 문제를 해결할 수 있습니다.
반면 실시간 통신에서는 일부 데이터를 기다리지 않고 다음 데이터를 처리하기 때문에 손실된 부분이 그대로 끊김이나 품질 저하로 나타날 수 있습니다.
정리
패킷 손실(Packet Loss)은 네트워크를 통해 전송된 패킷 중 일부가 목적지에 정상적으로 도착하지 못하는 현상입니다.
원인은 네트워크 혼잡부터 Wi-Fi 전파 간섭, 케이블 문제, 네트워크 장비의 과부하까지 다양합니다.
패킷 손실이 발생하면 TCP에서는 재전송으로 데이터를 복구할 수 있지만, 손실이 반복되면 통신 속도와 효율이 떨어질 수 있습니다. UDP를 사용하는 실시간 서비스에서는 음성이나 영상이 끊기는 등 사용자가 직접 문제를 느낄 수도 있습니다.
핵심만 정리하면 다음과 같습니다.
패킷 손실
↓
일부 데이터가 목적지에 도착하지 않음
↓
TCP → 재전송 등을 통해 복구
UDP → 서비스에 따라 데이터 손실이 바로 나타날 수 있음
↓
지속적인 패킷 손실
↓
네트워크 품질 저하
네트워크 문제가 발생했을 때는 단순히 “인터넷이 느리다”고 판단하기보다는 지연시간, 패킷 손실, 대역폭, 네트워크 혼잡 등을 각각 나누어 살펴보는 것이 좋습니다.
이렇게 각각의 개념을 구분해서 보면 인터넷이 느려진 이유를 조금 더 정확하게 파악할 수 있습니다.