인터넷[Internet]은 어떻게 동작되는가??

채재헌·2022년 7월 26일
1
post-thumbnail

<동기>

이번 시간에는 인터넷의 개념과 작동원리에 대해 살펴 보면서 프론트 엔드와 백엔드 개발자 로드맵에 동시에 포함되어 있는 개념을 이해하며, 나중에 면접 준비를 하면서 도움이 될 수 있도록 기록하고 정리하는 시간을 가질것 같아서 준비하게 되었다.

목차

1. 인터넷에 대한 요약 정리

2. 인터넷의 시작

3. 인터넷 어원

4. 인터넷의 변화

5. 인터넷 작동 원리


1. 인터넷에 대한 요약 정리

  • 인터넷 Internet은 웹의 핵심적인 기술이다.
  • 인터넷은 컴퓨터를 서로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다.
  • 인터넷 변화 양상
    ① 컴퓨터 ↔ 컴퓨터
    ② 컴퓨터 ↔ 라우터 ↔ 컴퓨터
    ③ 컴퓨터 ↔ 라우터 ↔ 라우터 ↔ 컴퓨터
    ④ 컴퓨터 ↔ 라우터 ↔ 모뎀 ↔ 전화 시설 ~
    ⑤ 컴퓨터 ↔ 라우터 ↔ 모뎀 ↔ 전화 시설 ↔ ISP (↔ ISP) ↔ 전화 시설 ↔ 모뎀 ↔ 라우터 ↔ 컴퓨터

  1. 위성
    데이터 센터와 장치에 사이에 연결되는 광섬유 케이블의 복잡한 네트워크를 통해 이행되며, 위의 나와있는 위성의 신호를 수신하는데 상다한 지연을 초래하는 것을 방지할 수 있다.

  • 작동 원리
    인터넷 서비스 공급자 isp 가 장치에 ip 주소를 결정하며 사용자는 isp 가 휴대폰이나 노트북에 부여한 ip 주소를 확인 할 수 있다.그리고 데이터 센터에 서버에도 ip 주소가 있으며, 이러한 일련의 고유한 번호를 사람들이 일일이 기억하기 어렵기 때문에 보다 기억하기 쉽도록 ip 주소에 해당하는 페이스북 또는 유튜브와 같은 도메인 이름이 사용된다.

  • ip 주소 : 서버 컴퓨터 또는 휴대전화 등 인터넷에 연결된 모든 장치는 ip 주소라는 일련의 번호로 고유하게 식별된다. ex) 집주소
    여기서 주목해야 할 점은 서버가 여러 웹사이트를 저장할 수있으며 서버가 여러 웹 사이트로 구성된 경우 서버에 ip 주소로 모든 웹사이트에 접속할 수 없다는 것이다. 이러한 경우 웹사이트를 고유하게 식별하기 위해서 추가적 정보인 포스트 에더가 사용된다.

  • 문제 제기
    사람들이 도메인 이름을 입력해서 요청하면 인터넷은 어디에서 ip 주소를 가져오는것일까??
    =>DNS라는 거대한 전화번호부를 사용하여 고유 도메인의 이름을 입력하면 그에 알맞은 ip 주소를 찾아온다.

  • 과정

1.도메인 이름을 입력하면 브라우저가 해당 ip 주소를 얻기 위해 DNS 서버의 요청을 보낸다.
2. 주소를 받은 브라우저는 해당 요청을 데이터 센터(각 서버)로 전달한다.
3.가 특정 웹 사이트에 대한 접속 요청을 받으면 광섬유 케이블을 통해 광 펄스의 형태로 전송된다.
4.광 펄스 형태로 전송된 데이터가 해저 면을 가로질러 사용자의 집에 있는 라우터까지 이동
5.라우터는 이러한 빛 신호를 전기 신호롤 변환하고 이더넷 케이블을 사용하여 노트북에 전기 신호를 전송한다.

=>하지만 사용자가 셀룰러 데이터를 사용하여 인터넷에 접소한다면 케이블의 선의 신호는 기지국으로 보내줘야 하고 기지국에서 그 신호를 전자파 형태로 사용자의 휴대폰에 보내게 된다.


*라우터 : 라우터(router 혹은 라우팅 기능을 갖는 공유기)는 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장치다.


