main-logo

인터넷 알아보기 대작전

인터넷에 대해 알아보자

profile
Kogong
2023년 07월 11일 · 0 분 소요

인터넷 알아보기 대작전 탄생 비화

영국 시트콤 IT Crowd를 보다가 인터넷 관련한 에피소드가 나온 것을 본 적이 있다.

주인공 Jen이 발표를 하는데, 주제를 정하지 못해 IT 부서에 도움을 요청했다.

IT 부서는 Jen을 놀리기 위해 ‘인터넷’의 실물을 만들어 보여주고, Jen은 그걸 믿고 그대로 발표를 해버린다.

internet1.gif

∙ 인터넷을 보여주는 장면

internet2.gif

∙ 인터넷을 발표하는 장면

결말은.. 발표 도중 인터넷이 사고로 부서지고, 관중들은 망가진 인터넷을 보고 대혼란에 빠진다.

internet3.gif

2023년. 위와 같은 대혼란이 다시 찾아오지 않기 위해, 인터넷 알아보기 대작전을 세우려고 한다.

누군가는 해야 하니까.


그래서 인터넷이 뭔데?

인터넷은 컴퓨터끼리 TCP/IP라는 통신 프로토콜을 통해 정보를 주고받는 컴퓨터 네트워크다.

그런데, 이렇게만 얘기하면 인터넷에 대한 궁금증이 풀리지 않는다. 나는 더 근본적인 것을 원했다.

인터넷이 존재하기 이전, 태초로 돌아가기 위해서는 냉전시대로 가야 한다.

 

냉전시대 때 미국 국방부는 한 곳에서 모든 정보를 관리하고 있었다. 그러다 문득, 이곳에 핵이 떨어지거나, 방사능 공격으로 인해 정보가 한순간에 사라지면 어쩌나 하는 걱정을 하게 된다.

그래서, 서버를 4개의 지역으로 나누고, 서버끼리 연결하기 위한 프로젝트를 시작하게 된다.

