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 주소를 찾아 응답해 줍니다.
'INFLEARN' 카테고리의 다른 글
| [모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 메서드의 핵심 설계 원칙과 종류 (0) | 2026.03.27 |
|---|---|
| [모든 개발자를 위한 HTTP 웹 기본 지식] 2. URI의 개념과 웹 브라우저의 요청 흐름 (0) | 2026.03.27 |
| [스프링 핵심 원리 - 기본편] 17. 빈 스코프(Singleton, Prototype, Request, Proxy) (0) | 2026.03.24 |
| [스프링 핵심 원리 - 기본편] 16. 빈 생명주기 콜백 (0) | 2026.03.24 |
| [스프링 핵심 원리 - 기본편] 15. 조회한 빈이 모두 필요할 때: List, Map 활용 (0) | 2026.03.21 |