[network] TCP와 UDP

Tae_Tae·2024년 10월 2일
0

이것저것

목록 보기
4/8

TCP (Transmission Control Protocol)


TCP는 연결 지향적 프로토콜로 안정적인 데이터 전송을 보장한다.
TCP는 데이터를 패킷으로 나누어 전송하고, 전송된 패킷이 정확히 도착했는지 확인하며, 도착하지 않은 패킷은 재전송합니다.
이 과정에서 연결을 설정한 후 통신을 시작하므로 데이터 전송의 신뢰성을 보장합니다.

TCP의 장점


  1. 신뢰성 : TCP는 전송된 데이터의 정확한 전달을 보장한다. 패킷 손실이나 오류가 있을 경우 재전송하여 데이터를 정확하게 전달합니다.

  2. 순서 보장 : 데이터를 보낼 대 패킷의 순서를 보장하는데, 수신 측에서는 전송된 순서대로 데이터를 받을 수 있다.

  3. 흐름 제어 : 수신자의 처리 능력에 맞춰 데이터를 전송하여 네트워크 혼잡을 방지한다.

TCP의 단점


  1. 느린 속도 : 연결을 설정하고 패킷을 확인하는 과정이 필요하기 때문에 속도가 느릴 수 있다.

  2. 오버헤드 : 데이터 손실을 방지하기 위한 제어 정보가 추가로 필요하여, 오버헤드가 증가할 수 있다.

  3. 복잡성 : 연결 지향적인 프로토콜로서 구현이 복잡하고, 추가적인 처리가 필요하다.

UDP (User Datagram Protocol)


UDP는 비연결성 프로토콜로 데이터를 패킷 단위로 전송하지만, 데이터가 제대로 도착했는지 확인하지 않습니다.
패킷 손실, 오류, 순서 변경 등의 문제가 발생할 수 있지만 빠른 전송 속도를 제공한다.

UDP의 장점


  1. 빠른 속도 : 연결을 설정하지 않고 즉시 데이터를 전송하기 때문에 전송 속도가 매우 빠르다.

  2. 단순성 : 오류 검출과 복구 과정이 없어 프로토콜이 간단하고 오버헤드가 적다.

  3. 멀티캐스트 지원 : 여러 클라이언트에게 동시에 데이터를 전송할 수 있는 기능을 지원합니다.

UDP의 단점


  1. 신뢰성 부족 : 패킷 손실이나 순서 변경에 대해 보장하지 않으므로 데이터를 전송한 후에는 정확한 수신 여부를 확인할 수 없다.

  2. 순서 보장 없음 : 수신 측에서는 전송된 패킷의 순서를 보장하지 않기 때문에 데이터의 순서가 뒤죽박죽인 상태로 도착할 수 있다.

  3. 흐름 제어 없음 : 송신자가 데이터를 너무 빨리 보내면 수신자가 처리하지 못해 데이터가 손실 될 수 있다.

비교


항목TCPUDP
연결 지향성연결 지향적비연결성
신뢰성높은 신뢰성신뢰성 낮음
속도느림빠름
흐름 제어있음없음
사용 예시웹 브라우징, 이메일, 파일 전송스트리밍, 온라인게임,VoIP

결론


데이터의 정확한 전송과 순서가 중요한 경우 TCP를 사용하는 것이 합리적이고
실시간 스트리밍이나 온라인 게임처럼 빠른 속도의 데이터 전송이 필요한 경우 UDP를 사용하는 것이 더 효과적으로 보입니다.

0개의 댓글