*모뎀 : 모뎀(MODEM, MOdulator and DEModulator)은 정보 전달(주로 디지털 정보)을 위해 신호를 변조하여 송신하고 수신측에서 원래의 신호로 복구하기 위해 복조하는 장치를 말한다


*ISP : 인터넷 서비스 제공자(Internet service provider; ISP)는 인터넷에 접속하는 수단을 제공하는 주체를 가리키는 말이다. 그 주체는 영리를 목적으로 하는 사기업인 경우가 대다수이나 비영리 공동체가 주체인 경우도 있다.

  • ip 주소 : 서버 컴퓨터 또는 휴대전화 등 인터넷에 연결된 모든 장치는 ip 주소라는 일련의 번호로 고유하게 식별된다. ex) 집주소
    여기서 주목해야 할 점은 서버가 여러 웹사이트를 저장할 수있으며 서버가 여러 웹 사이트로 구성된 경우 서버에 ip 주소로 모든 웹사이트에 접속할 수 없다는 것이다. 이러한 경우 웹사이트를 고유하게 식별하기 위해서 추가적 정보인 포스트 에더가 사용된다.

2. 인터넷의 시작

인터넷은 1960년대 미국 국방성에서 기금한 연구 프로젝트에서 시작되었다. 소련에서 처음으로 인공위성을 발사하는 데 성공하자 이에 위협을 느낀 미국은 새로운 기술을 연구하는 ARPA Advanced Research Projects Agency, 고등 연구 계획국 부서를 창설하였고, ARPA는 1969년 현재 웹의 모태가 되는 ARPANET을 개발하였다. ARPANET은 핵과 같은 공격에 대비하여 전체 통신 시스템에서 데이터를 안전하게 보관 및 전송할 수 있는 시스템이다.


핵과 같이 광범위한 지역을 타격할 수 있는 무기가 탄생하면서, 한 곳이 타격되면 모든 데이터가 소실될 수 있는 기존 중앙 집중화된 데이터를 물리적으로 분산 저장(like 백업)하여 데이터를 보관하려는 요구가 있었을 것이다. 또한 분산 저장 시 데이터 전송, 동기화 등의 문제를 해결할 수 있는 방법을 모색했을 것이다. 따라서 각 데이터 센터를 연결하는 통신 시스템을 만들 필요가 있었고, 그렇게 만들어진 것이 ARPANET으로 보인다.


초기에 ARPANET은 미국 국방성과 대학교를 연결하였다. 1983년 ARPANET은 민간 연구용의 작은 네트워크과 군사용 MILNETMilitary Network으로 나누어졌고, 여기서 민간 연구용의 ARPANET이 현재 전 세계의 모든 컴퓨터를 연결하고 있는 인터넷으로 발전하였다.
인터넷을 지원하는 다양한 기술을 시간이 지남에 따라 진화해왔지만 작동 방식은 그다지 변하지 않았다.


3. 인터넷의 어원

인터넷이란 이름은 1973년 TCP/IP를 정립한 빈튼 서프Vinton Gray Cerf와 로버트 칸Robert E. Kahn이 '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(International Network)하고자 하는 의도에서 이를 줄여 인터넷(Internet)이라고 처음 명명하였던 것에 어원을 두고 있다.

4. 인터넷의 변화

1) 단순한 네트워크

① 1:1 연결

두 대의 컴퓨터가 통신이 필요할 때, 우리는 다른 컴퓨터와 물리적으로 (보통 이더넷 케이블, 일반적으로 우리가 말하는 '랜선') 또는 무선으로 (WiFi 나 Bluetooth) 연결되어야 한다. 모든 현대 컴퓨터들은 이러한 연결 중 하나를 이용하여 연결을 지속할 수 있다.


앞으로 나올 예시에서의 '연결'은 유선 네트워크와 관련해서만 이야기하지만, 유선 네트워크와 무선 네트워크는 동일한 방식이다.


두 대의 컴퓨터를 연결한다고 가정했을 때, 아래와 같은 모양일 것이다.


② 多:多 연결
우리는 1:1로 연결하는 방식과 같은 방식으로 원하는만큼 컴퓨터를 연결할 수 있다. 하지만 이렇게 연결할 경우 컴퓨터의 수가 늘어날수록 매우 복잡해진다. 1:1로 연결하는 방식으로 10대의 컴퓨터를 연결한다고 생각해보자.

