Computer Science/Base

비 전공자가 대충 설명해주는 [인터넷]

changbung 2024. 8. 28. 00:34

인터넷. (Internet 이라는 뜻)

 

일상 속에서도 인터넷이란 단어는 자주 사람들 입에서 오르락 내리락 거리곤 한다.

그만큼, 우리가 사는 이 시대에서 굉장히 높은 비중을 차지하는 것인데 정작 정확한 설명을 하기는 어렵다.

 

인터넷을 알기위해서는 먼저 "네트워크"라는 개념을 알아야 한다.

(네트워크도 뭔지는 알겠는데 막상 설명하라고 하면 좀 말문이 막히는 단어이다)

 

컴퓨터 공학적으로 용어를 찾아보자면

네트워크는 둘 이상의 컴퓨터와 이들을 연결하는 링크의 조합 입니다. 물리적 네트워크는 네트워크를 구성하는 하드웨어(어댑터, 케이블 및 전화선과 같은 장비)입니다. 소프트웨어 및 개념 모델이 논리적 네트워크를 형성합니다. 다른 유형의 네트워크 및 에뮬레이터는 서로 다른 기능을 제공합니다.

 

-IBM 부분 발췌-

 

이 작은 문단에도 설명하기 힘든 단어가 몇개 보이는데, "링크", "어댑터", "에뮬레이터"

난 비전공자기 때문에 개념적인 부분만 설명하겠다. 

 

* 링크: 인터넷에서 말하는 링크(link)란 'hyperlink'를 줄여 쓰는 말로서 웹사이트들 또는 문서들 사이를 서로 이어 주는 일

 

쉽게 말해서 네트워크란 "연결" 에대한 개념이라고 볼 수 있다.

어렸을때 아마 대부분 한번쯤은 접해봤던 마인드맵같은 거미줄같이 복잡한 이미지가 떠올를 수도 있는데

 

이게 사전적 정의의 네트워크의 모습이다.

해당 그림에 보이는 컴퓨터1, 컴퓨터2, 링크 이 세가지를 합쳐서 네트워크라고 부른다.

 

 

이딴게.. 네트워크?

 

맞)다.

 

물론 실제로 저 링크 연결의 원리라던가..에 대한 그런 수준높은 지식이 숨어있지만 간단히 말하면 저게 네트워크다.

 

근데 그래서? 저게 네트워크면?

자 우린 벌써 네트워크가 무엇인지 배워버렸다.

 

인터넷도 뭐 없다.

 

한줄 요약 하자면 네트워크 들의 네트워크가 인터넷이다. (마치 공룡계의 티라노, 주술계의 고죠사토루다. ㄷㄷ;;) 

 

믿거나 말거나 인터넷의 어원은 여러 통신망( = 네트워크)들을 연결한다는 의미인 ( inter - network ) 에서 현재의 Internet이 되었다고 한다.

 

현재에 와서는 인터넷은 보통 모든 네트워크를 뜻한다고 보면 편하다.

 

물론 이건 정말 한줄 요약한 인터넷이고, 실제로는 몇몇개의 개념을 조금 같이 가져가면 좋을거라고 생각한다.

아래에는 적당히 감만 잡을 수 있을 정도의 개념들을 적어놓았다.

Packet (패킷) 

Pack + Bucket

 

패킷은 단위다. 마치 m (미터) kg(돼지유무측정계) 와같이...

패킷은 작은 데이터의 단위로서 컴퓨터 네트워크가 전달하는데에 쓰이는 박스 정도라고 보면 편하다.

한박스, 두박스하듯이 한 패킷, 두 패킷... 

 

이 패킷에 우리가 보내는 모든 정보가 담겨있다. 

텍스트, 이미지, 음성, 영상 등등.

 

왜 굳이 이런걸 만들었을까?

 

