본문 바로가기

인터넷 깊이 알기

인터넷은 얼마나 넓은가

바로 앞 포스팅에서 어떠한 새로운 기술을 가져와도 인터네트워킹을 통해서 인터넷에 연결할 수 있고, 그 결과로 인터넷 상의 어떤 목적지건 30개의 링크 (이들 모두는 이론적으로 각각 다른 네트워크 기술을 쓸 수 있었죠?)를 건너기 전에 도달할 것이라고 했었는데, 오늘은 그 근거를 얘기해 보고자 합니다.

 

인터넷은 얼마나 넓을까요? 좀 바보 같은 질문이죠? 전 세계를 연결하고 있으니 딱 그만큼 넓겠죠. 하지만 저 질문은 그런 뜻이 아닙니다. 우리 컴퓨터에서 친구의 컴퓨터를 가기 위해서는 앞 포스팅에서 언급한 중간 "번역" 기계, 즉 라우터를 몇 개나 거쳐야 할까요? 다시 말해 몇 개의 링크를 건너가야 할까요? (정확히는 라우터 갯수 + 1 = 링크의 갯수가 되겠죠) 상당히 많은 라우터를 거치고 나서야 친구의 컴퓨터에 도착한다면 인터넷은 넓은 것일 것이고, 그렇지 않다면 그리 넓지 않은 것이겠죠. 자 이제 질문을 다시 해 봅니다. 인터넷은 얼마나 넓을까요?

 

우리가 어느 지역이나 영토가 얼마나 넓으냐는 질문에는 보통 끝에서 끝까지 몇 Km다라는 식으로 대답하곤 합니다. 혹은 지역이나 영토는 동그란 원이 아니기 때문에 남북으로는 몇 Km, 동서로는 몇 Km 라는 식으로 얘기하기도 하죠. 그런데 인터넷에서도 끝에서 끝까지 얼마나 먼가에 대한 개념이 존재합니다. 하지만 지표면 상의 영토와는 달리 인터넷에는 "끝"이라는 것이 딱히 없습니다. 그래서 임의의 컴퓨터에서 또다른 임의의 컴퓨터까지 가는데 몇 개의 라우터를 거쳐가는지를 모두 세어보고 그 중 가장 많은 라우터를 거쳐 가는 두 컴퓨터 사이의 경로를 인터넷의 "직경"(diameter)이라고 부릅니다. 인터넷의 "모양"이 뭔지는 몰라도 원은 아닐 것이기 때문에 직경이라는 표현에 좀 어폐가 있지만, 여하튼 가장 먼 대척점에 있는 두 컴퓨터 사이의 거리를 직경이라 부르고 있습니다. 물론 이 거리는 물리적 거리가 아니라 사이에 놓인 라우터의 갯수라는 점을 다시 상기해 주세요.

 

사실 그 어떤 전문가도 인터넷의 직경이 얼마인지, 그리고 그것이 어떤 두 컴퓨터 사이에 걸쳐져 있는지는 알아내기 불가능하지는 않겠지만 상당히 어려울 거라고 생각합니다. 인터넷의 직경이라는 수학적 개념은 분명 정의할 수 있겠지만 많은 측정 실험과 운영자들의 내부 자료가 없으면 실제로 알아내기 어려울 것입니다. 다만 우리가 할 수 있는 것은, 우리 각자의 컴퓨터로부터 시작해서 세계 이곳저곳의 컴퓨터로 몇 개의 라우터를 거치면 갈 수 있는지 여러 번의 실험을 통해 대략의 감을 얻는 것입니다. 예를 들어 아래 스크린샷은 Windows에서 tracert라는 명령을 사용해서 송파구에 위치한 한 컴퓨터에서 아프리카 잠비아에 있는 잠비아 대학까지의 경로는 몇 개의 라우터를 거쳐 가는지 알아본 것입니다. tracert 명령은 "trace route" 즉 경로 추적이라는 의미의 유틸리티입니다. Linux에서는 같은 일을 하는 traceroute라는 명령이 있습니다. 

 

 

송파구에 사는 KT 가입자의 컴퓨터에서 잠비아 대학 웹 사이트인 www.unza.zm까지의 경로 (2024년 3월 15일 현재) 

 

