[백엔드 로드맵 - internet] 인터넷은 어떻게 동작하는가?

Sierra·2022년 6월 5일
0

Backend-Roadmap

목록 보기
2/43
post-thumbnail

Intro

웹 개발이라는 분야가 생기게 된 가장 큰 이유는 인터넷이 생김으로써라고 할 수 있다.
이번 시간에는 인터넷의 동작 원리에 대해 한번 알아보도록 하자.

인터넷의 시작

과거 인터넷이 군용으로 개발되었다는 글을 본 적이 있다. 처음에 인터넷은 1960년대에 군용 연구 프로젝트에서 시작되었다고 한다.

오랜 시간 인터넷이 발전해왔고 관련 기술들이 발전했지만, 인터넷의 기본 개념은 변하지 않았다. 결국 수 많은 컴퓨터들을 연결하고 연결 상태를 유지하는 것이라고 할 수 있다.

전산병 시절 컴퓨터와 컴퓨터 간 이더넷 케이블을 통해 (흔히 말하는 랜선) 파일을 전달했던 경험이 있다. (필자는 2017년 전산병으로 군 복무를 했던 해군 639기다. 이 글을 읽는 639기 해군이 있다면 연락 바란다. 소주 한잔 하자.) 가장 단순한 형태의 네트워크는 무대뽀로 이렇게 컴퓨터 두 개를 연결시킨 형태이다.

하지만 컴퓨터를 여러대를 연결하려면 할 수록 엄청난 수의 케이블이 필요해진다. 만약 다섯대를 각자 연결하고자 한다면? 컴퓨터 한 대당 케이블 4개, 총 20개의 케이블이 필요해진다. 벌써부터 어지럽다. 선 정리하는거 상당히 힘들단 말이다.

라우터

라우터란 정말 쉽게 표현하면 신호수라고 생각하면 편하다. 노가다 뛰어본 적 있는가? 필자는 20대 초중반 시절 어쩔 수 없이 상당히 많이 뛰어 보았다. 잘 쓰던 모니터를 깨먹어서 새로 하나 사려고 별의 별 알바를 찾다가 건설현장에 찾아갔었다. 보통 현장에 처음 나오는 잡부들에게 주어지는 일은 뻔하다. 자재 정리를 시키거나(흔히 말하는 현장 청소), 뭔가 나르게 시키거나(양중 작업이라고 한다. 그날 현장에서 양중 한다고 하면 데드리프트에 자신이 있는 게 아니라면 건투를 빈다...벽돌이든 시멘트든 겁나 나를거다 아마도.), 신호수를 맡긴다.

신호수를 하게 되면 그 땡볕에 업무하는 자동차들 신호정리를 하거나 큰 목소리로 구령을 내거나...여튼 현장의 동선이 꼬이지 않도록 하는 일을 한다. 라우터가 이런 역할을 하지 않는다면 인터넷은 존재할 수 없다.

라우터는 컴퓨터 간에 메시지들을 관리하는 역할을 한다. 예를들어 내가 A라는 컴퓨터를 사용중이고 B라는 컴퓨터에 메시지를 보내려고한다. 라우터는 내 메시지를 보고 B라는 컴퓨터에 전달 해 준다.

물론 인터넷이 겁나 큰 라우터 하나로 이루어져있지는 않다. 일단 어지러워 지는 상상은 하지 않도록 하자. 그런 일 하지 않으려고 인터넷이 발달 한 것이니까.

라우터 내엔 소프트웨어가 들어가있다. 라우터도 컴퓨터라고 할 수 있다. 즉 라우터와 라우터 간에도 연결을 할 수 있다. 이런 식으로 여러 라우터들이 연결되어있고 그 라우터들에 컴퓨터들이 연결되는 식으로 인터넷이 구축 된다.

인터넷의 구조가 이것 뿐인 것은 아니다. 이런 식으로만 네트워크가 구성된다면 생기는 단점으로는 세상에 수 많은 인터넷들이 따로 분리되어있을 것이라는 것이다. 라우터들끼리 연결이 가능한 건 맞는데 그래서 그 군집들끼리는 연결 되어 있느냐는 것이다.

모뎀, ISP

여기서 그러한 군집들과 연결하기 위해 필요한 게 모뎀이다. 우리가 KT나 SK 등의 ISP(Internet Service Provider) 회사가 제공하는 서비스에 가입해서 요금을 지불하면 인터넷에 연결되어 있는 수 많은 사람들을 만날 수 있지 않는가. 라우터들 간에 연결되어있는 네트워크를 전화선에 연결한다면, 멀리 떨어져있는 수 많은 사람들과 쉽게 연결될 수 있다. 그러므로 모뎀을 통해 네트워크의 정보를 전화국이 처리해 줄 수 있는 정보로 바꿔준다.

ISP 회사에서는 여러 사람들이 연결되어있는 라우터를 관리하고 다른 ISP의 라우터와의 통신 또한 관리한다. 만약 내 PC에서 작업했던 데이터를 누군가에게 보낸다면, 그 데이터는 라우터를 거쳐 모뎀에 전달되고, 전화선을 통해 변환 된 데이터가 ISP 에 전달되고 다른 네트워크로 전달되는 것이다. 서비스의 흐름은 대략 이렇다.

IP주소, 그리고 도메인

각자 집에 우편을 보내려면 우편번호와 주소를 알아야 하는 것 처럼 특정 컴퓨터에 데이터를 전송하기 위해서는 IP주소를 알아야 한다. IP주소는 크게 두 가지 종류가 있다. IPv4, IPv6이 있는데 가장 흔히 볼 수 있는 주소는 IPv4다. 당장 터미널에 들어가서 ipconfig 명령어 하나만 넣어보면 제일 먼저 뜨는 게 IPv4 주소다. 아마 열에 아홉은 192.168.XXX.XXX 이런 식으로 할당 되어 있을 것이다. 이런 것들을 사설 IP라고 부른다. 특정한 공유기(집안에서 라우터 역할 또한 한다.)에 연결되었을 때 그 공유기에 대표되는 IP주소가 있고 그 IP주소 아래에 할당되는 것들이 사설 IP라고 생각하면 된다. 실제로 그 수 많은 IT기기들에 IP주소를 할당하려면 너무나 많은 숫자가 필요하니까.

도메인은 우리가 흔히 생각하는 인터넷 사이트 주소라고 생각하면 된다. Naver든 Google이든 우리가 주로 사용하는 사이트들에도 IP주소가 할당 되어 있지만, 우리가 매번 그렇게 주소를 브라우저에 입력해서 들어가면 많이 어지러울 것이다. 그러므로 도메인 이름을 붙혀서 편리하게 접근할 수 있도록 할 수 있다.

Outro

사실 모뎀은 어지간해서는 집에서 볼 일이 없다. 전화선을 설치하는 사람이 아닌 이상 말이다. 하지만 흔히 무선 공유기 정도는 볼 수 있다. 이런 지나치던 기기들 내에 이러한 원리가 숨어있다는 것을 알아가는 것 또한 전공을 공부하는 소소한 재미라고 할 수 있다.

사실 학부 수업때는 진짜 재밌다고 와닫지는 않았는데 현업에서 일을 하다 보니 몰라선 안되더라. 이런 개념이 잡혀있지 않은 상태에서 웹개발을 한다는 건, 사실 개발을 한다고 할 수 없지 않을까.

Reference

https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work

profile
블로그 이전합니다 : https://swj-techblog.vercel.app/

0개의 댓글