네트워크

TCP와 UDP의 특징과 차이점

forward error correction Circle 2022. 12. 27. 10:34
반응형

OSI 7계층 중 전송 계층(Transport Layer)에 속한 TCP와 UDP의 특징과 차이점입니다.

 

Ⅰ. TCP (Transmission Control Protocol)

TCP는 상대방에게 메시지를 하는 것처럼 상대에게 연결을 요청하고 응답이 오면 통신을 시작하게 됩니다.

이러한 과정을 Three Way Handshake 라고 합니다.

 

Ⅱ. TCP 의 특징

1. TCP 의 연결 지향적 특징

Three Way Handshake 과정을 A라는 사용자와 B 라는 사용자가 메시지를 주고 받을 때와 비교를 하면 다음과 같습니다.
 (1) A는 B에게 메시지를 보냅니다. (SYN)
 (2) B는 그 메시지에 대한 수신여부 + 메시지에 대한 응답을 A에게 보낸다. (SYN_ACK)
 (3) A는 B에게 받은 메시지에 응답을 보낸다. (ACK)

 

2. 신뢰성 보장과 흐름제어(Flow Control)

신뢰성 보장 : 서버와 클라이언트 간 데이터 송 수신 여부 확인 가능

 흐름제어 : Window size 를 통해 흐름제어 가능

3. 혼잡제어(Congestion Control)

 

 

Ⅲ. UDP (User Datagram Protocol)

 UDP 는 Three Way Handshake 라는 작업이 없기 때문에 비연결지향적 성격을 가지며, 오류의 검사와 수정이 필요 없는 애플리케이션에서 사용합니다. 스트리밍 분야나 VoIP, mVoIP에서 사용되고 있다. 실시간성 보장이 중요하기 때문에 TCP로 하면 매우 비효율적인 시스템입니다.

 

Ⅳ. UDP 의 특징

 1) 비연결성 지향적 특징

Three Way Handshake 작업이 없기 때문에 TCP 에 비해 빠른 속도로 통신을 할 수 있음

 2) 신뢰성 보장, 혼잡제어, 흐름제어 제공, 오류제어  X

데이터가 빠짐없이 전송되는 것보다는 빠른 응답속도가 중요한 경우

흐름 제어, 혼잡 제어, 오류 제어를 하지 않으므로 손상된 세그먼트에 대한 재전송을 하지 않음.

 

Ⅴ. UDP와 TCP 비교

TCP는 데이터를 송수신할 서버와 클라이언트 간에 먼저 연결을 설정하고 설정된 연결을 통해 양방향으로 데이터를 전송하지만, UDP는 데이터를 송수신할 서버와 클라이언트 간 연결을 설정하지 않고 수신자가 데이터를 받을 준비를 확인하는 단계를 거치지 않고 단방향으로 정보를 전송합니다.

 - 신뢰성 : TCP는 메시지 수신을 확인하지만 UDP는 수신자가 메시지를 수신했는지 확인할 수 없다.

 - 순서 정렬  : TCP에서는 메시지가 보내진 순서를 보장하기 위해 재조립하지만

                       UDP는 메시지 도착 순서를 예측할 수 없다.

 - 부하 : TCP보다 속도가 일반적으로 빠르고 오버헤드가 적다

 

서비스  TCP UDP
신뢰성 신뢰성 비신뢰성
연결 연결지향 비연결지향
패킷순서  패킷 순서 내 순서번호(시퀀스 사용) X
혼잡제어  혼잡해질 경우 통보 O 혼잡해질 경우 통보 X
속도 / 오버헤드 많은 자원 사용, UDP 보다 느림 적은 자원 사용, TCP 보다 빠름

 

반응형