그 프로젝트로 탄생하게 된 것이 ‘아파넷(ARPAnet)` 이다.

Arpanet_logical_map,_march_1977.png

아파넷의 논리 지도 (봐도 뭔지 모른다)

아파넷을 개발하고 나서 사람들은 ‘프로토콜’이라는 통신 규약을 만들었다.

원래 프로토콜은 국가 간의 교류를 위해 만들어진 규율로, 외교용 언어였는데, 이것이 컴퓨터 통신에도 필요했었다.

우리가 개발하면서 알게 되는 HTTPS, HTTP 등이 프로토콜에 속한다.

심지어, 군대에서 배우는 수신호(몸으로 숫자를 표현할 때)도 프로토콜의 일종이다. 언어와 문화가 달라도 소통이 통할 수 있도록 만드는 것들이다.

아파넷이 사용한 프로토콜이 NCP (Network Control Protocol)이다. (몰라도 된다)

 

시간이 지나자 아파넷으로 다양한 시도와 연구가 진행됐다.

그러면서 4개의 지역뿐만 아니라, 수많은 컴퓨터끼리의 연결이 시작됐고, 점점 발전하여 결국에는 모든 컴퓨터를 연결하기에 이르렀다.

이런 발전에 맞춰 프로토콜도 NCP에서 TCP/IP 라는 프로토콜로 바뀌게 됐다.

(TCP/IP에 대해서도 알아보려면 한 세월이니 그냥 저런 프로토콜이 있다고만 알자)

 

스크린샷 2023-10-05 오전 10.27.08.png

인터넷과 TCP/IP 프로토콜 탄생에 큰 기여를 한 Bob Kahn, Vint Cerf.

인터넷의 아버지들 이들이 없었다면 xe group도 없었다. 앞으로 인터넷 쓸 때마다 큰절 하자

여기까지 오면 제일 첫 문장의 의미를 어느 정도 이해할 수 있다.

다시 한번 보자.

인터넷은 컴퓨터끼리 TCP/IP라는 통신 프로토콜을 통해 정보를 주고받는 컴퓨터 네트워크다.

 

즉, 서로 다른 컴퓨터끼리 원활하고 동일한 소통을 위해 ‘TCP/IP’라는 규약을 만들었고,

그 규약을 중심으로 컴퓨터끼리 정보를 주고받는 것이 인터넷이다.


그래서 어떻게 작동하는 건데?

인터넷 정의와 짧은 역사까지는 알겠다.

하지만, 여기서 또 하나 궁금한 점이 생긴다.

그것은 바로, 실제로 인터넷이 어떻게 정보를 주고받냐는 것이다.

 

아니.. 눈에 보이지도 않는 것들이 어떻게 내가 보낸 메시지를 상대방에게 전달하는 것일까

두 가지를 살펴보아야 한다.

  1. 인터넷은 어떤 정보를 보내는지
  2. 인터넷이 어떻게 정보를 보내는지

 

정보의 형태

우선, 정보를 어떤 형태로 보내는지 먼저 살펴보자.

인터넷은 정보를 바이너리 정보로 전송한다.

여기서 바이너리 정보란, 0,1로만 이루어진 이진법을 말한다.

스크린샷 2023-06-16 오전 10.16.54.png

 (이런 화면을 많이 봤을 것이다)

0,1 숫자 하나 당 1 비트(Bits)라는 단위를 쓴다. 010 이면 3 비트(Bits)다.

8비트는 1바이트, 그 이후로는 우리도 잘 알고 있는 킬로바이트, 메가바이트, 기가바이트 이렇게 단위가 바뀐다.

우리가 전송하는 모든 데이터 (사진, 동영상, 노래)는 모두 0과 1로 변환되어 보내지게 된다.

이 과정을 ‘인코딩’ 이라 부르는 것이다.

스크린샷 2023-06-19 오전 11.25.33.png

한글 인코딩(유니코드 방식) 표

사진 출처: 유니피커 봄봄오피스 블로그

위 사진처럼 텍스트도 어떤 방식으로 인코딩을 하는지에 따라 이진수로 표기되는 방식이 모두 다르다.

그래서 우리가 가끔 잘못된 인코딩을 보면 궞귪궸궭궼?긂깑 이런 식으로 깨지는 이유는, 서로 다른 방식으로 이진수를 해석했기 때문이다.

 

정보를 보내는 방법

자, 그러면 인터넷은 어떻게 바이너리 정보를 먼 곳까지 전달할 수 있을까?

먼저, 인터넷이 없이 사람끼리 0,1을 보내는 것을 생각해 보자.

스크린샷 2023-06-19 오전 11.33.47.png

사진 출처 : The Internet: Wires, Cables & Wifi

위 사진처럼, 사람끼리 전구를 두고, 켜지면 1, 꺼지면 0이라는 신호를 보낸다.

껐다 켰다를 2번 반복하면, 0101을 보낼 수 있다.

하지만, 연달아서 0000, 혹은 1111을 보내려면 어떻게 해야 할까?

연속으로 2번 꺼짐을 전구로 표현할 수는 없다. 그래서 시간을 이용한다.

1초마다 하나의 신호를 보낸다고 생각하는 것이다. 4초 동안 불이 계속 꺼져있다면, 0000을 보냈다고 이해하는 것이다.

이것을 비트 전송률(1초 동안 보낼 수 있는 비트의 수) 이라 부른다.

그 외에 대역폭(최대 전송량), 지연 속도(핑 이라고도 부른다) 등의 용어들이 있다. 게임을 좋아하거나 인터넷 속도에 관심이 많은 사람들은 한 번쯤은 들어봤을 용어들이다.

 

이런 비트들은 아주 물리적인 방법으로 컴퓨터끼리 전송하게 된다.

바로 광섬유 케이블이다.

실제로 이런 광섬유 케이블은 해저를 통해 대륙과 대륙을 이어주고 있다.

대륙뿐만 아니라 인터넷을 연결하려면 어디든 필요하다.

스크린샷 2023-06-19 오전 11.46.20.png

사진 출처 : 광섬유 케이블 지도

cablemap이라 검색하면 전세계 광섬유 케이블을 볼 수 있다.

스크린샷 2023-06-19 오전 11.48.20.png

사진 출처 : 실제 해저에 깔린 광섬유 케이블을 공격하고 있는 상어

여기까지 오면, 대략적으로 우리가 문자를 보낸 것이 어떻게 상대방에게 도착하는지 느낌이 올 것이다.

컴퓨터로 문자를 보내면, 문자는 바이너리 정보로 변환이 되고, 그 정보는 광섬유 케이블을 통해 다른 컴퓨터로 전송이 된다.

이제, 인터넷은 추상적이지 않다.


그런데, 내 핸드폰은 광섬유 케이블이 없는데?

그렇다. 우리는 Wifi를 사용하여 무선으로 정보를 주고받고 있다.

걱정하지 마라, 정보는 무선 신호를 통해서도 바이너리 정보를 전달할 수 있다.

우리가 Wifi를 사용하기 위해서는 필요한 것이 있다. 바로 공유기다.

공유기는 무선 신호를 0,1을 주파수로 전달받고, 다시 컴퓨터가 이해하는 이진수로 바꿔준다.

스크린샷 2023-06-19 오후 2.23.36.png

사진 출처 : 디지털 변조 방식

그리고, 공유기는 다시 유선을 통해 다른 컴퓨터로 정보를 전달하는 것이다.

당신의 공유기. 반드시 뒤편에는 유선 케이블이 꽂혀있을 것이다.


 

마무리

인터넷에 대해 겉만 살짝 핥아봤다.

여기서 IP, DNS, Packets, TCP 등 인터넷에 대한 내용이 더 많지만,

더 핥아보기에는 주제가 너무 다양하고, 글도 길어지기에.

기회가 된다면 인터넷 알아보기 대작전 2편에서 더 해보겠다.

다음에 계속…

출처