Ping 지연시간에 대하여.

최근 서버 자원이 남아서 취미로 게임서버를 운영하고 있다.
로그를 꾸준히 확인하고 문제가 있는지, 누가 문제있는 행동을 하는지 등 계속 모니터링 하면서 운영하고 있는데 간간히 보면 “Lag”, “Ping Sucks” 등 네트워크 지연에 대해 언급하는게 종종 보인다.
결론은 기본적으로 지연시간은 일정 부분 발생 할 수 밖에 없는 현상이다.
하지만 이게 왜 발생 하는 것인지 설명 하려고 한다.


설명하기 앞서 이 글은 이해를 간단하게 하기위해 여러 용어나 기술적인 부분을 일부 제외하고 작성하며 전문적으로 바라 보았을 때 비유나 설명이 적절하지 못 할 수도 있다.

Ping이란, ICMP 프로토콜을 사용해 echo응답을 주고받아 출발지 에서 목적지로 데이터를 보내 다시 받아오는데 까지 문제가 없는지 점검하는 수단 중 하나이다.
보통 이것보다는 Ping을 하였을 때 결과 중 하나인 소요시간을 볼 텐데 이것은
출발지->목적지->출발지 까지 걸린 시간을 의미한다.

이 값이 낮을수록 당연히 지연 시간이 낮다는 것이니 좋은 것이다.
하지만 높은 경우도 존재하는데 높아지는 요인은 정말 많지만 당장 꼽자면 두 호스트간의 물리적거리, 회선 상태(중간의 라우터, 스위치 등을 포함), 호스트측의 성능인데 대부분 물리적 거리와 회선 상태가 좌우한다고 보면 된다. 성능이야 호스트 측의 시스템이 오버로드되어 Ping 작업조차 못할 정도면 그건 네트워크의 문제가 아니라 시스템 자체의 문제로 봐야 하니 생략한다.

예를들어 서울에서 부산을 간다고 치자.
차를 타고 간다고 가정했을때 우린 분명 수많은 갈림길을 지나서 부산에 도착하게 될것이다. 그리고 그 시간도 꽤나 소모될 것이다.
이걸 네트워크에 대입하면 차는 패킷이 될것이고 갈림길 들은 라우터, 스위치 등의 장비에 해당하게 된다.
근데 부산 가는길이 항상 순탄치는 않을 것이다.
도로 상태가 엉망이라 정상적인 도로를 달릴 때보다 시간이 더 걸릴 수도 있고, 도로 공사로 인해 돌아가야 할 수도 있고, 어떤 요인으로 인해 차가 정체 되어 시간이 더 걸릴 수도 있을 것이다.

네트워크도 마찬가지이다.
물리적 회선(케이블)의 상태가 불량하거나 노후된 케이블을 사용하거나(광케이블이 아닌 동축케이블을 아직 사용하고 있는 지역 등을 말함.) 악천후로 인해 지연이 발생할 수 있으며(저항) 출발지와 목적지 사이의 최단 거리에 속하는 장비 하나가 고장이 나거나 유지보수로 인하여 우회 하여 통신하느라 돌아가는 만큼 지연 시간이 늘어날 수도 있고, 중간에 존재하는 네트워크 장비들이 부하되어서 지연 될 수 도 있을 것이다.

이러한 요인들로 인해 지연시간이 늘어날 수 도 있지만 기본적으로 서울과 부산의 거리는 멀다. 어디에서 어디를 가던 뭘 타던 그 거리가 멀수록 소요되는 시간은 증가할 것이며 이는 네트워크도 마찬가지다! 물리적 거리가 늘어 난다는 것은 그만큼 더 많은 케이블들과 장비를 거쳐야 한다는 의미고 이로 인해서 지연 시간은 당연히 늘어 날 수 밖에 없다!
당신은 한국 인천공항에서 미국의 JFK 공항까지 한 시간 안에 갈 수 있는가?
불가능 할 것이다.

Ping이 높다고 하는 유저들을 찾아 IP를 조회 해보면 대부분 해외에서 접속을 하고 있다. 국가와 국가 간의 통신인데 국내에서 통신하는 것 만큼의 지연 시간을 바라는것은 불가능하다. 신 기술이 나오지 않는 이상은.

정리하면 지연 시간이 늘어나는 경우는 여러가지가 있지만 기본적으로 물리적 거리가 증가할 수록 지연 시간도 함께 증가한다.
만약 당신이 게임을 하면서 “Ping Sucks”, “Lag”을 외치기 전에 당신이 어디에서 어디에 접속을 하고있는지, 본인의 시스템은 문제가 없는지, 혹시 Wi-Fi등의 Wireless통신을 이용하고 있는지를 먼저 생각해보는 것을 권장한다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다