<문제점> : 이 경우 컴퓨터마다 9개의 플러그가 필요하고, 45개의 케이블이 필요하다.
=>각 컴퓨터마다 플러그와 케이블의 수요가 많음.

<해결책> => 라우터 연결
위 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터(Router)라고하는 특수한 소형 컴퓨터에 연결된다. 이 라우터는 단 하나의 작업만 있다. 철도역의 신호원처럼 주어진 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인하는 것이다. 컴퓨터 B에게 메시지를 보내려면 컴퓨터 A가 메시지를 라우터로 보내야하며, 라우터는 메시지를 컴퓨터 B로 전달하고 메시지가 컴퓨터 C로 전달되지 않도록 해야 한다.

위 그림과 같이 이 라우터를 시스템에 추가하면 10대의 컴퓨터 네트워크에는 10개의 케이블만 필요하다. 각 컴퓨터마다 단일 플러그와 10개의 플러그가 있는 하나의 라우터만이 필요하게 된다.

2) 네트워크 속의 네트워크


<문제 제기>
그렇다면 수 백, 수 천, 수 십억 대의 컴퓨터를 연결하려면 라우터에 그만큼의 플러그가 필요하고 모든 컴퓨터가 연결되어야 할까? 일단, 라우터 자체로도 그 정도까지 확장할 수 없다. 그렇다면 어떻게 해야할까?


앞서 라우터 또한 '컴퓨터'라고 했었다. 따라서 두 대 이상의 라우터도 연결할 수 있다! 아래 그림은 각각의 라우터로 연결된 두 개의 네트워크를 연결한 모습이다.


<해결>
즉, 컴퓨터를 라우터에 연결하고, 라우터에서 라우터로 연결함으로써 연결을 무한히 확장할 수 있다.


이러한 네트워크는 우리가 인터넷이라고 부르는 것에 매우 가까워졌다. 상대적으로 많은 컴퓨터를 적은 케이블로 연결할 수 있어졌다. 하지만 아직까지 우리에게는 물리적 한계가 존재한다. 예를 들어 아주 먼 곳까지, 수 십개의 라우터를 유선 케이블로 연결할 수는 없을 것이다. (사실 연결할 수는 있겠지만, 만약 서울에 거주 중인 누군가가, 부산 본가까지 네트워크 연결을 위해 랜선을 연결하듯이 400km의 유선 케이블을 설치해야 한다고 생각해보자..lol) 그렇다면 이 문제를 어떻게 해결할 수 있을까?


우리는 이미 모든 집집마다 연결된 케이블이 있다. 바로 '전화선'이다. 우리의 선배님?들은 이 전화선을 통해 장거리 네트워크에 연결하기로 했다. 우리의 네트워크와 전화 시설을 연결하기 위해선, 모뎀(MODEM, MOdulator and DEModulator)이라는 특수 장비가 필요하다.


모뎀은 우리 네트워크의 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸며, 그 반대의 경우도 마찬가지이다.



모뎀을 통해 우리의 네트워크는 전화 시설에 연결된다. 하지만, 아직까지 우리의 컴퓨터가 보낸 메시지가 도달해야 할 컴퓨터(혹은 네트워크)까지 도달하지 않은 상태다. 이 메시지가 전달되려면 인터넷 서비스 제공 업체(ISP, Internet Service Provider)에 연결되어야 한다.


ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스할 수 있는 회사이다. 우리나라에는 SK텔레콤, KT, LG유플러스 등이 있다.


따라서 우리 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달된다. 인터넷은 아래 그림과 같이 이러한 전체 네트워크 인프라로 구성된다.



5. 인터넷 작동 원리

(1)- 데이터 전송 방법

1. 위성

데이터를 전송하는 가장 쉬운 방법은 위성을 사용하는 것이다. 데이터 센터에서 안테나를 통해 위성으로 신호를 전송한 다음 위성에서 인터넷 사용자에게 가까이 있는 다른 안테나를 통해 사용자의 기기에 신호를 전송할 수 있다.


<문제점>
위성을 통해서 데이터를 주고 받는 방식은 데이터가 성공적으로 전송되기 위해 위성은 총 4만 4천 마일을 이동해야하고, 이렇게 장거리로 이동하게 되면 신호를 수신하는데 상당한 지연을 초래하게 된다.즉, 대부분의 인터넷 어플리케이션에서 형용될 수 없는 엄청난 지연을 초래한다.


