[WEB] IP, TCP, UDP 프로토콜 특징
IP(인터넷 프로토콜)
지정된 서버(IP Adress)에 네트워크를 통하여 데이터를 전달한다.
패킷(Packet)이라는 통신 단위로 데이터를 전달한다.
패킷에는 출발지IP, 목적지IP, 전송데이터 등이 포함된다.
IP 프로토콜의 특징
비연결성 : 패킷을 받을 대상이 존재하지 않거나(정확한 IP가 아닌경우) 서비스 불능 상태여도 패킷전송
비신뢰성 : 데이터 전송중 다양한 이유로 패킷이 소실될 경우 상황을 알 수 없다.
- 패킷의 사이즈가 크면 분할되어 전송되는데 분할된 패킷의 순서를 보장하지 않는다.
프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션(PC에서 인터넷, 게임 등등..)이 둘 이상일때 구분이 불가능
TCP
전송 제어 프로토콜(Transmission Control Protocol)
TCP 프로토콜의 특징
연결지향 : 송수신 서버간의 연결 가능여부 확인 TCP 3 way handshake
1. 클라이언트에서 SYN 메시지 전송
2. 서버에서 SYN+ACK 메시지 전송
3. 클라이언트에서 ACK과 함께 데이터 전송
데이터 전송전에 해당 과정을 진행하여 양 서버간의 전송가능상태를 확인한다.
이로 인하여 데이터 전송 신뢰성 보장
데이터 전달 보증
TCP/IP는 서버에서 데이터 전송결과에 대한 메세지를 전송해주기 때문에 데이터 전달에 대한 결과 보증이 가능하다.
순서보장
TCP/IP 패킷의 전송제어, 순서, 검증정보 등을 사용하여 전송패킷의 순서를 보장할 수있다.
ex) 패킷의 크기가 클 경우 패킷이 나눠지는데 패킷1, 패킷2, 패킷3 의 순서로 전송된 데이터가 패킷1, 패킷3, 패킷2의
순서로 도착했다면 2번째 패킷부터 다시 보내라는 메세지를 클라이언트에 전송한다.
TCP/IP
TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말이다.
IP주소 체계를 따르고 TCP의 특성을 활용하여 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을
유지할 수 있도록 한다.
TCP/IP 패킷에는 IP패킷정보에 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보 등이 포함된다.
현재 대부분 TCP사용하고 있다.
UDP
사용자 데이터그램 프로토콜(User Datagram Protocol)
기능이 거의 없는 프로토콜로 데이터전달 보증, 순서보장, 연결지향X
데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다(TCP와 같이 연결 가능확인 단계X)
IP와 흡사하며 port, 포트섬등 추가
HTTP3 스펙에서 핸드쉐이크 처리까지 지원하기 때문에 최근 각광받는 프로토콜