안녕하세요 여러분. 참새입니다.
여태까지 ‘인터넷의 원리 시리즈’를 구독해주신 분들이라면 인터넷 상에서 전달되는 모든 정보들은 비트(bit)의 형태로 전달되는 2진 정보(binary information)인 것을 아실 겁니다. (기억이 잘 안나시는 분들은 인터넷의 원리 시리즈를 처음부터 읽어주세요^^)
정보들이 어떻게 전달되는지는 알겠는데…정보들이 제대로 전달이 되고 있는지 아닌지는 어떻게 알 수 있을까요? 다시 말해서, 정보들이 제대로 전달되고 있다는 것을 어떻게 ‘신뢰’할 수 있을까요?
이번 포스팅에서는 정보들, 즉 데이터들이 인터넷 상에서 어떤 ‘신뢰할 수 있는 방법’으로 전달되는지에 대해서 알아보도록 하겠습니다!
스포티파이(Spotify)는 멜론이나 소리바다처럼 음악을 다운로드하고 재생시켜주는 회사인데요, 스포티파이를 예시로 들어보겠습니다!
제 컴퓨터로 ‘김범수 – 보고싶다’를 재생하고 싶어서 스포티파이 웹사이트에 들어가서 노래를 틀 때, 제 컴퓨터와 스포티파이 서버가 직접적으로 연결이 되어있기 때문에 스포티파이 서버에서 직.접.적.으.로. ‘김범수 -보고싶다’ 노래를 제 컴퓨터로 전송해주는 것처럼 보입니다.
제 컴퓨터와 스포티파이 서버 사이에 직접적인 연결 통로가 있어서 그 통로를 통해서 데이터를 주고 받고 하는 것처럼 생각이 될 때가 많죠.
하지만, 아닙니다!!!
그럼 인터넷 상에서 데이터는 어떤 형태로 전달이 될까요?
데이터는, 즉 비트의 형태인 2진 정보들은, 수~ 많은 인터넷 상에 있는 통로들을 미로찾기처럼 꾸불꾸불거리면서 우회하면서 전달이 됩니다. 데이터가 전달될 때 특별히 설치된 직접적인 통로가 있는 것이 아니라 여러개의 우회하는 통로들을 통해서 데이터들이 왼쪽, 오른쪽, 아래쪽, 계속 꾸불꾸불거리면서 목표 지점까지 도달합니다.
한 컴퓨터에서 다른 컴퓨터로 정보가 전송될 때는 정보가 ‘패킷(packet)’의 형태로 전달이 됩니다. 패킷은 패키지(package)와 버킷(bucket)의 합성어인데요, 우체국에서 보내는 소포와 비슷한 개념이라고 생각하시면 되겠습니다!
우체국에서 소포를 보낼 때, 소포 박스안에 물건들을 넣은 후에 우체국 배달 서비스를 이용해서 보내는 곳으로 소포를 보냅니다. 패킷도 똑같습니다. 패킷은 인터넷 네트워크에서 정보들을 전달하기 쉬운 형태로 자른 ‘정보 덩어리’입니다. 패킷안에 담을 수 있는 정보의 양이 정해져있고, 패킷안에 어느 정도의 정보들을 채운 후에 보내는 주소 (보내는 IP 주소)와 전송 지점의 주소 (도착 IP주소)와 함께 전달이 됩니다^^
우체국 배달 트럭이 소포를 배달할 때 길이 막혀있는 길이 있으면 안막힌 길로 빙빙 돌아서 목표지점까지 운전하겠죠. (빨간 라인 = 막혀있는 길, 흰 라인 = 안막혀있는 길) 패킷이 배달될 때도 다양한 루트들 중에서 안막혀있는 루트를 선택하여서 우회하면서 목표지점까지 전송됩니다.
문제는…엄청 큰 정보, 즉 엄청 큰 소포를 배달하고 싶을 때는, 보낼 수 있는 소포의 크기가 한정되어 있기 때문에 여러 소포들로 ‘분할해서’ 보내야 합니다.
위 이미지에 있는 트럭들이 소포의 박스, 우주선을 보내려는 소포의 내용물이라고 생각해보겠습니다. 우주선은 너무 사이즈가 크기때문에 우선 소포의 박스안에 들어갈 정도로 분할해서 각 트럭들이 옮길 수 있는 사이즈로 쪼개서 담고,
4개의 소포들을 따로 따로 보낸 후에 (목표 지점에 도달하는 시간도 소포마다 다르겠죠?)
도착 지점에서 4개의 소포를 다시 재조립해서 우주선을 만들면 우주선을 전송하는 것과 똑같아지겠죠? ㅎㅎ 정보를 전송할 때도 이처럼 여러 패킷으로 분할한 후에, 도착 지점에서 패킷들을 ‘재조립’해서 원래 보내려고 했던 통합 정보를 전달합니다.
예를 하나 더 들어보겠습니다. 제가 사진 한 장을 제 친구의 컴퓨터로 전송을 하려고 합니다. 우선 사진도 정보이기 때문에 제가 가지고 있는 정보를 친구의 컴퓨터로 전송하면 사진이 전송되겠죠! 하지만 사진 한 장을 ‘통째로’ 보내기에는 사진의 용량이 너무 큽니다.
그렇기 때문에, 사진 한 장의 정보 (데이터)를 여러 개의 패킷으로 분할한 후에, 각 패킷들을 전송하고 모든 패킷들이 제 친구의 컴퓨터에 도착했을 때 다시 재조립을 하여서 제가 보내려던 사진 이미지를 재구성합니다. (이해되셨나요?^^)
패킷은 소포와 동일한 역할을 합니다. 어느 정도의 정보가 담겨있고, 보내는 사람 (보내는 IP 주소)와 받는 사람 (받는 IP 주소)가 적혀 있죠. 그렇다면, 교통 관리인의 역할은 누가 맡아서 하는 걸까요?ㅎㅎ (교통 관리인이 있어야지 여러 길들이 있을 때 안막힌 길들을 유도해서 쾌적하게 소포를 배달할 수 있겠죠?)
인터넷 상에 있는 특별한 컴퓨터들, 즉 교통 관리인의 역할을 해주는 컴퓨터들을 ‘라우터(router)’라고 부릅니다. 라우터들은 인터넷 상에서 막힌 길과 안막힌 길을 전체적으로 통제해주면서 패킷들이 안막힌 길로 갈 수 있도록 유도해줍니다.
오늘의 포스팅의 한 줄 요약:
(1). 인터넷 상에서 정보들은 ‘패킷’으로 분할되어서 전송됩니다.
(2). 인터넷 상에서 정보들이 전송될 때 교통 관리인의 역할을 맡은 컴퓨터들을 ‘라우터’라고 합니다.
다음 포스팅에서 뵈요~
어흥~
인터넷의 원리 PART.1: 인터넷이란 무엇인가?
@kim066/part-1
인터넷의 원리 PART 2: 와이어, 케이블, 그리고 와이파이 (Wifi) - 1
@kim066/part-2-wifi-1
인터넷의 원리 PART 3: 와이어, 케이블, 그리고 와이파이 (Wifi) - 2
@kim066/part-3-wifi-3
인터넷의 원리 PART 4: IP 주소 & DNS – (1)
@kim066/part-4-ip-and-dns-1
인터넷의 원리 PART 5: IP 주소 & DNS – (2)
@kim066/part-5-ip-and-dns-2
인터넷의 원리 PART 6: IP 주소 & DNS – (3)
@kim066/part-6-ip-and-dns-3