TCP vs UDP
TCP 와 UDP 는 OSI 7 Layer 와 TCP/IP 모델의 전송계층에서 사용되는 프로토콜이다.
전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고, IP에 의해 전달되는 오류를 검사하며 재전송 제어를 담당하는 계층이다.
TCP (Transmission Control Protocol)
인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 사용되는 프로토콜
컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(프로토콜)의 일종이다. 한국어로 번역하면 전송 제어 프로토콜. TCP는 세계 통신표준으로 개발된 OSI 모형에서 4번째 계층인 전송 계층(Transport Layer)에서 사용하는 규약으로 보통 하위 계층에 사용하는 IP 와 묶어서 TCP/IP 라고 한다.
3 way handshaking 과 혼잡제어, 흐름제어를 통해 신뢰성을 보장한다.
TCP 의 특징
- 연결 지향 방식 ( 연결이 성공해야 통신이 가능 )
- 3-way handshaking 과정을 통해 연결을 생성하고 4-way handshaking 을 통해 해제한다
- 흐름 제어 및 혼잡 제어
- 높은 신뢰성을 보장하지만 속도는 UDP 보다 느리다
TCP 의 단점
- 1:1 통신만 가능하다.
- 데이터로 보내기 전에 연결이 반드시 형성되어야한다.
3 way Handshake 방식
3way handshake 방식은 서로 통신을 위한 Port 를 확인하고 연결하기 위해 3번의 요청/ 응답 후에 연결이 되는 것을 의미한다.
이로 인해 UDP 보다 느리지만 더 뛰어난 보안을 가지게 된다. 과정은 다음과 같다
- 클라이언트는 서버에 접속을 요청하는 SYN 패킷 전송, 이때 클라이언트는 SYN/ACK 응답을 기다리는 상태
- 서버는 SYN 요청을 받고 ACK 와 SYN flag 가 설정된 패킷을 발송하고, 다시 ACK 응답을 기다림
- 클라이언트는 다시 서버에 ACK 를 보내고 이후로부터 연결이 이루어지고 데이터가 오가게된다. 이때 서버의 상태가 ESTABLISHED 이다.
UDP(User Datagram Protocol)
데이터그램 단위로 처리하는 프로토콜
User Datagram Protocol의 축약어로 컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(프로토콜)의 일종이다.
TCP 와 가장 큰 차이점은 UDP 가 보장해주는 신뢰성 기능이 없다는 점이다.
속도가 중요한 통신에서 주로 사용된다. ( 스트리밍 등 )
UDP 의 특징
- 비연결형 서비스로 데이터그램 방식을 통한 통신
- 정보를 주고 받을때 정보를 보내거나 받는 신호절차가 없음
- 신뢰성이 낮지만, TCP 보다 속도가 빠름
- 1:1 뿐만 아니라 N:N, 1:N 통신 모두 가능
UDP 의 단점
- 데이터의 신뢰성이 부족하다
- 서버 구축에 패킷관리가 필수
Reference
https://mangkyu.tistory.com/15
https://coding-factory.tistory.com/614
'Computer Science' 카테고리의 다른 글
[NETWORK] 웹프로토콜 이란 (0) | 2023.01.10 |
---|---|
[NETWORK] Base64 인코딩이란? (0) | 2023.01.10 |
[NETWORK] HTTP 의 State Code 설명 (0) | 2023.01.10 |
[NETWORK] HTTP 의 GET, POST 비교 (0) | 2023.01.10 |
[NETWORK] HTTP 와 HTTPS (1) | 2023.01.10 |