seegongsik
네트워크

어떻게 큰 데이터를 조각으로, 패킷

큰 사진 한 장을 멀리 보내려 한다. 통째로 한 번에 보내면 좋겠지만, 길이 좁아서 그렇게는 갈 수 없어요. 그래서 사진을 작은 조각으로 쪼개서 보낸다. 이 조각 하나하나를 패킷이라고 부른다.

01

한 번에는 못 보낸다

사진이나 영상, 커다란 파일 같은 큰 데이터가 하나 있다고 하자. 이것을 통째로 한 번에 보내고 싶다.
하지만 데이터가 지나갈 길은 좁아서 큰 덩어리가 들어가지 않는다. 통째로는 출발조차 못 하는 셈이에요.

좁은 길DATA
큰 데이터 덩어리예요. 통째로 보내 봐요.

통째로 보내기를 누르면 큰 데이터 덩어리가 좁은 길로 들어가려다 입구에서 막힌다. 길이 좁아서 한 덩어리로는 갈 수 없어요.

통째로 밀어 넣으려 했더니 길 입구에서 막혔다. 덩어리가 너무 커서 좁은 길에 들어가지 못한 것이다.
실제 인터넷의 길도 마찬가지다. 한 번에 보낼 수 있는 크기가 정해져 있어서 그보다 큰 데이터는 그대로 실을 수 없어요.
그러니 방법은 하나다. 작게 쪼개는 것이다.

02

작은 조각으로 쪼갠다

큰 덩어리를 여러 개의 작은 조각으로 나눈다. 조각 하나하나는 좁은 길에 쏙 들어가는 크기다.
이 작은 조각을 패킷이라고 불러요. 긴 편지를 여러 봉투에 나눠 담는 것과 비슷하다.
이제 조각들은 길을 떠날 수 있다.

DATA
데이터 덩어리를 눌러 작은 패킷으로 쪼개봐요.

데이터 덩어리를 누를 때마다 작은 패킷이 하나씩 떨어져 나온다. 네 조각으로 다 나뉘면 모두 좁은 길에 들어갈 수 있어요.

큰 덩어리가 여러 조각이 되었다. 이제 조각마다 좁은 길에 하나씩 들어갈 수 있다.
그런데 문제가 생긴다. 조각들이 서로 똑같이 생겨서 어느 것이 몇 번째인지, 어디로 가야 하는지 알 수 없어요.
그래서 조각마다 표시가 필요하다.

03

조각마다 꼬리표를 붙인다

조각마다 꼬리표를 붙이고 거기에 두 가지를 적는다. 하나는 몇 번째 조각인지 알려 주는 번호이고, 다른 하나는 이 조각이 가야 할 주소다.
번호와 주소만 있으면 조각이 따로 떠돌아도 제자리를 찾을 수 있어요. 실제 꼬리표에는 보낸 쪽의 주소도 함께 적혀 있어서, 받은 쪽이 답을 돌려보낼 수도 있다.

패킷을 눌러 번호와 주소 꼬리표를 붙여봐요

패킷을 하나씩 누르면 번호와 받는 주소가 적힌 꼬리표가 붙는다. 네 조각 모두에 꼬리표가 붙으면 떠날 준비가 끝나요.

이제 조각마다 번호와 주소가 적혔고, 조각들은 길을 떠난다. 그런데 꼭 같은 길로 나란히 갈 필요는 없다.
한 길이 막히면 조각은 다른 길로 돌아간다. 그래서 조각들이 뒤죽박죽 순서로 도착하기도 해요.

04

도착하면 다시 합친다

조각이 다 도착했지만 순서가 엉켜 있다. 3번이 먼저 오고 1번이 나중에 왔을 수도 있다.
걱정할 필요는 없어요. 조각마다 번호가 적혀 있기 때문이다. 번호 순서대로 나란히 놓으면 흩어진 조각이 다시 원래 데이터가 된다.

1
2
3
4
번호 순서(1, 2, 3, 4)대로 패킷을 눌러 합쳐봐요

흩어져 도착한 패킷을 번호 순서(1, 2, 3, 4)대로 누르면 조각이 차례로 합쳐져 원래 데이터로 돌아와요. 순서를 틀리면 지금 눌러야 할 번호를 알려 준다.

번호 순서대로 합치자 원래 데이터가 돌아왔다. 쪼개졌던 사진이 다시 한 장이 된 것이다.
받는 쪽은 조각이 따로따로 왔다는 것을 눈치채지도 못하고, 완성된 사진을 볼 뿐이에요. 이것이 패킷이 일하는 방식이다.

05

정리

한 줄로 모으면 이렇다. 큰 데이터는 한 번에 보낼 수 없어서 작은 패킷으로 쪼갠다. 조각마다 번호와 주소를 적은 꼬리표를 붙인다.
조각은 따로 가도 되니 길이 막히면 돌아갈 수 있고, 도착하면 번호 순서대로 합친다. 쪼개고, 꼬리표를 붙이고, 합치기. 그것이 패킷이에요.

1. 큰 데이터 -> 작은 패킷으로 쪼개기
2. 조각마다 꼬리표 (번호 + 주소)
3. 조각은 따로따로 보내기 (길 막히면 우회)
4. 도착하면 번호 순으로 합치기
단추를 눌러 핵심을 차례로 되짚어봐요

버튼을 누를 때마다 핵심이 하나씩 나타난다. (쪼개기 → 꼬리표(번호+주소) → 따로 보내기 → 번호 순 합치기) 네 가지가 다 나오면 정리가 끝나요.

이제 패킷이 무엇인지 알았다. 큰 데이터도 조각으로 나누면 좁은 길로 멀리 보낼 수 있다.
그런데 꼬리표에 적는 주소는 대체 어떻게 생겼을까? 수많은 컴퓨터 가운데 딱 한 곳을 어떻게 가리킬까?
다음 레슨에서는 컴퓨터마다 붙는 그 주소를 다뤄요.

한 줄 정리큰 데이터는 한 번에 보낼 수 없어서 작은 조각인 패킷으로 쪼갠다. 조각마다 몇 번째인지와 어디로 가는지를 적은 꼬리표를 붙인다. 조각들은 따로따로 길을 떠나니 한 길이 막혀도 다른 길로 돌아갈 수 있고, 도착한 곳에서는 꼬리표의 번호 순서대로 다시 합쳐 원래 데이터로 되돌려요. 쪼개고, 꼬리표를 붙이고, 합치기. 이것이 패킷이에요.
← 네트워크
이 페이지가 도움 됐다면 후원하기