인터넷은 어떻게 동작하는가?

유영·2023년 5월 2일
0

HTTP

목록 보기
15/22

인터넷은 인간이 발명해 놓고도 이해하지 못하는 최초의 발명품이며, 역사상 최대 규모의 무정부주의에 대한 실험이다.
-에릭 슈밋

인터넷은 웹의 핵심적인 기술이다.
인터넷의 가장 기본적인 것은, 컴퓨터들이 서로 통신 가능한 거대한 네트워크라는 것이다.

인터넷은 1960년대 미 육군 연구 프로젝트가 시작으로, 지금까지 계속해서 발달해 왔다. 하지만 이러한 발달에도 본래 인터넷의 작동 방식 자체는 크게 변한 게 없다. 결국 인터넷이라는 것은 모든 컴퓨터를 연결하며 어떻게 그 연결 상태를 유지시킬지에 대한 방법이다.


단순한 네트워크

두 개의 컴퓨터가 통신이 필요하다고 해보자. 그렇다면 이 두 개의 컴퓨터는 서로 연결되기 위한 물리적인 매체가 필요하다. 이는 유선(LAN 케이블) 또는 무선(와이파이, 블루투스)으로 연결이 가능하다. 이렇게 현대 컴퓨터들은 연결 매체가 있어야 연결을 지속할 수 있다.

이러한 네트워크는 두 대의 컴퓨터로 제한되지 않는다. 원하는 컴퓨터 대수만큼 연결할 수 있다.

하지만 이렇게 연결되는 컴퓨터가 많아질수록 매우 복잡한 구조가 된다. 위 그림은 10대의 컴퓨터를 연결하는 그림을 나타낸 것이다. 컴퓨터 한 대당 9개의 선이 필요하므로, 총 45개의 선이 필요하다!

이러한 번거로움을 해결하기 위해서 각 컴퓨터는 라우터라 불리는 특수한 소형 컴퓨터에 연결된다. 이 라우터가 하는 일은 오직 한가지이다. 특정 컴퓨터에서 보낸 메시지를 올바른 대상 컴퓨터에 도착하는지 확인하는 작업을 한다.

만약 컴퓨터 A가 컴퓨터 B에게 메시지를 보낸다고 해보자. 그러면 컴퓨터 A는 메시지를 라우터로 보내야 하며, 라우터는 메시지를 컴퓨터 B로 전달하고 다른 컴퓨터로 배달되지 않도록 해야 한다.
이렇게 라우터를 이용하면 10대의 컴퓨터 네트워크는 10개의 케이블만 필요하다.

네트워크 속의 네트워크

지금까지는 그런대로 잘 되었다. 그저 10대의 컴퓨터를 라우터에만 연결해주면 되는 문제였다. 하지만 수백, 수천수십억 대의 컴퓨터를 연결하는 것은 어떨까?

이렇게 많은 컴퓨터를 하나의 라우터에 연결하는 것이 불가능할뿐더러 만약 가능한다고 해도 성능이 엄청나게 뛰어만 하드웨어가 들어가야 할 것이며 네트워크 처리 속도도 대단히 느려질 것이다.

우선 라우터가 소형 컴퓨터라는 사실에 먼저 주목하자. 이 뜻은 결국 라우터끼리도 서로 연결이 가능하다는 것이 된다.

컴퓨터를 라우터에 연결하고, 라우터에서 라우터로 무한히 확장할 수 있다.

이제 뭔가 완벽한 네트워크가 구현된 것 같다. 하지만 우리는 뭔가를 놓치고 있다. 우리가 구축한 이 네트워크는 그저 친구나 이웃처럼 서로 가까운 곳에 있는 컴퓨터끼리 연결된 네트워크에 불과하다. 만약 다른 지역 사이에, 혹은 국가처럼 아주 먼 곳에는 케이블을 연결하는 것은 현실적으로 불가능하다. 이 문제는 어떻게 처리할 수 있을까?

우리는 이미 전 세계가 케이블로 연결된 매체를 사용하고 있다. 바로 전화이다. 우리는 전화를 사용해 세계 각국 어떤 이들과도 대화를 주고받을 수 있다. 이렇게 전화기 기반 시설은 세계 어느 곳과도 연결되어 있기 때문에 우리가 필요로 하는 완벽한 배선이라고 할 수 있다.

네트워크를 전화 시설과 연결하기 위해서는, 모뎀이라는 특수 장비가 필요하다. 모뎀은 네트워크 정보를 전화 시설에서 처리할 수 있는 정보로 바꿔준다.

이렇게 네트워크가 전화 시설에 연결되었다. 이다음 단계는 우리의 네트워크에서 도달하려는 네트워크로 메시지를 보내는 것이다. 이를 위해 네트워크를 인터넷 서비스 제공 업체(Internet Service Provider, ISP)에 연결한다. (대표적은 SKT, KT 등이 있다)

ISP는 모두가 함께 연결된 몇몇의 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사이다. 따라서 우리 네트워크 메시지는 ISP 네트워크를 통해 대상으로 전달된다. 인터넷은 이러한 전체 네트워크 인프라로 구성되어 있다.


컴퓨터 찾기

컴퓨터에 메시지를 보내기 위해서는 어떤 컴퓨터로 보낼지를 특정해야 한다. 이를 위해 네트워크에 연결된 모든 컴퓨터에는 IP(Internet Protocol) 주소라는 고유한 주소가 있다. 주소의 구분은 IPv4 기준으로 점으로 구분된 네 개의 숫자로 구성되어 있다. (ex. 192.168.2.10)

IP 주소를 사용한다면 다른 컴퓨터로 찾아가는 데에 문제가 없다. 하지만 우리는 이 주소를 기억하기가 쉽지 않다. 그래서 '도메인 이름' 이라고 하는 사람이 읽을 수 있는 IP 주소의 이름을 지정할 수 있다. 예를 들면 'google.com' 은 IP 주소로 '173.194.121.32' 이다. 도메인 이름을 활용하면 이용자는 매우 쉽게 IP 주소를 사용할 수 있게 된다.

인터넷과 웹

우리는 인터넷을 사용하여 웹을 탐색할 때 일반적으로 도메인 이름을 사용해 웹 사이트에 접속한다. 하지만 과연 그것이 인터넷과 웹이 같은 것을 의미하는 것일까? 그렇게 간단하지 않다. 인터넷은 수십억 대의 컴퓨터를 모두 연결하는 기술 인프라이다. 이러한 컴퓨터들 중에서 일부가 '웹 서버'로서 웹 브라우저가 이해할 수 있는 서비스를 제공한다.

인터넷은 인프라며, 웹은 그저 그 인프라 기반 위에 구축된 서비스 중 하나이다.
웹 이외의 다른 서비들로는 이메일, IRC(Internet Relay Chat) 등이 존재한다.

참고
https://lipcoder.tistory.com/484
https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work

0개의 댓글