INFLEARN

[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 네트워크

ch010104 2026. 3. 26. 22:49

1. 인터넷 통신의 기본 흐름

인터넷에서 메시지를 보낼 때는 여러 계층의 프로토콜이 데이터를 단계별로 포장합니다.

  • 애플리케이션 계층: 프로그램이 메시지(예: Hello, world!)를 생성합니다.
  • 전송 계층: 어떤 프로그램으로 보낼지(PORT) 결정하고, 전송 방식(TCP/UDP)을 선택합니다.
  • 인터넷 계층: 목적지 컴퓨터의 주소(IP)를 지정합니다.
  • 네트워크 인터페이스 계층: 실제 랜 카드 등을 통해 데이터를 전송합니다.

2. IP (인터넷 프로토콜)

지정한 IP 주소에 '패킷'이라는 단위로 데이터를 전달하는 역할을 합니다.

패킷 구성: 출발지 IP, 목적지 IP, 전송 데이터 등을 포함합니다.

  • 주요 한계:
    • 비연결성: 상대방이 받을 수 있는 상태인지 확인하지 않고 보냅니다.
    • 비신뢰성: 패킷이 중간에 사라지거나 순서가 뒤바뀔 수 있습니다.
    • 구분 불능: 하나의 IP 주소에서 여러 앱이 통신할 때 구분이 어렵습니다.

3. TCP vs UDP (전송 계층)

IP의 한계를 보완하기 위해 전송 계층에서 사용하는 두 가지 방식입니다.

TCP (신뢰성 우선)

3-way handshake: 전송 전 '접속 요청(SYN)'과 '수락(ACK)' 과정을 통해 가상 연결을 맺습니다.

데이터 보증: 데이터를 받으면 상대방이 "잘 받았다"고 알려줍니다.

순서 보장: 패킷 순서가 잘못되면 다시 보내라고 요청합니다.

 

UDP (속도 우선)

단순함: 연결 과정(handshake)이 없어 매우 빠릅니다.

기능 미비: 데이터 전달 보증이나 순서 보장을 하지 않습니다.

특징: IP와 거의 같으며, PORT와 체크섬 정도만 추가된 형태입니다.


4. PORT (프로그램 구분)

같은 IP 주소 내에서 돌아가는 여러 프로그램(프로세스)을 구분하는 번호입니다.

  • 비유: IP가 '아파트 주소'라면, PORT는 '몇 호'인지 가리키는 것과 같습니다.
  • 범위: 0 ~ 65535까지 사용 가능합니다.
  • 잘 알려진 포트 (Well-known):
    • HTTP: 80
    • HTTPS: 443
    • FTP: 20, 21

5. DNS (도메인 네임 시스템)

기억하기 어려운 숫자 IP 주소 대신 도메인 명을 사용하게 해주는 **'전화번호부'**입니다.

필요성: IP는 외우기 어렵고 , 서버 환경에 따라 변경될 수 있기 때문입니다.

작동 방식: 사용자가 도메인 명(google.com)을 입력하면 DNS 서버가 해당 IP 주소를 찾아 응답해 줍니다.