Internet - 인터넷은 무엇이고 어떻게 동작할까?
갑자기, 인터넷은 왜?
사실, node.js & express를 배워야 될 일이 생겼는데 MDN 의 튜토리얼을 따라 공부할려 했으나 선행 조건이 있었습니다.
(node.js 바로 공부하기 멈춰!)
- 웹 서버란 무엇인가?
- 웹사이트를 만들기 위해서는 어떤 소프트웨어가 필요한가?
- 어떻게 웹 서버가 파일을 업로드하는가?
당연히도 , 셋 다 제대로 남에게 설명할 수준이 아니기에 입구컷을 당했습니다.
심지어, 웹 서버부터 공부해보자! 하고 들어가니 다단계처럼 계속 선행으로 해야될 것이 생겨나는 현상이 발생했구요…
그리하야, 첫번째로 정리할 것이 인터넷은 어떻게 동작하는가? 입니다!
인터넷은 뭐고, 어떻게 생겨났나요?
인터넷은 인터넷 프로토콜 스위트(TCP/IP)를 기반으로 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망입니다. => 이 글을 보시면 TCP/IP가 무엇인지 초장에 간략히 나옵니다!
또한, 최초의 시작이 언제인지 명확하게 알려졌지 않았습니다. MDN에서는 1960년 대 미육군에서 연구 프로젝트로 시작이 되었다고 하는데요.
이런 지루한 얘기는 넘겨두고 왜 인터넷이 만들어 졌나 한번 같이 생각해볼까요?
과거의 컴퓨터는 말 그대로 혼자였습니다. 계산기로써 계산 결과를 종이로 찍어서 출력하고, 암호를 분석하고 이런 기능적인 면이 좀 강했죠.
세월이 흐르면서, 컴퓨터는 발전했습니다. 그에 따라서, 다른 컴퓨터에서 얻은 자료를 내 컴퓨터로 가져와야 되는 일도 있었을 겁니다.

그런 상황을 해결하기 위해 내 컴퓨터와 다른 컴퓨터를 케이블같은 것으로 연결했죠. => 지금은 wifi, bluetooth 같은 무선으로도 인터넷의 연결이 가능하나, 지금은 유선을 기준으로 두겠습니다.
하지만, 단순히 1:1은 부족했죠. 한 부서가 같은 네트워크를 사용해야 될 때도 있었고, 한 회사가 네트워크를 이뤄야 될 필요도 있었습니다.

다만, 선이 계속 늘어나다 보니 어디로 가는 선인지 구별 못하는 혼돈의 카오스가 발생했습니다.
당장 위의 컴퓨터 10대만 해도 필요한 케이블이 45개입니다. 그 당시, 이걸 직접 쓰셨던 분들은 어질어질했겠죠?
이런 문제를 해결하기 위해 라우터가 나왔습니다.

라우터는 일종의 특수한 소형컴퓨터입니다. 라우터에는 한 가지 작업만이 존재하는데요.
A에서 보낸 메시지가 B로 제대로 향했는지 확인하는 기능이였습니다. 다른 컴퓨터로 메시지가 새지 않게도 해주었죠.
이렇게, 라우터를 추가하니 필요 케이블이 많이 줄었고, 라우터를 이용해 하나의 네트워크를 구축할 수 있었습니다.
다만, 네트워크는 한 개가 아니죠? 컴퓨터가 점차 보급되면서 정말 무수히 많은 네트워크들이 생겨났습니다. 당연히도 네트워크 속에 네트워크가 생겼습니다.

네트워크 속 네트워크의 모습은 대략 이런 느낌입니다.
여기서도 문제가 또 발생합니다. 이런 형태의 네트워크는 분명 저희가 알고있는 인터넷과 비슷합니다.
그러나, 이런 네트워크가 인터넷이라면 한국에 있는 저와 미국에 있는 MoMo님이라는 분과 서로 메일을 주고 받을려면 어떤 네트워크가 구축되야 될까요?

대한민국 라우터에서부터 중앙 라우터까지 케이블을 쭉~~ 이은 다음에, 중앙 라우터에서 미국 라우터까지 케이블을 연결해야 되겠죠.
대한민국에서 미국까지의 거리는 검색해보니 10,736 km입니다. 중앙 라우터가 바다 한 가운데에 있다 해도 필요한 케이블의 최소 길이는 5,368km겠죠.
현재, 인간의 기술력으로는 통신 오류가 나지 않는 5천 킬로 짜리 통신 케이블을 만드는 것은 불가능합니다.
만든다고 해도 매우매우매우 비효율적이죠.
이런 문제를 해결하기 위해, 어느 누군가가 이런 생각을 합니다.
“전 세계 어느 곳과도 연결이 되어있는 전화기 기반 시설을 쓰면 어떨까?”
그걸 실행에 옮기기 위해서는 우리의 네트워크를 전화 시설과 먼저 연결을 시켜야 했습니다. 그리고, 그 때 필요한 장치가 모뎀이죠.
이 모뎀은 우리의 네트워크의 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸며, 그 반대의 경우도 마찬가지 입니다.

그리하여, 우리의 네트워크는 전화시설에 연결될 수 있었고 대략 이런 모습이 됬습니다.
이제 다음 관문으로 가죠. 저희 네트워크에서 목적 네트워크까지 네트워크로 메시지를 보내줘야 됩니다.
그렇게 하기 위해서는, 네트워크를 인터넷 서비스 제공 업체(ISP)에 연결합니다.
- ISP란? : 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 엑세스 할 수 있는 회사입니다.

ISP 덕분에 저는 MoMo님에게 메시지를 보낼 수 있게 됬고, 이 과정에서 드디어 전체 네트워크 인프라가 구축이 된 모습입니다.
MoMo님 뿐 아니라, 제가 구글 페이지에 들어가는 것도 하나의 네트워크 통신이겠죠.
이는 주소창에 구글의 IP 주소를 치는 것으로 시작되나 매우 기억하기도 어렵기에 구글의 URL을 넣는 걸로 시작됩니다.

이 URL을 네임서버라는 곳으로 보내고 IP를 가져옴으로써 통신을 할텐데 이건 웹의 동작방식입니다. 이에 도움되는 글은 아래에 있습니다. => 주소창에 구글을 치면 어떻게 될까?
여기까지가 인터넷이 어떻게 생겨났고, 어떤 방식으로 동작되는지였습니다.
다음 글에서는 웹 사이트, 웹 페이지, 웹 서버 그리고 검색엔진의 차이와 웹 서버에 대해 자세히 알아보겠습니다.