상세 컨텐츠

본문 제목

TCP vs UDP

똑똑한 개발/C++ 게임개발

by 성댕쓰 2021. 11. 5. 23:46

본문

TCP와 UDP의 차이를 비교해보면서 각각의 특성을 알아보자.

TCP와 UDP는 네트워크 단계중 트랜스포트 단계에서 정의하는 통신방식이다.

 

연결지향성

TCP UDP
연결을 위해 할당되는 논리적인 경로가 있다. 연결이라는 개념이 없다.
전송 순서가 보장된다. 전송 순서 보장 안한다.
boundary 개념 없다. boundary 개념 있다.

송신자가 |Hello| |World|를 보냈을 때,

TCP는 전송 순서가 보장되고 boundary의 개념이 없기 때문에 |HelloWor| |ld|로 받을 가능성이 있다.

UDP는 전송 순서가 보장되지 않고 boundary 개념이 있기 때문에 |World| |Hello|로 받을 가능성이 있다.

 

 

속도와 신뢰성

TCP UDP
분실이 일어나면 책임지고 다시 전송한다. 분실에 대한 책임 없음.
패킷을 주고 받을 상황이 아니면 일부만 보냄.(흐름/혼잡제어) 일단 보낸다.
고려할 것이 많아 속도가 Bad 단순하여 속도 Good

수신자 RecvBuffer가 가득차있을 때,

흐름/혼잡제어로 TCP는 패킷을 보내지 않는다. 반면 UDP는 수신자 환경을 고려하지 않기 때문에 패킷을 보내고 보낸 패킷은 유실될 가능성이 있다.

 

참조 : [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 - 인프런 | 강의 (inflearn.com)

'똑똑한 개발 > C++ 게임개발' 카테고리의 다른 글

소켓 옵션  (0) 2021.11.08
UDP 서버실습  (0) 2021.11.06
TCP서버 실습  (0) 2021.11.05
소켓 프로그래밍 기초 #2  (0) 2021.11.04
소켓 프로그래밍 기초 #1  (0) 2021.11.03

관련글 더보기

댓글 영역