2. 광섬유 네트워크

데이터 센터와 장치에 사이에 연결되는 광섬유 케이블의 복잡한 네트워크를 통해 이행되며, 위의 나와있는 위성의 신호를 수신하는데 상다한 지연을 초래하는 것을 방지할 수 있다.


<작동 원리>

인터넷 서비스 공급자 isp 가 장치에 ip 주소를 결정하며 사용자는 isp 가 휴대폰이나 노트북에 부여한 ip 주소를 확인 할 수 있다.그리고 데이터 센터에 서버에도 ip 주소가 있으며, 이러한 일련의 고유한 번호를 사람들이 일일이 기억하기 어렵기 때문에 보다 기억하기 쉽도록 ip 주소에 해당하는 페이스북 또는 유튜브와 같은 도메인 이름이 사용된다.

  • ip 주소 : 서버 컴퓨터 또는 휴대전화 등 인터넷에 연결된 모든 장치는 ip 주소라는 일련의 번호로 고유하게 식별된다. ex) 집주소

여기서 주목해야 할 점은 서버가 여러 웹사이트를 저장할 수있으며 서버가 여러 웹 사이트로 구성된 경우 서버에 ip 주소로 모든 웹사이트에 접속할 수 없다는 것이다. 이러한 경우 웹사이트를 고유하게 식별하기 위해서 추가적 정보인 포스트 에더가 사용된다.


<문제 제기>
사람들이 도메인 이름을 입력해서 요청하면 인터넷은 어디에서 ip 주소를 가져오는것일까??

=>DNS라는 거대한 전화번호부를 사용하여 고유 도메인의 이름을 입력하면 그에 알맞은 ip 주소를 찾아온다.


<과정>

  1. 도메인 이름을 입력하면 브라우저가 해당 ip 주소를 얻기 위해 DNS 서버의 요청을 보낸다.
  1. ip 주소를 받은 브라우저는 해당 요청을 데이터 센터(각 서버)로 전달한다.
  1. 서버가 특정 웹 사이트에 대한 접속 요청을 받으면 광섬유 케이블을 통해 광 펄스의 형태로 전송된다.

4.광 펄스 형태로 전송된 데이터가 해저 면을 가로질러 사용자의 집에 있는 라우터까지 이동

5.라우터는 이러한 빛 신호를 전기 신호롤 변환하고 이더넷 케이블을 사용하여 노트북에 전기 신호를 전송한다.

=>하지만 사용자가 셀룰러 데이터를 사용하여 인터넷에 접소한다면 케이블의 선의 신호는 기지국으로 보내줘야 하고 기지국에서 그 신호를 전자파 형태로 사용자의 휴대폰에 보내게 된다.


<참조>

-ICANN : 인터넷은 세계적인 네트워크이기 때문에 ip 주소 부여 도메인 이름 등록과 같은 것들을 관리할 조직의 존재가 중요해졌고, 이 모든 것은 미구에 위치한 아이칸 이라는 기관이 관리한다.


인터넷 기술의 장점

셀룰러 및 유선 통신 기술과 비교했을 때 인터넷의 한 가지 놀라운 점은 데이터 전송에 효율성이다.=>

예를 들어 구글 데이터 센터로 부터 받아 시청하고 있는 유튜브 영상은 0과 1의 수많은 모임에 형태로 전송된것이다. 인터넷에 데이터 전송을 효율적으로 만드는 것은 이러한 0과 1을 작은 덩어리로 잘라 내어 전송하는 방법이다. 이 정보들을 활용해서 패킷이 휴대폰을 향해 라우팅 되고,모든 패킷은 독립적으로 해당 시점에 사용 가능한 최상의 경로를 사용하고 휴대폰의 도달하게 되면 패킷들을 이 시퀀스 폰에 따라 다시 조립된다.

- 프로토콜이란??

인터넷에서도 데이터 패킷의 복잡한 흐름을 관리하기 위해 프로토콜이라는것을 사용한다.
프로토콜은 데이터 패킷 변환, 각 패킷에 대한 발신 첨부, 수신 첨부, 주소 첨부, 라우터에 대한 규칙들을 설정한다.

ex) - TCP/IP => 데이터 전송
- http/https => 웹 접속
- RTP => 실시간 영상 스트리밍 & 전화

0개의 댓글