본문 바로가기
Unity

[Unity] UDP 통신과 TCP 통신의 차이점

by ifhead 2022. 8. 19.
반응형


통신은 서버와 클라이언트 사이에서 일어나는 정보 교환입니다.

클라이언트는 고객(갑)이고, 서버는 사업자(을)입니다.

요청하는 컴퓨터를 클라이언트 컴퓨터, 응답하는 컴퓨터를 서버 컴퓨터라고 부릅니다.

게임의 경우 사용자의 컴퓨터에 설치된 프로그램은 게임 클라이언트라고 합니다.

게임회사의 서버 컴퓨터에 설치된 프로그램은 게임 서버라고 부릅니다.

 

TCP / UDP

TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜입니다. 

 

 

공통점 1. 포트 번호로 서비스를 식별한다.
TCP와 UDP는 ‘포트 번호’라는 숫자를 이용하여 컴퓨터 안의 어떤 서비스(애플리케이션)에게 데이터를 전달하면 좋은지를 식별합니다.

 

공통점 2. 데이터 오류 검사를 위한 체크섬 Checksum이 있다.

 

UDP의 특징

  1. 연결 없이 통신을 시작할 수 있다.
  2. 데이터 경계를 구분한다. (데이터그램)
  3. 정보를 주고받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
  4. 데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않으므로 신뢰성 없는 데이터를 전송한다. 
  5. 패킷 오버헤드가 적어 네트워크 부하가 감소되는 장점.
  6. 상대적으로 TCP보다 전송속도가 빠르다.
  7. 중간에 패킷이 유실되거나 변조되어도 재전송하지 않는다.

 

TCP의 특징

  1. 연결이 성공해야 통신이 가능하다.
  2. 데이터의 경계를 구분하지 않는다. (바이트 스트림 서비스)
  3. 데이터의 전송 순서를 보장한다. (데이터의 순서 유지를 위해 각 바이트마다 번호를 부여)
  4. 신뢰성있는 데이터를 전송한다. (Sequence Number, Ack Number를 통한 신뢰성 보장)
  5. 데이터 흐름 제어(수신자 버퍼 오버플로우 방지) 및 혼잡 제어(패킷 수가 과도하게 증가하는 현상 방지)
  6. 연결의 설정(3-way handshaking)과 해제(4-way handshaking)
  7. 전이중(Full-Duplex), 점대점(Point to Point) 서비스
  8. UDP보다 전송속도가 느리다.

 

차이점 요약

  TCP UDP
연결 방식 연결 필요 연결 불필요
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장 전송 순서가 바뀔 수 있음
수신 여부 확인 수신 여부를 확인함 수신 여부를 확인하지 않음
통신 방식 1:1 통신 Only n대n 모두 가능
신뢰성 높음 낮음
속도 느림 빠름

 

반응형

댓글