인터넷은 어떻게 작동할까?

유제·2021년 3월 15일

Developer Roadmap

목록 보기
1/2

인터넷이란?

인터넷. 인터넷이 뭘까? 우리가 매일 사용하고 있는 인터넷인데, 인터넷이 뭐냐고 물어보면 답을 하기가 참 어렵습니다. 그 답을 찾으러 가자. (사실 여기에 답이 다 있다)

인터넷의 탄생

1960~1970년대 미 국방부에서는 중요 군사 정보를 중앙서버에 저장하려고 했습니다. 그럼 아래와 같은 궁금증이 생깁니다.

🤷‍: ⠀그 중앙서버가 공격당하면 어떻게 하려고?

이 문제를 해결하기 위한 방안으로 서버를 여러 곳에 분산하여 설치한 뒤, 이를 서로 연결하는 방안이 나왔습니다. 그럼 어느 한 서버가 공격을 당해도 나머지 서버들로 정보를 관리할 수 있습니다. 미 국방부 산하의 고등 연구국에서는 핵전쟁 하에서도 안정적인 정보 교환을 위한 네트워크 연구에 착수하였습니다. 해당 연구 결과를 바탕으로 4개의 대학교를 네트워크로 연결하여 ARPANET이 탄생하였습니다.

컴퓨터끼리는 어떻게 연결될까?

NOTE 이 글은 유선 케이블에 대해서만 이야기 하지만 무선 네트워크도 동일한 방식입니다.

내 컴퓨터가 다른 컴퓨터와 통신을 하기 위해서는 서로 연결되어 있어야합니다. 그럼 현재 지구상에 몇천만, 몇억의 컴퓨터가 있을텐데 어떻게 서로 연결될까요?

위의 그림을 보면 두 대의 컴퓨터는 1개의 선만 있으면 되니 연결하는 게 아주 간단합니다. 그럼 10대의 컴퓨터는 어떻게 연결할까요? 아래 그림처럼 엄청 복잡해집니다. 선의 개수는 n(n-1)/2 공식에 연결되는 컴퓨터 갯수를 넣으면 됩니다. 10대를 연결하려면 45개의 선이 필요합니다.

만약에 지구상에 1000만대의 컴퓨터만 있다고 가정해봅시다. 그럼 필요한 선의 갯수는 약 49,999,995,000,000개(약 5조)입니다. 그런데 지구상에 과연 1000만대의 컴퓨터만 있을까요? 최소 몇 억개 이상일텐데 그럼 필요한 선의 갯수는 단위가 를 넘어 으로 갑니다. 이러한 문제를 해결하기 위해서 네트워크의 각 컴퓨터는 라우터라는 소형 컴퓨터에 연결됩니다. 그럼 아래 그림처럼 필요한 선의 숫자가 현저하게 적어집니다.

컴퓨터 10대를 연결하는 데 필요한 선의 갯수가 45개에서 10개로 줄었습니다. 그럼 이제 라우터 한대에 수 천만, 수 억개의 컴퓨터를 연결하면 되겠네요! 아닙니다.

라우터를 그만큼 확장할 수가 없습니다. 다만, 라우터도 컴퓨터의 일종이기 때문에 다른 라우터와 연결을 할 수 있습니다. 아래 그림처럼요.

그럼 이제 라우터간의 연결을 통해 네트워크를 확장할 수 있습니다.

그럼 지구 반대편에 있는 사람과 연결되려면 어떻게 할까요? 긴 전선을 새로 설치해야할까요? 인터넷의 원조라고 보는 ARPANET은 1970년대에 나왔습니다. 그 전에 전화가 이미 나와있었고 지구 곳곳에도 이미 연결이 되어있는 상태였습니다. 그래서 사람들은 이 전화기 기반 시설을 이용하자는 생각을 하게 됩니다.

우리의 네트워크를 전화 시설과 연결하기 위해선, 모뎀이라는 특수 장비가 필요합니다. 이 모뎀은 우리 네트워크의 정보를 전화 시설에서 처리 할 수있는 정보로 바꾸며, 그 반대의 경우도 마찬가지입니다.

그래서 우리의 네트워크는 KT, SKT, LG같은 통신사에 연결됩니다.

다음 단계는 우리의 네트워크에서 도달하려는 네트워크로 메시지를 보내는 것입니다. 그렇게하기 위해 네트워크를 인터넷 서비스 제공 업체 (Internet Service Provider, ISP)에 연결합니다. ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사입니다. 따라서 우리 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달됩니다.

그래서 인터넷이란?

제가 공부하면서 떠오른 건 결국 컴퓨터끼리의 수많은 연결 == 인터넷인 것 같습니다.

Internet은 Vinton Gray Cerf와 Robert E. Kahn이, '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(International Network)하고자 하는 의도에서 이를 줄인 것입니다.

다음 포스팅

이 글의 마지막 즈음에 다음과 같은 문구가 있습니다.

다음 단계는 우리의 네트워크에서 도달하려는 네트워크로 메시지를 보내는 것입니다.

어디에 도달하는 건지 어떻게 라우터와 ISP는 아는 걸까요? 우리가 전화를 걸고자 하는 상대의 전화번호를 입력해야만 전화가 가듯이, 컴퓨터에 메시지를 보내려면 메시지를 받을 특정 컴퓨터를 지정해야합니다.따라서 네트워크에 연결된 모든 컴퓨터에는 IP 주소라는 고유한 주소가 있습니다. 컴퓨터는 IP주소를 가지고 특정 컴퓨터를 찾는데 문제가 없지만, 사람은 IP 주소를 기억하는 게 힘듭니다. 그래서 우리는 '도메인 이름' 이라고하는 사람이 읽을 수 있는 IP 주소의 이름을 지정할 수 있습니다. 이것은 다음 포스팅인 DNS와 작동원리에 대해서 다루겠습니다.

더 깊이 들어가고 싶은 분들 위해

박성범님 블로그를 참고해보세요.

0개의 댓글