IP(인터넷 프로토콜)
역할
- 지정한 IP 주소로 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
- IP 패킷 정보 : 출발지 IP, 목적지 IP, 기타, 전송데이터
- IP 패킷 내 IP 주소를 통해 멀리 있는 노드 간의 통신
한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스가 불능 상태여도 패킷 전송
- 비신뢰성 : 중간에 패킷이 사라지거나, 패킷의 순서가 바뀔 수 있다
- 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 둘 이상인 경우
- 한 PC에서 게임과 음악을 같이 하는 경우, 서버의 데이터가 게임의 데이터인지 음악의 데이터인지 알 수 없음
TCP, UDP
프로토콜 계층

- 어플리케이션에서 통신 요청을 하면, 1. Socket 라이브러리를 통해 전달, 2. TCP 정보 생성 + 메세지 데이터 포함, 3. IP 패킷 생성, TCP 데이터 포함의 과정 등을 거쳐 인터넷으로 전송되게 된다.
TCP/IP 패킷 정보
TCP 패킷 정보 : 출발지 port, 목적지 port, 전송 제어, 순서, 검증 정보 …
- port : 동일 IP의 application 간의 구분
TCP 특징
- 전송 제어 프로토콜(Transmission Control Protocol)
- 연결지향(TCP 3way handshake) : syn → syn/ack → ack의 과정으로 서로 연결되었다는 것을 확인
- 데이터 전달 보증 : 클라이언트가 데이터를 보내면, 서버에서 데이터를 받았다고 전달
- 순서 보장 : 패킷에 순서가 존재하기 때문에, 서버에서 순서를 확인해 잘못된 순서로 들어온 경우, 패킷 재요청
TCP 3-way handshake

UDP 특징
- 연결지향 X, 데이터 전달 보증 X, 순서 보장 X
- IP와 거의 동일 + port + 체크섬
- 지켜야 하는 규약이나 추가 해야 할 정보가 적기 때문에 속도가 빠르다.
- 따라서 어플리케이션에서 별도의 처리를 해줘야 한다.
Port
- 같은 IP 내에서의 프로세스 구분
- 클라이언트에서 전달할 때 자신의 port(출발지 port)를 패킷 정보에 넣어서 전달
- 0 ~ 65535 : 할당 가능한 포트
- 0 ~ 1023 : 잘 알려진 포트, 대부분 할당되어 있기 때문에 사용하지 않는 것이 좋다.

DNS
- IP의 단점
- 기억하기 어렵다.
- IP는 변경되기 쉽다.
- DNS(Domain Name System) : 도메인 명을 IP 주소로 변환

출처
- 모든 개발자를 위한 HTTP 웹 기본 지식(inflearn)
'CS > HTTP' 카테고리의 다른 글
| HTTP 상태코드 (0) | 2023.12.08 |
|---|---|
| HTTP 메서드 활용 (1) | 2023.12.08 |
| HTTP 메서드 (0) | 2023.12.08 |
| HTTP 기본 (1) | 2023.12.08 |
| URI와 웹 브라우저 요청 흐름 (0) | 2023.12.08 |