[Backend] 인터넷이 뭔데
포스트
취소

[Backend] 인터넷이 뭔데

Table of Contents

Intro

roadmap.sh백엔드 로드맵에 나오는 순서대로 정리하면서 공부하기로 했다.

원문 출처: cs.fyi - How does the Internet Work?

개요

인터넷이 뭐고, 어떻게 작동하는지 알기 위해 필요한 기본 개념에 대해 얕게 훑어본다. 인터넷은 네트워크로 이루어지고, 네트워크는 각각의 컴퓨터와 기타 장치로 이루어지므로 네트워크부터 인터넷의 대략적인 원리, 통신 프로토콜 순서로 알아본다.

네트워크와 인터넷

  • 네트워크: 서로 연결된 컴퓨터 또는 기타 장치의 그룹
  • 인터넷: 네트워크 간의 연결. 1960년대 후반 미국 국방부가 핵 공격을 견딜 수 있는 분산형 통신 네트워크를 만들기 위한 수단으로 개발했다. 현재는 대부분의 최신 소프트웨어 애플리케이션의 구축 기반이다.

인터넷의 작동 과정

  • 인터넷의 작동: 표준화된 프로토콜을 사용해 장치와 시스템을 서로 연결하여 작동한다.
  • 프로토콜: 장치 간에 정보가 교환되는 방식을 정의하고 데이터가 안정적이고 안전하게 전송되도록 보장.

인터넷의 핵심은 서로 연결된 라우터로 구성된 글로벌 네트워크로, 서로 다른 장치와 시스템 간의 트래픽을 라우팅한다. 인터넷을 통해 데이터를 전송하는 과정은 다음과 같다.

  1. 데이터를 작은 패킷으로 분할
  2. 디바이스에서 라우터로 전송
  3. 라우터가 패킷을 검사
  4. 목적지로 향하는 경로의 다음 라우터로 패킷 전달
  5. 최종 목적지에 도달할 때까지 전송 반복

패킷을 올바르게 주고받기 위해 Internet Protocol(IP)과 Transmission Control Protocol(TCP) 등 다양한 프로토콜을 사용한다. IP는 패킷을 목적지로 라우팅하고, TCP는 패킷이 올바른 순서로 전송되게 보장한다. 이외에도 인터넷 통신, 데이터 교환 관련 기술/프로토콜에는 DNS, HTTP, SSL/TLS 등이 있다.

프로토콜

기본 용어

  • Packet: 인터넷을 통해 전송되는 작은 데이터 단위
  • Router: 서로 다른 네트워크 간에 데이터 패킷을 전달하는 장치
  • IP Address: 네트워크의 각 장치에 할당된 고유 식별자로, 데이터를 올바른 목적지로 라우팅하는 데 사용된다. 일반적으로 “192.168.1.1”과 같이 온점으로 구분된 4개의 숫자로 표시한다.
  • Domain Name: 사람이 읽을 수 있는 웹사이트 및 인터넷 리소스 식별자. 일반적으로 온점으로 구분된 두 개 이상의 부분으로 구성되며 “google.com”과 같은 것을 말한다. Domain Name은 DNS를 통해 IP 주소로 변환된다.
  • DNS(Domain Name System): Domain Name을 IP 주소로 변환. 사용자가 도메인 이름을 입력하면 컴퓨터는 DNS를 통해 IP 주소로 변환한 후 해당 주소에 연결한다.
  • HTTP: Hypertext Transfer Protocol은 클라이언트(예: 웹 브라우저)와 서버(예: 웹사이트) 간에 데이터를 전송하는 데 사용된다.
  • HTTPS: 클라이언트와 서버 간의 보안 통신을 제공하는 데 사용되는 암호화된 HTTP 버전
  • SSL/TLS: Secure Sockets Layer 및 Transport Layer Security 프로토콜은 인터넷을 통한 보안 통신을 제공하는 데 사용된다.
  • 프로토콜: 장치와 시스템 간에 정보가 교환되는 방식을 정의하는 규칙과 표준
    • Internet Protocol(IP): 데이터 패킷을 목적지로 라우팅
    • Transmission Control Protocol(TCP): 패킷이 안정적이고 효율적으로 전송되도록 보장
    • User Datagram Protocol(UDP): 패킷이 안정적이고 효율적으로 전송되도록 보장
    • Domain Name System(DNS): 도메인 이름을 IP 주소로 변환
    • HTTP: 클라이언트와 서버 간 데이터 전송
  • 표준화된 프로토콜 사용의 이점: 서로 다른 제조업체/공급업체의 장치와 시스템이 원활하게 통신할 수 있음 (하드웨어/시스템이 달라도 별다른 어댑터 없이 일정한 통신이 가능함)

HTTP와 HTTPS

HTTP(Hypertext Transfer Protocol)와 HTTPS(HTTP Secure)는 인터넷 기반 애플리케이션과 서비스에서 가장 일반적으로 사용되는 두 가지 프로토콜이다.

  • HTTP: 클라이언트와 서버 간에 데이터를 전송하는 데 사용하는 프로토콜. 웹사이트를 방문하면 브라우저가 사용자의 요청에 따라 서버에 HTTP 요청을 보내고 서버는 요청한 데이터가 포함된 HTTP 응답을 클라이언트에 보낸다.
  • HTTPS: SSL/TLS(Secure Sockets Layer/Transport Layer Security) 암호화를 사용해 클라이언트와 서버가 주고받는 데이터를 암호화한다. 로그인, 결제 정보, 개인 데이터 같은 민감 정보를 보호하는 데 도움이 된다. 웹사이트를 방문했을 때 주소 표시줄에 자물쇠 아이콘이 있고 주소가 https로 시작하면 연결이 안전함을 나타내는 것이다.

