프론트 엔드 로드맵 정리_인터넷은 어떻게 동작하는가?

Southbig·2022년 11월 28일
0

다시 한번 개념들을 정리하기 위해 프론트엔드 로드맵을 정리 하고자 한다

How does internet work ?

인터넷은 웹의 핵심적인 기술이다
인터넷의 기본은 컴퓨터들이 서로 통신 가능한 거대한 네트워크라는 것이다

인터넷은 1960년 대 미육군 연구프로젝트에서 부터 시작
인터넷은 모든 컴퓨터를 연결하고 어떤 일이 있어도 연결 상태를 유지 할 수있는 방법을 찾는 방법이다

단순한 네트워크

두 개의 컴퓨터가 통신이 필요할 때, 우리는 다른 컴퓨터와 물리적으로 또는 무선으로 연결되어야 한다 (WiFi or Bluetooth)

이러한 네트워크는 컴퓨터 댓수에 제한되지 않는다
원하는 만큼 컴퓨터를 연결할 수 있다

그러나 댓수가 증가할 수록 복잡해 진다
예를 들어 10대의 컴퓨터를 연겨하려는 경우 컴퓨터 당 9개의 플러그가 달린 45개 케이블이 필요하다

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

이 라우터는 단 하나의 작업만 한다
철도역의 신호원처럼 주어진 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인한다

컴퓨터 B에게 메세지를 보내려면 컴퓨터 A가 메세지를 라우터로 보내야하며, 라우터는 메시지를 컴퓨터 B로 전달하고 메시지가 컴퓨터 C로 배달되지 않도록 해야한다

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

네트워크 속의 네트워크

컴퓨터를 라우터에 연결하고, 라우터에서 라우터로, 우리는 무한히 확장할 수 있다

이러한 네트워크는 우리가 인터넷이라고 부르는 것과 매우 가깝지만,

만약 아주 먼지역의 컴퓨터와 연결을 해야한다면 ?
아주 먼곳의 케이블과 연결하는 것은 어려운 일 일것이다

어떻게 할 수있을까 ?

예를 들어 전력 및 전화와 같이 이미 집에 연결된 케이블이 있다
전화기 기반의 시설은 이미 세계 어느 곳과도 연결되어 있으므로 우리가 필요로 하는 완벽한 배선이라고 할 수 있다

따라서 네트워크를 전화 시설과 연결하기 위해선 모뎀이라는 특수 장비가 필요하다

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

즉, 네트워크는 전화시설에 연결된다

다음은 네트워크에서 도달하려는 네트워크로 메시지를 보내는 것이다
그렇게하기 위해 네트워크를 인터넷 서비스 제공 업체 (Internet Service Provider, ISP)에 연결한다

ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사다

따라서 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달된다
인터넷은 이러한 전체 네트워크 인프라로 구성되어 있다

컴퓨터 찾기

컴퓨터에 메시지를 보내려면 메시지를 받을 특정 컴퓨터를 지정해야한다

따라서 네트워크에 연결된 모든 컴퓨터에는 IP 주소 (IP는 인터넷 프로토콜을 나타냄)라는 고유한 주소가 있다

주소는 점으로 구분 된 네 개의 숫자로 구성된 주소다

컴퓨터는 이러한 주소로 다른 컴퓨터를 찾아가는데 문제가 없다
그러나 우리들은 IP주소를 기억하기 어렵다
그래서 도메인이라고 하는 것을 사용하여 사람이 읽을 수 있는 IP 주소의 이름을 지정할 수 있다

따라서 도메인 일므은 IP주소보다 인터넷을 사용하기 쉽다

인터넷과 웹

엡 브라우저를 사용하여 웹을 탐색 할 때 일반적으로 도메인 이름을 사용하여 웹 사이트에 접속한다

인터넷은 수십억 대의 컴퓨터를 모두 연결하는 기술 인프라다
이러한 컴퓨터들 중에 일부는 웹서버로서 웹 브라우저가 이해할 수 있는 서비스를 제공한다

인터넷은 인프라이며, 웹은 그 임프라 기반 위에 구축된 서비스다

웹 뿐아니라 인터넷 위에 구축ㄷ괸 다른 서비스들도 있다

웹의 동작 방식

클라이언트와 서버

웹에 연결된 컴퓨터는 클라이언트와 서버라고 한다

  • 클라이언트
    일반적인 웹 사용자의 인터넷이 연결된 장치들과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어

  • 서버
    웹페이지, 사이트 또는 앱을 저장하는 컴퓨터
    클라이언트의 장비가 웹페이지에 접근하길 원할 때, 서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 된다

The other parts of the toolbox

  • 인터넷 연결
    웹에서 데이터를 보내고 받을 수 있게 해준다

  • TCP/IP (Transmission control Protocol) / (Internet Protocol)
    TCP (전송제어규약)과 IP (인터넷규약)은 데이터가 어떻게 웹을 건너 여행해야 하는지 정의 하는지 정의하는 통신 규약이다

  • DNS (Domain name System Servers) 도메인 이름 시스템 서버
    웹사이트를 위한 주소록과 같다

  • HTTP (Hypertext Transfer Protocol) / 하이퍼텍스트 전송 규약
    클라이언트와 서버가 서로 통신할 수 있게 하기위한 언어를 정의하는 어플리케이션 규약이다

  • 컴포넌트 파일

    • 코드파일
      웹사이트는 근본적으로 HTML, CSS< JS 로 생성된다
    • Assets
      이미지, 음악, 비디오, 단어 문서, 그리고 PDF 같은, 웹사이트를 만드는 모든 다른 것들을 위한 공동적인 이름

So what happens, exactly?

  1. 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소를 찾는다
  2. 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송 한다, 클라이언트와 서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해서 전송된다
  3. 메세지를 받은 서버는 클라이언트의 요청을 승인하고, 200 메세지를 클라이언트에게 전송한다, 서버는 웹사이트의 사일들을 데이터 패킷이라 불리는 작은 일련의 chunks로 브라우저에 전송하기 시작한다
  4. 브라우저는 chunks를 완전한 웹 사이트로 조립하고, 상대방에게 보여준다

DNS

도메인 이름 서버는 브라우저에 입력하는 웹주소를 웹사이트의 실제 IP 주소에 맞춰주는 특별한 서버다

Packets

기본적으로, 데이터가 웹을 거쳐서 전송될 때, 수천개의 작은 덩어리들로 전송된다

다양한 웹 사용자들은 동시에 같은 웹 사이트를 다운로드 할 수 있게된다

만약 웹 사이트가 하나의 큰 덩어리들로 전송된다면, 오직 한 번에 하나의 사용자만 다운로드 할 수 있을 것이다

이는 매우 비효율적이다

profile
즐겁게 살자

0개의 댓글