4.1.11

해외트래커에서 광랜이 ADSL이 되는 이유

국외로 여행을 하려면 비행기를 타고 몇시간 이상 날아가야 하는 경우가 대부분입니다.
인터넷의 발달로 인하여 큰 시간을 들이지 않고도 통신을 할 수 있는 가깝고도 먼나라가 되었죠.
보통은 짧은 시간안에 원하는 웹페이지를 불러와 표시해 주기 따문에, 멀리 떨어져 있는 줄 모를 때도 있습니다.

하지만, 네트웍 상에서도 미국이나 유럽은 가까운 곳이 아닙니다.
WWW을 통해서 서핑을 할 때에는 주고 받는 데이터가 많지 않기 때문에 그렇게 느낄 뿐,
p2p와 같이 많은 자료를 가져와야 할 때는 이야기가 달라집니다.

국내 대부분의 지역은 Ping 값이 10msec 이내가 됩니다.
Ping 값은 내가 보낸 패킷을 상대방이 받고서 응답을 하는데 까지 걸리는 왕복 전달 시간을 의미합니다.
그러니, 국내의 경우 0.01초 안에 필요한 정보를 얻을 수 있다는 이야기가 됩니다.

튜닝을 안해도 국내에서 속도가 잘나오는 이유가 여기에 있습니다.
패킷을 하나 주고, 잘 받았다는 확인 신호를 되돌려 받은 후에, 다시 패킷을 주고, 다시 확인 신호를 받아도
지역적으로 가깝기 때문에 전혀 문제가 되지 않는 것입니다.
이런 동작은 효율성이 굉장히 나쁘지만, 지역적으로 가깝기 때문에 문제가 되지 않는 것이죠.
그러나, 국외의 경우에는 이런 동작이 속도를 떨어트리는 근본 원인이 됩니다.

빛의 속도는 초속 30만Km로 지구를 1초에 7바퀴 반을 돌 수 있는 빠르기입니다.
전기 신호는 매질이 진공 상태가 아니라 구리선이기 때문에, 빛의 2/3 속도로 전달됩니다.
따라서 전파 지연 시간은 아주 미세하기 때문에 무시할 수 있을 정도고, 신호가 아주 빠르게 전달된다고 할 수 있습니다.

하지만, 공유기에서 하나의 패킷을 모두 받아서 순간적으로 보관했다가 라우터에 전송하게 되고,
라우터를 통과할 때 마다 1500(하나의 패킷 크기) x 8(bit로 환산) / 100Mbps(100Mbps 라우터의 경우) 의 시간 만큼
패킷이 저장되었다고 다시 forwarding 되게 됩니다. 이런식으로 라우터를 통과할 때마다 패킷이 저장되고 다시 전송 되는
시간이 쌓여서 Dealy를 만들게 되는 것입니다. 10Gbps 라우터의 경우 패킷을 forwarding하는 시간은 짤아지게 됩니다.
전기신호를 광신호로 빠꾸고, 다시 광신호를 전기신호로 빠꾸게 되는 시간들도 Delay에 영향을 주게 되는 것입니다.

처음에 이야기한 Ping 값의 의미가 여기에 있는 것입니다. 유럽지역과 통신을 하기 위해서는 수많은 라우터를 거치게 됩니다.
유럽지역에 하나의 패킷을 상대방에게 보냈을 때, 잘 받았다는 확인 신호를 받기 까지 300msec, 즉 0.3가 걸리는 것입니다.
이런 동작이 장거리 전송에서 효율을 떨어트리게 되는 것이죠.

Windows OS의 TCPIP 기본값은 패킷을 몇개만 보내고 확인 신호를 받게 되기 때문에, 유럽이나 미국 같은 장거리 지역과의
통신 속도나 효율이 떨어지는 것입니다. 광랜이라고 하더라도 패킷을 몇개 보내고 확인 신호 받으면, ADSL 보다 느려지는
것이죠. 그래서, 아래의 스샷과 같이 튜닝을 하여, 패킷을 한꺼번에 많이 보내게 되면 그만큼 효율이 늘어나고,
전송속도도 개선되는 것입니다. 해외에서의 튜닝은 이래서 반드시 필요한 것이죠.

rjl1d5.jpg x3fn2a.jpg



실제 TCPIP 동작에 있어서는 패킷을 두개 받을 때까지 200msec를 기다리다가 시간이 만료되면 확인 신호를 보내거나,
패킷을 두개 수신하면 곧바로 확인 신호를 보내주게 되어 있습니다.
그러니, Nagle's Algorithm 튜닝을 국내에서도 게임이나 p2p에서 필수적인 것이죠.

뿐만 아니라, 내부 병목 현상을 개선했기 때문에, 국내에서도 튜닝은 한계 상황에서의 속도를 높여주게 됩니다.
Windows TCPIP 기본값들을 상황에 맞게 개선하였기 때문에, 이전에 볼 수 없었던 여러 향상을 보이게 됩니다.