티스토리 뷰

IT/Internet

Internet 기본 개념

Stv 2025. 3. 31. 21:49

목차


    백엔드 개발자가 인터넷 개념을 제대로 이해하는 것은 필수다. 단순히 "인터넷을 사용한다"는 것과 "인터넷이 어떻게 동작하는지 이해한다"는 것은 다르다. 이번 글을 통해 인터넷이 어떻게 동작하는지 기본 개념부터 실제 데이터가 전달되는 과정까지 차근차근 짚어보려고 한다.

     

    1. 인터넷이란 무엇인가?

    : 인터넷은 전 세계의 컴퓨터와 네트워크를 연결하는 거대한 네트워크다. 우리가 웹 사이트를 방문하거나 온라인 게임을 하거나 이메일을 보낼 때, 이 모든 작업이 인터넷을 통해 이루어진다. 

    하지만 단순히 "네트워크"라고만 하면 설명이 부족한데, 인터넷은 분산된 네트워크 시스템이다. 즉, 특정한 중앙 서버가 모든 연결을 담당하는 것이 아니라, 수많은 네트워크 장비와 서버가 서로 연결되어 있는 거대한 구조다.

     

    💥인터넷을 구성하는 핵심 요소

    1. 클라이언트(Client)
      • 사용자가 인터넷을 이용하는 장치(PC, 스마트폰 등)
    2. 서버(Server)
      • 데이터를 저장하고 클라이언트 요청을 처리하는 컴퓨터(웹 서버, DB 서버 등)
    3. 라우터(Router)
      • 데이터를 목적지까지 전달하는 장치
    4. 스위치(Switch)
      • 네트워크 내부에서 데이터를 전달하는 장치
    5. 프로토콜(Protocol)
      • 컴퓨터끼리 정보를 주고받을 떄 따르는 규칙(HTTP, TCP/IP 등)

    2. 인터넷은 어떻게 동작하는가?

    : 인터넷에서 가장 기본적인 흐름은 "클라이언트 요청 -> 서버가 응답"하는 방식인데, 우리가 브라우저에서 https://www.google.com을 입력하면 어떤 일이 벌어질까?

     

    💥인터넷을 통해 웹사이트에 접속하는 과정

    1. 사용자가 웹사이트 주소(URL)을 입력
      • https://www.google.com을 입력한다.
    2. DNS(Domain Name System)가 IP 주소를 찾음
      • 브라우저는 www.google.com.이 실제로 어떤 IP 주소(예 123.123.123.46)인지 알아야 한다.
      • 이를 위해 DNS 서버가 도메인 이름을 IP 주소로 변환한다.
    3. 브라우저가 해당 IP 주소의 서버로 요청 전송
      • 요청은 HTTP/HTTPS 프로토콜을 사용하여 서버에 전달된다.
    4. 서버가 요청을 처리하고 응담을 보냄
      • 웹 서버가 요청을 받고, 알맞은 데이터를 찾아 응답을 보낸다.
    5. 브라우저가 응답을 받아 웹페이지를 렌더링
      • HTML, CSS, JavaScript 등의 파일을 해석하여 화면에 표시한다.

    3. IP 주소와 DNS의 역할

    💠IP 주소란?

    : 인터넷에서 각 장치는 IP 주소(Internet Protocol Addresss)라는 고유한 주소를 가진다. 이는 마치 집 주소와 같아서, 데이터를 정확한 목적지로 전달하는 역할을 한다.

     

    💥IP 주소의 종류

    • IPv4(ex 192.168.0.1)
      • 32비트 주소, 약 43억개의 고유 주소 가능
    • IPv6(ex 2001:db::ff00:32:8329)
      • 128비트 주소, 사실상 무제한의 고유 주소 가능

    💠DNS는 무엇인가?

    : 문제는 IP 주소를 사람이 외우기 어렵다는 점이다. 예를 들어, 구글 웹사이트가 142.250.190.46이라는 IP 주소를 갖고 있다면, 매번 이 숫자를 입력해야 할까?

    DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환해주는 시스템이다. 우리가 google.com을 입력하면, DNS가 이를 142.250.190.46으로 변환하여 접속할 수 있도록 해준다. 

     

    💥DNS 요청 과정

    1. 사용자가 www.example.com 입력
    2. 브라우저가 캐시에 저장된 DNS 정보 화인(있다면 바로 사용)
    3. 없다면 로컬 DNS 서버에 요청
    4. 로컬 DNS 서버가 권한이 있는 DNS 서버에 요청
    5. 해당 도메인의 IP 주소를 찾아서 반환
    6. 브라우저가 해당 IP 주소로 접속

    4. HTTP와 HTTPS

    : 웹사이트는 대부분 HTTP(HyperText Transfer Protocol) 또는 HTTPS(Secure HTTP) 프로토콜을 사용하여 데이터를 주고 받는다. HTTP Message Body만 암호화하고 Hearder는 암호화 하지 않음, 구글은 HTTPS 웹 사이트에 가산점을 주고 AMP(가속화된 모바일 페이지)를 만들때 HTTPS를 사용해야만 함

    AMP : 모바일 기기에서 컨텐츠를 훨씬 빠르게 로딩하기 위한 방법으로 구글사에서 만듬

    💥HTTP vs HTTPS 차이

      HTTP HTTPS
    보안성 암호화 없음 SSL/TLS 암호화
    데이터 보호 중간에서 탈취 가능 암호화되어 안전
    사용 예시 과거 대부분의 웹사이트 현재 대부분의 웹사이트

     

    5. 데이터가 인터넷을 통해 이동하는 원리

    : 인터넷에서 데이터는 패킷(Packet)단위로 쪼개져 전송된다. 패킷은 작은 데이터 조각이며, 다음과 같은 과정을 거친다.

    💥패킷 전송 과정(아래 과정은 네트워크 장비인 Router, Switch 등에 의해 조정됨)

    1. 출발지 IP -> 목적지 IP 설정
    2. 라우터(Router) 경유하여 최적의 경로 탐색
    3. 목적지에서 데이터 조합 후 응답 전송

    6.SSL/TLS

    :Secure Sockets Layer로 Netscape사에서 웹서버와 웹 브라우저간의 보안을 위해 만든 프로토콜로 공개키/대칭키 기반으로 사용됨

    1. 공개키/대칭키란?
      • 대칭키 : 동일한 키로 암호화 복호화 수행
      • 공개키 : 서로 다른 키로 암복호화 수행 (비대칭키라고도 함)
    2. 필요한 이유
      • 서버와 브라우저 간 전송되는 데이터를 외부의 공격자로부터 보안하귀 위해 필요
    3. 통신과정(기본적으로 SSL 공개키 방식으로 대칭키 전달)
      1. A -> B 접속 요청
      2. B -> A 공개키 전송
      3. A는 대칭키를 B에게로 부터 공개키로 암호화
      4. 암호화된 대칭키를 B에게 전달
      5. B는 A의 대칭키를 자신의 개인키로 복호화하여 A의 대칭키를 얻을 수 있음