어떻게 편지가 거치는 중간 역들
멀리 사는 친구에게 편지를 보낸다고 하자. 편지는 친구 집까지 한 번에 날아가지 않는다. 우리 동네 우체국과 큰 우편 집중국, 친구 동네 우체국을 차례로 거쳐서 도착한다. 인터넷의 데이터도 똑같이 중간 역들을 하나씩 거쳐 목적지에 닿아요.
한 번에는 못 간다
내 컴퓨터와 친구 컴퓨터에는 저마다 고유한 주소가 있다. 앞에서 본 숫자 주소다.
그런데 두 컴퓨터는 선 하나로 곧장 이어져 있지 않아요. 세상의 모든 컴퓨터를 전선으로 하나하나 직접 묶을 수는 없기 때문이다.
그래서 데이터는 곧장 가지 못하고 중간에 거쳐 갈 곳이 필요하다.
출발과 도착 사이를 누르면, 곧장 이어진 한 줄처럼 보이던 길에 숨어 있던 중간 역 세 곳이 드러나요.
직선처럼 보이던 길에 사실은 역이 여러 개 있었다. 편지가 우체국을 거치듯 데이터도 중간 역을 거친다.
이 중간 역을 라우터라고 불러요. 그렇다면 이 역들은 받은 데이터를 어떻게 처리할까?
역은 받아서 넘겨준다
역 하나가 하는 일은 단순하다. 앞에서 온 데이터를 받아서 다음 역으로 넘기는 것이다.
편지를 받은 우체국 직원이 봉투에 적힌 주소만 보고 다음 우체국으로 보내는 것과 같다. 역은 봉투 속 편지를 열어 보지 않고, 받은 것을 다음으로 넘길 뿐이에요.
이 단순한 동작이 핵심이다.
가운데 역을 한 번 누르면 왼쪽에서 온 패킷을 받고, 한 번 더 누르면 오른쪽 다음 역으로 넘긴다. (역 = 라우터) 역이 하는 일은 이 두 가지뿐이에요.
역을 누르자 패킷이 다음 역으로 넘어갔다. 받고, 넘기고. 역이 하는 일은 딱 이 두 가지다.
그런데 역이 하나뿐이면 멀리 가지 못한다. 친구는 한 역 너머가 아니라 여러 역 너머에 있기 때문이에요.
그래서 역이 여러 개 필요하다.
여러 역을 거쳐 간다
한 역이 넘기면 다음 역이 받아서 또 넘기고, 그 역이 다시 다음으로 넘긴다. 이렇게 되풀이하면 패킷이 역에서 역으로 옮겨 가며 한 걸음씩 목적지에 가까워진다.
징검다리를 건너는 것과 비슷해요. 돌 하나 사이는 짧아도 여러 개를 밟으면 강을 건넌다.
보내기를 누를 때마다 패킷이 다음 역으로 한 칸씩 옮겨 간다. 중간 역 네 곳을 차례로 지나면 친구에게 도착해요.
패킷이 역을 차례로 밟고 마침내 도착했다. 중간 역이 많아 보여도 걱정할 것은 없다. 각 역은 넘기기만 하면 되기 때문이다.
그 단순한 일이 줄줄이 이어져 먼 거리를 잇는 것이에요. 이제 역이 패킷을 넘길 때 무슨 일이 일어나는지 더 자세히 들여다보자.
받아 두었다가 다시 보낸다
역은 들어온 패킷을 곧바로 튕겨 내지 않는다. 먼저 패킷을 받아 잠깐 쥐고 있다가 다음으로 넘긴다.
받는 동작과 보내는 동작이 따로 있는 셈이에요. 편지를 손에 쥐어야 다음 우체통에 넣을 수 있듯, 받아야 넘길 수 있다.
역이 잠깐 쥐고 있는 동안 패킷이 몰리면 줄을 서서 기다리기도 하는데, 인터넷이 가끔 느려지는 까닭 가운데 하나가 여기에 있다.
받기를 누르면 역이 패킷을 잠깐 쥐고, 보내기를 누르면 그 패킷을 다음 역으로 넘겨요.
받기 다음에 보내기. 두 동작이 짝을 이룬다. 역마다 이것을 되풀이하면 패킷이 끝까지 전해진다.
그런데 패킷이 역에 잠깐 머무는 동안 역은 한 가지를 더 정해야 해요. 다음에는 어느 역으로 넘길까? 갈림길이 여럿일 때 길을 고르는 이 일은 조금 뒤의 레슨에서 만난다.
정리
한 줄로 모으면 이렇다. 데이터는 목적지까지 한 번에 가지 못하고, 중간 역인 라우터를 여러 개 거친다.
각 역은 패킷을 받아서 다음으로 넘기고, 받고 보내기를 역마다 되풀이한다. 그렇게 한 걸음씩 가까워지면 아무리 먼 곳이라도 닿아요.
버튼을 누를 때마다 핵심이 하나씩 나타난다. (한 번에 못 가요 → 역이 넘겨줘요 → 여러 역을 거쳐 → 받아서 다시 보내요) 네 가지가 다 나오면 정리가 끝나요.
이제 데이터가 역에서 역으로 옮겨 가며 먼 곳까지 닿는 길이 보인다. 역이 갈림길에서 다음 역을 고르는 일은 라우팅이라고 하는데, 그 이야기는 조금 뒤에 이어진다.
그 전에 볼 것이 있어요. 편지 한 통을 부치는 데도 글을 쓰는 사람, 봉투에 주소를 적는 사람, 실어 나르는 사람이 따로 있다. 다음 레슨에서는 네트워크가 이렇게 일을 층층이 나눠 맡는 방식을 다룬다.