누구나 자기 키를 넘는 거대박스를 끙끙거리며 가지고 가기 보다는, 작은 박스 여러번 옮기는것을 선호할 것이다. 또한, 거대박스 1개를 옮기는건  작은 박스 여러개를 옮기는것보다 시간 소요가 더 많이 들고, 길이 좁다면 해당 박스를 옮기기 전까지 뒷사람은 쇼츠나 보고 있어야 할것이다. 

 

따라서 패킷을 만듬으로서 흐름을 원할하게 하여 다른 사람들의 데이터도 동시에 전송되는 효과를 내어주며 이는 결국 시간을 단축시켜준다는 말이다. 

 

각 패킷에는 목적지에 대한 정보가 저장되어있다. (이하 이해를 위해 택배박스라고 부르겠다)

실제로는 이거보다 훨씬 복잡하지만 이해를 돕기 위해 이정도만 그리겠다 .

 

근데 주소만 안다고 올 순 없고... 누가 길을 알려줘야 할텐데?

Router (라우터)

그렇다. 어딘가로 향하려면 길을 알고 가야하는데,  이를 알려주는게 바로 Router 다.

 

어라? 컴퓨터끼리는 연결되어있으니까 그냥 일직선으로 쭉가면 되는거 아닌가요?

 

아니)다.

 

위에는 이해를 돕기위해 간단한 네트워크를 그려놨지만,

컴퓨터가 2대가 아니라 8대가 서로 연결되려면 어떻게 해야할까?

 

그림을 대충그렸지만, 잘그린다고해서 안복잡하진 않을거다.

 

컴퓨터 8대만 모여도 소설속에서나 봤던 악마 문양 비스무리한게 생겨버린다.

 

심지어 8대 뿐이라면 재밌는 리그오브레전드도 5:5로 즐길수 없다.

 

따라서, 많은 컴퓨터들을 효율적으로 연결 시켜놓고 관리할 수 있게끔 나온게 바로 라우터다.

 

정말 깔끔한 구조다!

 

이런 라우터로 인해서, 더이상 겹친세계의 육망성같은 네트워크를 볼 필요없이 효율적으로 관리가 가능해졌다.

 

라우터가 하는 역할은 다음과 같다. 

    1. 컴퓨터 1에서 컴퓨터 2로 정보를 보내려고 할때 라우터로 보내고 싶은 정보를 담은 패킷을 보낸다.
    2. 라우터는 패킷에 담겨진 목적지를 보고 해당 목적지로 전송한다.
    3. 컴퓨터2는 라우터에게서 패킷을 받고 해당 정보를 얻는다.

마치 그리스 로마신화의 큐피드가 따로없다.

IP Address (혹은 IP)

한줄 요약으로 유니크한 인터넷상의 거주지역(주소) 이다.

 

방금 설명했던 라우터가 패킷을 보내게 될 때, 패킷에는 이 IP 주소가 적혀있기 때문에,

 

해당 주소를 보고 패킷을 보내게 되는것이다.

 

IPv4의 형식은 다음과 같은데

 

ex) 199.0.23.4 

 

이렇게 숫자가 들어갈 자리가 4개가 있으며, 각각 .(마침표) 로 구분되어 있다.

 

숫자는 0부터 255까지 총 43억개정도의 경우의 수가 나오지만, 인터넷 사용자가 늘어남에 따라, 그리고 한 가구당 컴퓨터 한대에서 노트북 등 수요가 늘어남에 따라 IPv4로 표현할수 있는 주소의 한계점 때문에 그리고 초창기 대기업들에게 수십억개의 IP주소가 대부분 할당된 점... 등등 으로 IPv6가 등장했다. (1995년 아마도?)

 

이 세가지 개념을 그림으로 표현해 보자

 

물론 하나의 라우터에 전세계 컴퓨터를 전부연결할 수 있을리가 없다.

(그럴려면 미국에서 외계인을 또 고문해야하기때문..)

 

따라서, 위 그림에서 한단계 더 나아가면 라우터와 라우터끼리 연결한다.

이런식으로 라우터와 라우터를 연결하면 동시에 8대보다 더 많은 컴퓨터가 통신한다.(물론 라우터하나에 8대만 연결할수 있는건아니다.)

 

