ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [HTTP] 인터넷 통신에 대하여
    Study/CS 2021. 9. 25. 22:36

     

     

    중학생때, 한창 영어 배우는 것에 호기심을 가지던 시절 

    영국인 중학생과 이메일 펜팔을 했던 것이 생각난다. 

     

    물론 내용은 "난 오늘 학교 다녀왔어. 그리고 저녁은 ~을 먹었어. 너는 무엇을 했니?" 뭐 이런 내용이었지만 ㅎㅎ

    이런 사사로운 이야기 마저 굉장히 설레였던게 생각난다.

    내가 지구 반대편에 있는 사람과 이렇게 일상적인 이야기를 주고 받을 수 있다니!!

     

    저 멀리 있는 영국인 중학생과 나는 어떻게 이메일을 주고 받을 수 있었을까?

    인터넷에서 컴퓨터 둘은 어떻게 통신을 하며 텍스트를 주고 받을 수 있는가?

     


    1. 인터넷이 통신하는 방법

    자, 일단 간단하게 먼저, 두 개의 컴퓨터가 통신한다고 생각해보자. 

    여러분이 생각하실 때에는 두 대의 컴퓨터가 서로 어떠한 정보를 주고 받기 위해서 무엇이 필요하다고 생각하는가?

     

    1. 물리적으로 연결한다. (이더넷 케이블)

    2. 무선으로 연결한다. (wifi, bluetooth) 

     

    그런데, 우리는 딱 한대의 컴퓨터만 연결해서 사용하지 않는다. 

    중학생 시절의 나는 영국에 사는 친구, 남아공에 사는 친구, 호주에 사는 친구와도 이메일을 주고 받을 수 있을 것이다. 

    어떻게 그게 가능할까?

     

    네트워크는 단지 두 대의 컴퓨터로 제한되지 않기 때문이다.

    우리가 원하는 만큼의 컴퓨터를 연결할 수 있다. 그러나 그럴 경우, 엄청나게 많은 케이블이 필요할 것이다.

     

    이러한 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터라고 하는 특수한 소형 컴퓨터에 연결된다.

     

    출처 : mdn 인터넷은 어떻게 동작하는가?

    자, 이런 그림이 되는 것이다. 우리는 이 라우터를 이용해 총 10대의 컴퓨터와 각 각 통신을 할 수 있게 되었다.

    그렇다면 만약 수백, 수천, 수십억 대의 컴퓨터를 연결하면 어떻게 될까?

    내가 아프리카 세네갈의 한 프랑스 언어교육원 홈페이지(https://ifs.sn/#/)에 들어가고 싶을 수도 있고, 

    미국의 아마존 사이트(https://www.amazon.com/)에 들어가 해외물품을 구입하고 싶을 수도 있다.

     

    바로 라우터에 라우터를 연결하고- 이런식으로 우리는 무한히 확장 할 수 있다.

    출처 : mdn 인터넷은 어떻게 동작하는가?

    이러한 네트워크를 우리는 우리의 친구, 이웃에 연결할 수는 있어도 아주 먼 다른 지역에 케이블을 연결할 수는 없다.

    이 문제를 해결하기 위해 네트워크는 이미 잘 갖추어진 전화 시설에 연결된다.

    우리는 이 네트워크를 인터넷 서비스 제공업체(Internet Service Provider, ISP)에 연결한다.

     

    즉, 우리의 메시지는 ISP 네트워크의 네트워크를 통해 우리가 도달하고자 하는 대상 네트워크로 전달이 된다! 

     

    이러한 지역 네트워크에 연결된 컴퓨터와 그 안에 속한 장비들을 통틀어 하나의 '노드'라고 칭한다.

     

    자, 그럼 다시 돌아와서 중학생 시절의 내가 보냈던 이메일은 어떻게 영국에 있는 친구의 메일 계정이 저장된 서버 컴퓨터에 도달해 내 텍스트를 전달할 수 있었을까? 

    저 수많은 노드들 중에서 어떻게 특정 서버 컴퓨터를 찾아낼 수 있었을까?


    2. IP주소

    바로 IP 주소를 이용해서이다.

    저 맥북, 아이패드 모두 각각 고유한 IP 주소를 가지고 있다.

    인터넷이 연결된 모든 기기에는 각각 고유의 IP 주소가 부여된다. 

    각 기기가 서로 통신을 주고 받을 때에도 이 IP주소를 이용하는 것이다. 

     

    출처: 강의 '모든 개발자를 위한 HTTP 웹 기본지식' (김영한) 인프런

    이런식으로 각 IP주소를 이용해 대상자를 찾아 전달을 해주는데, 

    컴퓨터가 서로 통신하기 위해서는 어떤 '규약, 규정'이 있어야 하지 않겠는가?

     

    그것이 바로 'Protocol'이며 HTTP문서간에 링크를 통해 연결할 수 있는 html을 전송하는 규약, 규칙을 뜻하는 

    HyperText Transfer Protocol 이다.

     

     


    출처 :

    '모든 개발자를 위한 HTTP 웹 기본 지식' -김영한 (인프런강의)

    (https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard)

    인터넷은 어떻게 동작하는가? - mdn (https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work)

     

     

    'Study > CS' 카테고리의 다른 글

    [http] HTTP의 특징  (0) 2021.09.26
    [HTTP] 웹브라우저의 요청 흐름  (0) 2021.09.25

    댓글

Designed by Tistory.