TCP/IP

TCP/IP(Transmission Control Protocol/Internet Protocol)는 대부분의 인터넷 기반 애플리케이션과 서비스에서 사용되는 기본 통신 프로토콜이다. 이 프로토콜은 서로 다른 기기에서 실행되는 애플리케이션 간에 데이터를 안정적으로, 순서대로, 오류를 확인하며 전달할 수 있도록 한다.

  • Port: 장치에서 실행 중인 애플리케이션 또는 서비스를 식별하는 데 사용. 각 애플리케이션 또는 서비스에는 고유 포트 번호가 할당되어 데이터를 올바른 대상으로 전송할 수 있다.
  • Socket: IP 주소와 포트 번호의 조합으로, 통신을 위한 특정 엔드포인트를 나타낸다. 장치 간 연결을 설정하고 애플리케이션 간에 데이터를 전송하는 데 사용.
  • Connection: 두 장치가 서로 통신하고자 할 때 두 소켓 간에 연결이 설정된다. 연결 설정 과정에서 장치는 데이터가 전송되는 방식을 결정하는 최대 segment 크기 및 window 크기와 같은 다양한 매개 변수를 협상한다negotiate.
  • Data transfer: 연결이 설정되면 각 장치에서 실행 중인 애플리케이션 간에 데이터를 전송할 수 있다. 데이터는 일반적으로 segment로 전송되며, 각 segment에는 안정적인 전송을 보장하기 위해 시퀀스 번호와 기타 메타데이터가 포함되어 있다.
  • TCP/IP로 애플리케이션을 구축할 때는 애플리케이션이 적절한 포트, 소켓 및 연결과 함께 작동하도록 설계되었는지 확인해야 한다.
  • TCP/IP에서 일반적으로 사용되는 프로토콜과 표준: HTTP, FTP(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol) 등

SSL/TLS

  • SSL/TLS: 인터넷을 통해 전송되는 데이터를 암호화하는 데 사용되는 프로토콜. 일반적으로 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램과 같은 애플리케이션에 보안 연결을 제공하는 데 사용.
  • Certificates: SSL/TLS 인증서는 클라이언트와 서버 간의 신뢰를 구축하는 데 사용된다. 인증서에는 서버의 신원에 대한 정보가 포함되어 있으며 신뢰할 수 있는 제3자(인증 기관)가 서명하여 진위 여부를 확인한다.
  • Handshake: 이 프로세스에서 클라이언트와 서버는 정보를 교환하여 보안 연결을 위한 암호화 알고리즘 및 기타 매개변수를 협상한다negotiate.
  • Encryption: 보안 연결이 설정되면 합의된 알고리즘을 사용하여 데이터를 암호화하여 안전하게 전송할 수 있다.
  • 로그인, 결제 정보, 기타 개인 데이터와 같은 민감한 데이터를 전송할 때 애플리케이션이 SSL/TLS를 사용하도록 설계되었는지 확인하는 것이 중요
  • 서버에 유효한 SSL/TLS 인증서를 획득하고 유지해야 하며, SSL/TLS 연결 구성 및 보안을 위한 모범 사례를 따라야 한다. 이를 통해 사용자의 데이터를 보호하고 인터넷을 통한 애플리케이션 통신의 무결성 및 기밀성을 보장할 수 있다.

인터넷 최신 트렌드

  • 5G: 최신 모바일 네트워크 기술. 이전 세대보다 빠른 속도, 짧은 지연 시간, 더 큰 용량 제공. 다만 현재는 사장되는 추세이고 대신 6G를 준비하는 단계라고 알고 있다. 5G는 개념은 이상적이고 좋은데 상용화는 못 할 기술이었음(개인 의견).
  • Internet of Things(IoT): 인터넷에 연결되어 데이터를 교환할 수 있는 물리적 장치, 차량, 가전제품 및 기타 사물의 네트워크를 말한다.
  • Artificial Intelligence(AI): 머신러닝과 자연어 처리와 같은 AI 기술은 이미 음성 어시스턴트부터 사기 탐지까지 다양한 애플리케이션과 서비스를 지원하는 데 사용되고 있다.
  • Blockchain: 안전하고 분산된 거래를 가능하게 하는 분산 원장ledger 기술이다. 암호화폐부터 공급망 관리에 이르기까지 다양한 애플리케이션을 구동하는 데 사용되고 있다.
  • Edge computing: 중앙 집중식 데이터 센터가 아닌 네트워크의 엣지edge of the network에서 데이터를 처리하고 저장하는 것을 말한다.

요약

  • 인터넷은 표준 통신 프로토콜 세트를 사용하여 데이터를 교환하는 상호 연결된 컴퓨터의 글로벌 네트워크로, 서로 다른 장치와 시스템 간에 트래픽을 전달하는 상호 연결된 라우터로 구성된다.
  • 인터넷은 TCP/IP와 같은 표준화된 프로토콜을 사용하여 장치와 컴퓨터 시스템을 서로 연결하여 작동한다.
  • 패킷, 라우터, IP 주소, 도메인 이름, DNS, HTTP, HTTPS, SSL/TLS 등 기본 개념과 용어
  • 프로토콜은 인터넷을 통한 통신 및 데이터 교환을 가능하게 하여 다양한 제조업체/공급업체의 디바이스와 시스템이 원활하게 통신할 수 있도록 한다.
이 기사는 저작권자의 CC BY-NC-ND 4.0 라이센스를 따릅니다.