HTTP

[HTTP] 인터넷 네트워크(IP, TCP, UDP, DNS)

cornarong 2021. 8. 9. 23:02

IP (인터넷 프로토콜)

송신호스트와 수신호스트가 패킷교환 네트워크(패킷 스위칭 네트워크)에서 정보를 주고받는데 사용하는 정보 위주의 규약 (* 인터넷안에서 컴퓨터 또는 서버들간에는 IP 프로토콜을 통해 통신하게 된다)

 

IP프로토콜의 한계

1. 비 연결성

- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 (우선 보낸다 우편을 보내듯)

2. 비 신뢰성

- 중간에 패킷이 사라지면? (패킷 손실)

- 패킷이 순서대로 가지 않으면? (1, 2, 3 -> 1, 3, 2)

3. 프로그램 구분

같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? (음악을 듣고 게임을 하는 등..)

 

TCP (전송 제어 프로토콜)

- 데이터 메시지를 IP 패킷으로 감싸기 전에 TCP 패킷으로 감싸 IP프로토콜 한계를 TCP 패킷이 보완해준다.

TCP  특징

비 연결성 -> 연결지향 - TCP 3 way handshake(가상 연결)


비 신뢰성 -> 데이터 전달 보증


비 신뢰성 -> 순서 보장


프로그램 구분 -> PORT로 구분

* PORT 쉽게 생각하기 : IP주소(아파트), PORT(몇동 몇호)


UDP (사용자 데이터그램 프로토콜)

UDP는 간단하게 IP프로토콜이랑 비슷하다고 생각하면 된다.

+ PORT 번호와 체크섬 기능이 들어있다.

 

1. 연결 지향 - TCP 3 way handshake (X)

2. 데이터 전달 보증 (X)

3. 순서 보장 (X)

4. 단순하고 빠르다.


DNS (도메인 네임 시스템)

1. IP는 기억하기 어렵다.

2. IP는 변경될 수 있다.

 

이러한 문제점을 보완한 시스템이 DNS이다.

1. 전화번호부라고 생각하면 쉽다.

2. 도메인명을 IP주소로 변환해서 전달해준다.


 

 

 

 

 

 

 


Reference

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/

'HTTP' 카테고리의 다른 글

[HTTP] 캐시(cache)와 조건부 요청  (0) 2021.12.06
[HTTP] HTTP 상태코드  (0) 2021.11.22
[HTTP] 데이터 요청 - HTTP API(REST API)  (0) 2021.07.26
[HTTP] 데이터 요청 - POST  (0) 2021.07.25
[HTTP] 데이터 요청 - GET  (0) 2021.07.25