HTTP를 시작하기 이전 기초적인 네트워크 프로토콜에 관련한 내용
IP(Internet Protocol)
인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약
IP는 지정한 IP 주소에 패킷이라는 통신 단위로 데이터를 전달하며 IP 패킷은 다음과 같이 이루어져 있다

출발지(클라이언트)와 목적지(서버)를 구분할 수 있는 주소를 추가하여 우리가 전달하고자 하는 정보가 어디로 가야하는지 알려준다.
IP의 특징
1. 비연결성
* 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다. 출발지는 목적지가 패킷을 받을 수 있는 상태인지 확인할 수 없다.
2. 비신뢰성
* 패킷의 소실 혹은 순서를 보장하지 않는다.
3. 프로그램 구분 불가
* 만약 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 구분할 수 없다. (IP 주소만 가지고 있기 때문)
TCP(Transmission Control Protocol)

인터넷 프로토콜 스택은 위와 같이 4계층으로 이루어져 있다.


IP의 위에 TCP를 덮어서 출발지, 목적지에 대한 추가 정보를 쌓는다.
TCP의 특징
1. 연결지향 - TCP 3 way handshake (가상연결)
* 패킷을 전송하기 전 SYN / SYN + ACK / ACK 의 3단계를 거쳐 서버가 현재 응답할 수 있는 상황인지 확인
2. 데이터 전달 보증
* 데이터가 소실되지 않고 받았는지 확인 가능
3. 순서 보장
* 올바른 순서로 도착하지 않은 경우 순서에 맞게 다시 요청
-> 신뢰할 수 있는 프로토콜
+ PORT 정보가 추가되어 같은 서버 내에서 애플리케이션을 구분할 수 있다.
(IP는 아파트, PORT는 동호수 같은 느낌. 아래에서 추가 설명)
UDP(User Datagram Protocol)
UDP의 특징
1. 하얀 도화지에 비유(기능이 거의 없음)
* 따라서 사용자가 커스터마이징 가능
2. 연결지향 X -> TCP 3 way handshake가 없음
3. 데이터 전달 보증 X
4. 순서 보장 X
5. 단순하고 빠름
-> IP와 거의 비슷함. PORT 정보와 체크섬 정도만 추가
PORT
한 번에 둘 이상 연결해야 하는 경우 애플리케이션을 구분할 수 없음

게임 패킷, 화상통화 패킷, 웹 브라우저 요청 패킷이 모두 섞여 엉뚱한 곳으로 갈 수 있음
-> 같은 IP 내에서 프로세스를 구분할 수 있는 수단이 필요

DNS(Domain Name Service)
IP는 기억하기 어렵고 변경될 수 있기 때문에 해당 문제를 해결하기 위해 DNS를 사용

DNS 서버가 도메인 명으로 들어온 요청을 IP 주소로 매핑
'Computer Science' 카테고리의 다른 글
| HTTP - header1 (0) | 2025.08.15 |
|---|---|
| HTTP - 상태 코드 (0) | 2025.08.15 |
| HTTP - 메서드 (0) | 2025.08.14 |
| HTTP - 소개 (0) | 2025.08.14 |
| HTTP - URI와 웹 브라우저 요청 흐름 (0) | 2025.08.14 |