이렇게 라우터와 라우터끼리 연결을 해놓으면, 컴퓨터1부터 컴퓨터 8까지 통신할 수 있었지만,

 

이제는 컴퓨터 12까지 통신할 수 있게 된다.

Domain Name & DNS (도매인)

근데 IP가 고유의 인터넷 주소라면, 우리는 어떻게 유튜브로 들어갈수 있는걸까?

우리는 유튜브의 IP 주소를 모르는데? 우리는 유튜브의 IP 주소도 모른채 유튜브와 통신할수 있는걸까?

보통 우리가 어딘가에 접속할때, 

"google.com" , "youtube.com" 등등 무슨무슨 닷컴~ 이라는 형식을 한번쯤은 들어봤을 거다.

 

Domain Name(도메인 이름) 이란, 사람이 알아들을 수 있는 언어 형식(영어지만) 으로 IP주소를 변환 한것을 말한다.

 

만약 구글의 실제 IP 주소가 142.250.207.14 라고 한다면, 이주소를 google.com 이란 도메인 이름으로 변환하는 것이다.

( 142.250.207.14  <  이런걸 외우고 다닐순 없으니까...)

 

그리고 이러한 작업을 수행해주는 것이 바로 DNS (Domain Name Service) 이다.

우리가 브라우저(크롬 같은) 상단의 입력창에 google.com이라 치면 해당 주소로 이동하게 되는데, 이 이동하는 과정에서 DNS 가 뒤에서 몰래 챙겨주는 마니또마냥 주소를 가져다 주는 것이다.

 

 

대충 이런 개념이라고 보면 된다.

 

DNS에게서 전달받은 해당 IP로 접속하면 해당 서버에서 우리에게 홈페이지 컨텐츠들을 제공해 주는 것이다.

HTTP (Hypertext Transfer Protocol)

그런데, 브라우저 위 가끔 더블클릭 해보면 앞에 http://www.어쩌구저쩌구...

이것도 도메인 이름인가요?

 

일단 도메인 이름이 아니며, 두개다 다르지만여기선 www는 생략하고 http에 대해서만 서술하겠다.

영문 그대로 읽어보면 하이퍼텍스트 트렌스퍼 프로토콜 이라는 필살기같이 느껴지는 이 개념은, 에네르기파만큼은 아니겠지만 꽤 강력한 기술이다.(아마도)

 

우리가 웹사이트에서 컨텐츠를 보여줄때, HTML(프로그래밍언어임 ㅇㅇ) 을 사용하는데,

HTTP는 한마디로 통신규칙이며, Hypertext(그냥 링크같은거임)을 주고 받는 통신 규칙이다. 

 

다시 말하지만, 이는 규칙이며 통상적으로 서버와 클라이언트 사이에서 어떻게 정보를 교환하는가에 대한 규칙이다, 

위와 같은 통신 방식 자체를 HTTP라고 부른다.

 

따라서 우리가 인터넷상에서 http: 로시작하는 주소창을 본다면, 이는 http 방식으로 통신할것이며,

이후에 나오는 도메인 주소로 통신하겠다. 라는 뜻이된다.

 

설명 세줄요약:

컴퓨터끼리 (혹은다른기기도 사실 포함) "링크" 해놓은 걸 네트워크라고 부르며 이에 라우터가 사용된다.

또한, (웹사이트상에서만) Http 통신 방식으로 DNS를 이용해 도메인이름만으로도 우리가 원하는 주소로 접속하여 

컨텐츠를 주고 받는다. 인터넷은 이러한 네트워크들의 집합체이다.

 

ps. 이글은 전문성을 띄는 글이 아니며, 초심자가 대략적으로 감만 잡을 정도만 서술해놓았다.

이는 내가 초심자이기도 하기 때문에, 그리고 어차피 정확하고 더 자세히 설명된 정보는 다른 곳에 많기 때문이다.

 

ps2. 처음쓰다보니 자꾸 꼬리에 꼬리를 무는데... 내 지식의 한계에 도달했다.