그림에서 일단 1번부터 25번까지 나열된 것은 라우터 (1~24번) 및 호스트 컴퓨터 (25번 = 잠비아 대학 웹 서버인 www.unza.zm) 입니다. 맨 오른쪽 컬럼에는 해당 라우터/컴퓨터의 IP 주소 혹은 도메인 이름이 나타나 있습니다. 제 컴퓨터의 IP 주소는 안보입니다. 0번에 해당한다고 보면 됩니다. 1번부터 24번까지 거쳐가는 라우터들은 2번처럼 자신의 정보를 드러내지 않는 경우도 있으나 대부분 최소한 자신의 IP 주소는 드러내주고 있습니다. 더 친절한 라우터들은 자신의 도메인 이름도 드러내 줍니다. 예를 들면 8~18번, 19~24번입니다. 도메인 이름에서는 이 라우터의 지리적 위치 정보도 가끔 알아낼 수 있습니다. 8번 라우터의 도메인 이름은 be4183.ccr31.sjc04.atlas.cogentco.com인데, 여기서 "sjc"라는 문자열이 보이죠. 이것은 미국 캘리포니아주 San Jose 국제공항 코드인 SJC입니다. 이 라우터가 San Jose에 위치하고 있다는 것을 알려줍니다. 9번은 어디인가요? SFO는 San Francisco입니다. 비슷하게 20번 라우터는 Amsterdam, 21번은 Nairobi, 22번은 Dar Es Salaam, 23번은 드디어 잠비아 대학이 위치한 Lusaka입니다. 이 경로를 알아내기 위해 제가 tracert로 보낸 IP 데이터그램이 어떤 길을 거쳐갔는지 대략  짐작이 되죠? 한편, 2~4번 컬럼은 해당 라우터까지의 왕복 시간입니다. 3회 반복한 결과입니다. 예를 들어 6번 라우터까지는 각각 26, 57, 32 ms 가 걸렸습니다. 반면 7번 라우터는 어떤가요? 각각 151, 150, 153 ms가 걸렸습니다. 7번 이후로는 모두 150 ms 보다는 시간이 많이 걸렸고, 거꾸로 6번 이전에는 모두 50 ms 이하입니다. 왜일까요? 답은 6번과 7번 사이에는 태평양이 있기 때문입니다. 저의 IP 데이터그램은 6번 라우터와 7번 라우터 사이에서 해저 케이블을 통해 태평양을 건넜습니다. Google 지도를 참고하면 미국 상륙 지점이 대략 San Jose이니까 거리가 9000 Km 정도 나오고, 빛의 속도인 300000 Km/s로 나누면 왕복시간은 약 60 ms 입니다. 하지만 해저 케이블 안에서 신호의 전파 (propagation)  속도는 진공에서의 빛의 속도의 약 2/3이므로 대략 90 ms 정도가 실제 전파(propagation) 지연 시간이 되겠고 기타 IP 데이터그램의 처리 시간이 조금 더해질테니 어림잡아 100 ms 정도의 차이가 나야 한다고 볼 수 있습니다. 실제로 그 비슷한 숫자가 6번과 7번의 비교에서 얻어지고 있습니다. 마찬가지로 대서양을 건너는 16번(보스턴)과 17번(런던) 라우터 사이에서 약 60 ms의 큰 왕복시간 증가가 나타나는 것을 볼 수 있어요. 물론 20번 암스테르담과 21번 나이로비 사이에서도 150 ms 가 넘는 증가가 관찰됩니다. 대양을 건넌 것은 아닐지 몰라도 아주 긴 링크를 건너간 것이니까 당연합니다.

 

잠비아 대학까지의 경로를 지도에서 표시해 보면 다음과 같아요. 서울을 떠나 태평양을 건너 산 호세, 샌프란시스코, 유타 주의 솔트레이크시티, 덴버, 캔자스시티, 시카고, 클리블랜드, 뉴욕 주 주도인 올버니, 보스턴을 차례로 거친 뒤, 대서양을 건너 런던, 곧바로 해협을 건너 암스테르담, 그리고 거기서 바로(!) 케냐의 나이로비, 탄자니아의 다르 에스 살람을 거치고 드디어 잠비아의 루사카입니다. 그리고 그 길을 다시 거꾸로 돌아옵니다. 이렇게 다녀오는 데 총 0.6초 걸렸습니다. 갑자기 옛날옛날 서수남·하청일의 "팔도유람"이라는 노래의 가사가 떠오릅니다. "휴~ 구경 한 번 잘했네~"

