편지가 거치는 중간 역들
멀리 사는 친구에게 편지를 보낸다고 해봐요. 편지는 친구 집까지 한 번에 날아가지 않아요. 우체국, 또 다른 우체국, 동네 배달소를 차례로 거쳐서 닿죠. 인터넷의 데이터도 똑같아요. 중간 역들을 하나씩 거쳐서 목적지에 닿아요.
한 번에 못 가요
내 컴퓨터와 친구 컴퓨터는
저마다 고유한 주소가 있어요.
앞에서 본 그 숫자 주소요.
그런데 둘은 선 하나로
곧장 이어져 있지 않아요.
세상의 모든 컴퓨터를
전선으로 직접 다 묶을 순 없으니까요.
그래서 데이터는 곧장 못 가고
중간에 거쳐 갈 곳이 필요해요.
출발과 도착 사이를 눌러봐요. 곧장 이어진 줄 알았는데, 사이에 중간 역들이 숨어 있어요.
직선처럼 보이던 길에
사실은 역이 여러 개 있었어요.
편지가 우체국을 거치듯,
데이터도 중간 역을 거쳐요.
이 중간 역을
라우터라고 불러요.
그럼 이 역들은
받은 걸 어떻게 처리할까요?
다음에서 한 역을 들여다봐요.
역이 넘겨줘요
한 역이 하는 일은 단순해요.
앞에서 온 데이터를 받아서
다음 역으로 넘기는 거예요.
그게 전부예요.
편지를 받은 우체국 직원이
다음 우체국으로 보내듯이요.
역은 편지를 열어보지 않아요.
그냥 받고, 다음으로 넘겨요.
이 단순한 동작이 핵심이에요.
가운데 역을 눌러봐요. 왼쪽에서 온 패킷을 받아 오른쪽 다음 역으로 넘겨요. (역 = 라우터)
역을 누르니
패킷이 다음 역으로 넘어갔죠.
받고, 넘기고.
역이 하는 일은 딱 이 두 가지예요.
그런데 역이 하나면
아직 멀리는 못 가요.
친구는 한 역 너머가 아니라
여러 역 너머에 있으니까요.
그래서 역이 여러 개 필요해요.
여러 역을 거쳐 가요
한 역이 넘기면
다음 역이 또 넘겨요.
그 역이 또 다음으로 넘기고요.
이걸 반복하면
패킷이 역에서 역으로 옮겨가요.
한 걸음씩, 목적지에 가까워지죠.
마치 징검다리를 건너듯이요.
한 칸은 짧아도
여러 칸을 밟으면 강을 건너요.
보내기를 눌러봐요. 패킷이 역에서 역으로 한 칸씩 옮겨가며 도착까지 닿아요.
패킷이 역을 차례로 밟고
마침내 도착에 닿았죠.
중간 역이 많아 보여도
걱정 없어요.
각 역은 넘기기만 하면 되니까요.
그 단순한 일이 줄줄이 이어져
먼 거리를 잇는 거예요.
그런데 역이 패킷을 넘길 때
무슨 일이 벌어지는지 더 자세히 봐요.
받아서 다시 보내요
역은 패킷을 곧장 튕겨내지 않아요.
먼저 패킷을 잠깐 받아서
손에 쥐고 있다가,
다음으로 넘겨요.
받는 동작과 보내는 동작이
따로 있는 거예요.
받아야 넘길 수 있으니까요.
편지를 손에 들어야
다음 우체통에 넣을 수 있듯이요.
받기를 누르면 역이 패킷을 잠깐 쥐어요. 그다음 보내기를 누르면 다음 역으로 넘어가요.
받기, 그다음 보내기.
두 동작이 짝을 이뤘죠.
역마다 이걸 되풀이하면
패킷이 끝까지 전해져요.
그런데 역에 패킷이 잠깐 머무는 동안
역은 한 가지를 더 정해야 해요.
다음으로 어느 역에 넘길까?
갈림길이 여럿일 때 길을 고르는 일,
그건 다음 강에서 만나요.
정리해볼까요
한 줄로 모으면 이래요.
데이터는 목적지까지 한 번에 못 가요.
중간 역, 곧 라우터를 여러 개 거쳐요.
각 역은 패킷을 받아서 다음으로 넘겨요.
받고, 보내고를 역마다 되풀이하죠.
그렇게 한 걸음씩 가까워지면
아무리 먼 곳이라도 닿아요.
그래서 멀리 있어도 단계적으로 닿는 거예요.
핵심을 차례로 눌러 되짚어봐요. (한 번에 못 가요 → 역이 넘겨줘요 → 여러 역을 거쳐 → 받아서 다시 보내요)
이제 데이터가
역에서 역으로 옮겨가며
먼 곳까지 닿는 길이 보여요.
남은 질문은 하나예요.
갈림길에서 역은
어느 다음 역을 고를까?
그 길 고르기를 라우팅이라고 불러요.
다음 강에서, 역이 길을 어떻게 정하는지
함께 따라가봐요.