-
TCP vs UDP 설명network 2023. 10. 23. 14:53더보기
TCP vs UDP 특징 & 비교
TCP 와 UDP는 데이터 전송을 위해 사용되는 프로토콜이다. OSI 7계층중 전송계층에(Transport Layer) 속한다.
더보기전송계층이란?
전송계층은 통신 서비스를 제공하는 계층으로, 데이터의 전달을 담당한다.
이에 TCP 와 UDP가 해당된다.
1. TCP(Transmission Control Protocol)
데이터가 패킷단위로 나누어져서 전송되는 프로토콜.
일반적으로 TCP와 IP를 함께 사용하는데, IP는 데이터의 배달을 처리한다면,TCP는 패킷을 추적 및 관리하게 됩니다.
TCP는 신뢰성있는 데이터 전송을 위해 확인 작업을 거치는데 TCP는 패킷을 전송하면 ACK라는 신호를 날리고 이 신호가 제 시간에 도착하지 않으면 TimeOut이 발생하여 패킷 손실이 일어난 패킷을 다시 전송해줍니다. 따라서 TCP의 경우 Streaming과 같은 서비스에 불리합니다. (손실된 경우 데이터를 재전송 하므로)
더보기[특징]
- 연결 지향적 프로토콜이다 -> 클라이언트가 서버에 연결 요청을 하고, 서버가 연결을 수락하면 통신 선로가 정해지고 데이터들이 순차적으로 전송된다.
- 3 way handshake를 통해 연결을 설정하고 4 way handshake를 통해 해제한다.
- 3 way handshake - 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이터 전달이 시작하기 전에 다른 한쪽이 준비되었다는 것을 알 수 있도록 해준다.
- 4 way handshake - 4 way handshake는 세션을 종료하기 위해 수행되는 절차를 말한다.
- 흐름 제어 O
- 혼잡 제어 O
- 높은 신뢰성
- UDP보다 속도가 느리다.
- 데이터 전송 순서 보장
- 1 : 1 통신만 가능하다.
2. UDP(User Datagram Protocol)
데이터를 데이터 그램 단위로 처리하는 프로토콜.
비연결 지향적 프로토콜이다. 데이터를 주고받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식을 말합니다. TCP와 다르게 패킷이 유실이나 변조가 되어도 재전송을 하지 않으므로 TCP보다 더 빠른 전송을 할 수 있습니다. 하지만 데이터 전달에 신뢰성이 떨어질 수 있습니다.
Streaming과 같은 서비스에 적합합니다.
더보기[특징]
- 비연결형 서비스로 연결 없이 통신이 가능하며 데이터그램 방식을 제공한다.
- 정보를 주고 받을때 정보를 보내거나 받는다는 신호를 주고 받지 않는다.
- 낮은 신뢰성
- TCP보다 속도가 빠르다.
- 흐름 제어 X -> 패킷이 제대로 전송 되었는지, 오류는 없는지 확인 불가능
- 혼잡 제어 X
- 1:1, 1:N, N:N 통신 모두 가능
참고
https://mangkyu.tistory.com/15
'network' 카테고리의 다른 글
Cookie(쿠키)란? (0) 2023.10.23