TPC/UDP

[Java] TPC와 UDP의 특징 살펴보기
Jan 08, 2024
TPC/UDP
TCP(Transmission Control Protocol) : 전송 제어 프로토콜 UDP(User Datagram Protocol) : 사용자 데이터그램 프로토콜
notion image

TCP 통신

🌟
데이터를 보냈을 때 응답을 보내고 그 응답(ACK, acknowledge)에 대한 응답을 보냄.

특징

  • 스트림 전송으로 전송 데이터의 크기가 무제한입니다.
  • 패킷에 대한 응답이 필요하기 때문에 성능이 낮습니다.
  • Streaming 서비스에 불리합니다.
  • 신뢰성있는 데이터를 보내기에 적합합니다.
 

데이터 통신 과정

A,B,C의 데이터 abc를 D로 전송하는 과정(패킷 스위칭)
A,B,C의 데이터 abc를 D로 전송하는 과정(패킷 스위칭)
  1. 데이터들을 Segment 단위로 잘게 쪼개어 포장하여 패킷상태로 라우터에 전송한다.
      • 패킷에는 세그먼트, 목적지 주소, 출발지 주소가 있다.
  1. 반대쪽 라우터에 전송하여 D에 전송한다. (3 way handShaking)
  1. 패킷의 데이터를 재조립

UDP 통신

🌟
데이터를 데이터 그램 단위로 처리하는 프로토콜

특징

  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호 절차를 거치지 않습니다.
  • UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출합니다.
  • 신뢰성이 낮습니다.(3-way handshaking의 과정이 없기 때문)
  • TCP보다 속도가 빠릅니다.

IP(Internet Protocol)

🌟
호스트가 가지고있는 고유의 값(Host : 인터넷이 되는 모든 장치)

특징

  • 2가지 버전으로 IPv4(32bit)와 IPv6(128bit)가 있습니다.
  • IPv4는 최대 약 43억개의 고유한 주소를 제공합니다. 하지만 최근 인터넷의 급속한 성장으로 인해 이 주소들이 고갈되었고, 이에 대한 해결책으로 IPv6가 도입되었습니다.
  • 인터넷에서 데이터를 전송할 때는 대부분 신뢰성 있는 데이터 전송을 보장하는 TCP/IP라는 조합을 사용합니다.

통신 방식 종류

Simplex(단방향) : 데이터를 보내기만 하는 방식
Half Duplex(반이중) : 데이터를 보내면 응답해주는 방식 (웹)
  • 4개의 버터가 있음
  • Stateless (상태를 보존하지 않음)
Full Duplex(전이중, 양방향) : 두 장치 서로 동시에 데이터를 주고 받는 방식(카카오톡)
  • Thread가 2개 필요하다.
  • Stateful (상태가 사라지지 않는다.)
 
Share article
RSSPowered by inblog