본문 바로가기
Programming/Network

[Network] TCP와 UDP를 사용하기 위한 적절한 환경

by prinha 2021. 2. 13.
반응형

 

1. TCP의 특징

TCP/IP는 가장 널리 사용되는 정보 전달을 해주는 연결형 프로토콜이다. 널리 사용되는 만큼 가장 신뢰성이 높고 다양한 운영 체제의 네트워킹을 제공한다. TCP/IP는 패킷 교환 방식을 사용하는데, 이 프로토콜을 사용하고 있는 사용자간에 데이터 교환이 가능하다.

일반적으로 TCP는 전자메일이나 www서비스에서 사용되는데, 출발지 호스트의 포트에서 목적지 호스트의 포트로 데이터 스트림을 전달하는 프로토콜로 응용 프로그램과 IP 사이에서 매개체로 동작한다. TCP는 두 호스트 사이의 데이터 동시 전송이 가능한 양방향 통신을 지원하며, TCP를 사용한 대표적인 응용 프로토콜로는 FTP, telnet, SMTP, HTTP 등이 있으며 각각의 포트 번호를 사용한다. 또한 사용하는 응용 프로그램의 데이터 스트림을 세그먼트로 구성하는데, 데이터 스트림이 하나의 세그먼트로 구성하기 적절하지 않을 경우에는 여러 개의 세그먼트로 나누어 각각의 세그먼트에 번호를 부여한다.

 

2. UDP의 특징

UDP는 실시간 전송이 요구되는 비 연결형 프로토콜이다. 주로 IP전화나 스트리밍 서비스 등에 사용되는데, 데이터의 안정된 전송을 보장하지는 못한다. 대부분 적은 양의 데이터를 전달하고자 할 때 사용되며 브로드캐스팅, 멀티캐스팅에 사용된다.

UDP를 사용하는 응용 프로토콜로는 TFTP, SNMP 등이 있는데 연결 방식은 TCP와 달리 세션이 성립할 필요가 없으며 송신 호스트는 수신 호스트의 포트 정보를 포함한 UDP 패킷을 보낸다. 만약 발신 호스트의 응답이 필요하면 송신 호스트의 포트 정보를 포함시키기도 한다.

 

3. TCP와 UDP의 차이점과 적절한 환경

TCP와 UDP의 가장 큰 차이점은 TCP는 연결형 프로토콜로 데이터 신뢰성을 중요시하며, UDP는 비 연결형 프로토콜로 신뢰성보다는 속도를 중요시한다는 점이다. 데이터의 전송에 있어 TCP는 재전송을 염두에 두고 데이터를 교환하지만 UDP는 그 과정이 생략되어 있어 TCP보다 빠른 속도를 가지고 있다. TCP와 UDP의 전송 방식 차이점을 쉽게 들어보면, TCP는 송수신 측이 서로 통신할 준비가 되어 있어야하지만 UDP는 통신 준비를 확인하지 않기 때문에 데이터가 전송되지 않을 수도 있다. 수신 방식에도 차이가 있는데, TCP는 수신 순서가 송신 순서와 동일하지만 UDP는 송신 순서와 수신 순서가 같지 않다. TCP는 연결형 서비스이기 때문에 오류제어와 흐름제어가 있는 반면 TDP에는 거의 없다는 것 또한 가장 큰 차이점이다.

TCP는 데이터 송신 중 패킷 분실이 일어났을 경우 재전송을 요청할 수 있고, 전송 순서를 수신지에서 재조합할 수 있어 신뢰성을 보장하는 환경에서 사용해야한다. 반대로 UDP는 실시간 멀티미디어 정보를 처리할 때 사용하는 것이 좋은데, 패킷 소실이 있어도 다음 패킷을 수신하므로 실시간 처리에 적합하기 때문이다.

 

반응형