[3줄 요약]
- 진공 중 빛의 속도 3*10^8 m/s
- 광케이블 속 빛의 속도 2*10^8 m/s
- 일반적인 인터넷 패킷의 왕복 속도는 1ms/100km
인터넷 게임, 클라우드프로그램, 앱, 웹서핑을 하면서 너무 늦다고 느낄 때, (원인은 여러 가지가 있을 수 있지만) 이용자들은 서버~클라이언트 응답 시간을 측정해보게 됩니다.
ping시간, Latency, RTT, RTD 등 여러 가지 명칭이 있지만 한글로는 응답 시간으로 통일되는 것 같습니다.
이에 대하여 이야기해 보고자 합니다. (주로 단거리보다는 장거리에 관련된 이야기를 펼쳐보겠습니다.)
영문 wiki에는 아래와 같이 정리되어 있죠. (RTT와 RTD는 거의 차이가 없습니다.)
- RTT : round-trip time
- RTD : round-trip delay
https://en.wikipedia.org/wiki/Round-trip_delay
A지점과 B지점 사이의 (왕복) 응답 시간을 의미합니다.
조금 더 자세한 설명이 있는 latency를 살펴보면
https://en.wikipedia.org/wiki/Latency_(engineering)
패킷 교환 네트워크/광케이블/위성 전송에 대하여 상세히 기술해 놓았습니다만, 현재 인터넷에 사용되는 기술은 빛을 이용한 광통신이므로 빛의 속도를 아는 것이 모든 것의 시작이 되겠네요. 전파의 속도도 빛의 속도와 같다는 것은 다 알고 계시죠?
- 광속 : 299,792,458 m/s
https://www.google.com/search?client=firefox-b-d&q=%EB%B9%9B%EC%9D%98+%EC%86%8D%EB%8F%84
하지만 실제 생활에서 계산할 땐 3*10^8 m/s를 이용해도 충분합니다. 광속은 진공에서 측정된 값이므로 매질에 따라 속도가 감소하게 되죠. 현재 인터넷은 대부분 광케이블을 이용하여 전송하고 있으므로 광케이블을 통과하는 속도가 필요합니다. 광케이블 속 빛의 속도는 진공 중의 속도에 비하여 약 2/3로 알려져 있습니다. 즉 2*10^8 m/s입니다.
현실적인 이야기로 돌아와서 100km를 왕복하는 인터넷 전송시간은 어느 정도일까요?
시간 = 거리 ÷ 속도 이므로
t = (100km*2 ) ÷ (2*10^8 m/s) = 1ms
간단하게 100km당 1ms로 생각하면 됩니다.
지금까지 기술한 시간은 순수하게 광케이블을 통과하는 시간을 의미합니다. 광케이블을 사용하기 위해 전기신호 ↔ 광신호간 변환되는 지연은 무시한 결과이며, 실제 전체 왕복시간 결괏값에 큰 영향을 주지 않기 때문입니다.
그럼 실제 사례에 적용해 볼까요? 다음은 Google DNS의 왕복시간을 측정해 본 결괏값입니다.
59ms로 측정되었으니 단순히 계산하면 약 5,900km 떨어진 지점에 설치된 서버라는 것을 유추할 수 있습니다. 아시아 내 어느 지역이겠네요.
부산대학교와 제주대학교 홈페이지를 측정한 결과입니다. 두 대학교 모두 보안 강화를 위해 외부 ping이 차단되어 있어, 대신 traceroute를 사용하여 측정한 결과이고, 중간 경로는 자체 검열하였습니다.
수도권에서 측정한 결과이지만 11ms라면 거리가 1100km인데, 네이버 지도의 결과와는 많이 차이가 납니다.
왜 차이가 나는 것일까요? 부산대는 4~5ms, 제주대는 5~6ms가 이론 치입니다만, Latency는 Network 부분, server/client 부분 등 다양하게 영향을 받으므로 이에 대한 내용은 다음 기회에 이야기해 보겠습니다.
아래 내용은 Network이 latency에 영향을 주는 요소 정도로 알고 계시면 되겠네요.
Network에 의해서 영향을 받는 latency는 크게 3가지로 구분합니다.
- Serialization Delay
- Queuing Delay
- Propagation Delay
'인터넷' 카테고리의 다른 글
IP Transit Price⑴ : 95th percentile measurement (0) | 2024.04.17 |
---|---|
Latency 관점에서 본 "Starlink 정말 빠를까?" (0) | 2021.07.25 |