서울에 사는 KT 가입자의 컴퓨터에서 잠비아 대학 웹 사이트까지의 경로와 그 구성 링크들 [지도출처: Worldomap]

 

자, 우리가 인터넷 전체에서 가장 긴 경로가 어디에 걸쳐져 있는지는 몰라도 일단 인터넷 직경이 최소 25 홉(hop)은 넘을 것이라는 건 알았죠? 여러분도 tracert를 사용해서 다양한 세계의 웹 사이트까지 IP 데이터그램이 다녀오는 데 얼마나 걸리는지 어디를 거쳐 갔다 오는지 한 번 알아보세요. 인터넷의 실체가 머리 속에 보다 선명하게 그려질 겁니다.

 

마지막으로 하나의 질문을 더 해보겠습니다. 인터넷은 넓어지고 있을까요 좁아지고 있을까요? 참고로 인터넷에 연결된 컴퓨터들의 수가 많아지는 것과는 상관이 없는 질문입니다. 어떤 나라의 인구가 는다고 해서 그 나라가 넓어지는 것은 아니니까요. 사실 어떤 나라의 국토가 넓어지고 좁아지는 일은 거의 없습니다 (전쟁이나 해저화산 분출로 섬이 생기는 이유 빼고). 하지만 다시 한 번 어떤 두 컴퓨터를 연결하는 라우터의 수로 멀고 가까움을 잰다면... 인터넷의 크기는 확실히 변하고 있습니다. 그러면 다시 한 번 질문해 봅시다. 인터넷은 넓어지고 있을까요 좁아지고 있을까요? 어떤 방향일까요? 네 좁아지고 있습니다. 왜냐 하면 예전에는 보다 여러 라우터를 거쳐 갔다 오던 목적지가 이제는 더 적은 수의 라우터를 거쳐 갔다 오게끔 바뀌고 있거든요. 예를 들어 몇 년 전만 하더라도 이태리의 피사 대학 (www.unipi.it)에 tracert를 해 보면 26 홉(hop = 링크) 거리에 있었습니다. 그런데 요즘 tracert를 해 보면 17 홉입니다. 경로가 훨씬 짧아(?)진 것이죠. 그래서 요즘 인터넷 상의 거리는 잠비아 대학처럼 20 홉이 넘어가는 경우도 간혹 있지만, 최근에는 세계 대부분의 목적지가 20홉 이내로 짧아졌습니다. 원리는 간단합니다. 인터넷에 새로운 길이 계속 추가되고 있기 때문이예요. 서울 지하철을 생각해 보면 왜 그런지 쉽게 이해할 수 있습니다. 가장 최근에 추가된 노선이 9호선이죠. 아래 지하철 노선도를 봐 주세요. 9호선이 생기기 전에는 "올림픽공원"에서 "종합운동장"을 지하철로 가려면 복잡했습니다. 5호선을 타고 "천호"에서 8호선으로 갈아타서 "잠실"까지 가서 2호선으로 갈아타면 8 정거장(hop과 비슷한 개념이죠)이었습니다. "오금" 쪽으로 가서 갈아타고 3호선과 8호선 그리고 2호선을 차례로 갈아타면 9 정거장, 5호선을 타고 "군자"까지 가서 6호선으로 갈아타고 2호선으로 갈아타는 방법으로 하면 14정거장입니다. 하지만 9호선이 생기자 6 정거장으로 확 줄었습니다. 이처럼, 서로 교차하는 노선이 늘면 늘 수록 역 사이의 평균 정거장 수는 줄어갑니다. 늘 수는 없습니다. 같은 원리로 인터넷도 연결성(connectivity)이 날로 높아지고 있어서 이태리 피사 대학의 경우처럼 점점 "가까와지고" 있는 것이죠. 저로서는 확인할 길이 없습니다만, 아마도 인터넷의 직경도 계속 줄어들고 있을걸요? ㅎㅎ

 

2024년 현재 서울 지하철 노선도: 연결성(connectivity)이 높아지면 역 사이의 정거장 수가 줄어든다

 

이제 IP라는 말에서 "I"에 해당하는 인터네트워킹 얘기를 몇 가지 해 보았으니, 다음 시간에는 "P"에 해당하는 프로토콜에 대해 알아보도록 합시다.