패킷 손실은 네트워크를 통해 전송되는 패킷이 손상되거나 목적지까지 도달하지 못하는 현상이다. 전송 데이터는 작은 패킷으로 나뉘며, 패킷의 헤더 정보는 수신 측에서 데이터를 재구성하는 데 쓰이고, 순서 번호는 패킷을 올바른 순서로 재구성하는 데 쓰인다. 상당수 패킷이 손상되거나 전송 중 손실되면 통신이 실패할 수 있다.[5]

1. 개요

패킷 손실이 일부 발생해도 수신된 패킷이 충분하면 통신을 복원할 수 있다. 패킷 손실로 통신이 실패하면 데이터를 다시 전송해야 한다.[5] 손실의 영향은 연속 손실의 빈도와 길이, 손실 구간 사이의 간격으로 살펴볼 수 있다.[4]

음성 통신에서는 손실된 구간의 영향을 줄이기 위해 앞뒤 음성 정보를 이용하거나 이전 프레임의 특징을 활용하는 패킷 손실 은닉 기법이 제안되어 있다.[2][3] 네트워크 구간별 손실을 나누어 계산하고 전송률이나 오류 내성을 조정하는 방식도 제시된다.[1]

2. 손실 패턴과 측정 지표

RFC 3357은 단방향 패킷 손실 기본 지표를 바탕으로 손실 패턴을 나타내는 손실 기간과 손실 거리를 정의한다. 손실 기간은 손실이 시작된 뒤 손실이 얼마나 자주, 얼마나 길게 이어지는지를 나타내며, 연속 손실의 정도를 포착한다.[4]

손실 거리는 손실 기간과 다음 손실 기간 사이의 간격을 나타낸다. 이 지표에서 성공적으로 수신된 패킷의 손실 기간 값은 0으로 둔다. 따라서 손실률이 같더라도 손실들이 서로 가까이 몰려 있는지, 충분히 떨어져 있는지에 따라 패턴을 구분할 수 있다.[4]

3. 손실 원인의 구분

손실 원인을 구간별로 구분하는 한 특허 방식은 유선 구간과 무선 구간의 경계에 있는 게이트웨이가 유선 구간의 패킷 손실을 수신 단말에 알리도록 한다. 이때 손실 통지 패킷을 이용해 유선 구간과 무선 구간의 손실률을 각각 계산하고, 각 구간의 손실률에 따라 송신 단말의 데이터 전송률과 오류 내성 강도를 정한다.[1]

손실 원인의 범주에는 소프트웨어 문제와 고장 난 네트워크 인프라가 포함될 수 있다. 원인을 확인하려면 여러 분석 단계가 필요하며, 구간별 통지는 손실이 어느 연결 구간에서 발생했는지 구별하는 데 활용될 수 있다.[5][1]

4. 손실 확인 방법

패킷은 목적지에 도달하는 동안 여러 라우터를 거칠 수 있으며, 패킷이 통과하는 라우터 하나를 홉이라고 한다. 각 라우터는 패킷이 다음으로 갈 경로를 정하므로, 목적지까지의 경로는 여러 홉으로 이뤄질 수 있다.[5]

연결이 느려지거나 웹 애플리케이션이 제대로 작동하지 않는 현상은 패킷 손실과 관련될 수 있다. Windows 명령줄에서 ping 192.168.0.1을 실행해 손실 여부를 확인할 수 있지만, 이 명령만으로 인터넷의 특정 홉에서 손실이 발생했는지까지 알아낼 수는 없다.[5]

tracert는 목적지까지 거치는 홉을 표시해 손실이 발생하는 지점을 좁히는 데 쓰일 수 있다. 다만 인터넷의 모든 라우터가 응답을 반환하도록 설정된 것은 아니어서, 일부 홉에서 응답 시간 초과가 표시될 수 있다.[5]

5. 음성 전송에서의 손실 은닉

VoIP 같은 음성 전송에서 패킷 손실 은닉은 손실 구간을 보상해 수신 음성의 음질 저하를 줄이려는 방법이다. 한 특허 방식은 손실 전후 패킷의 피치 정보와 스펙트럼 거리를 비교하고, 앞뒤 음소 정보를 활용해 손실 구간의 음성을 합성하도록 제안한다.[2]

다른 방식은 손실된 프레임보다 앞선 프레임들의 에너지 변화에 따라 감쇠 인자를 적응적으로 정한다. 손실 이후의 음성 정보가 유효한 경우에는 손실 환경을 고려해 앞 정보, 뒤 정보 또는 양쪽 정보를 선택적으로 사용해 보상한다.[3]

6. 관련 문서

  • IP 패킷 손실 기본 지표
  • 손실 거리와 손실 기간
  • VoIP 음성 패킷 손실 은닉

7. 인용 및 각주

[1] Sscienceon.kisti.re.kr(새 탭에서 열림)

[2] Sscienceon.kisti.re.kr(새 탭에서 열림)

[3] Sscienceon.kisti.re.kr(새 탭에서 열림)

[4] Wwww.rfc-editor.org(새 탭에서 열림)

[5] Wwww.proofpoint.com(새 탭에서 열림)