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)
소켓 옵션 (0) | 2021.11.08 |
---|---|
UDP 서버실습 (0) | 2021.11.06 |
TCP서버 실습 (0) | 2021.11.05 |
소켓 프로그래밍 기초 #2 (0) | 2021.11.04 |
소켓 프로그래밍 기초 #1 (0) | 2021.11.03 |
댓글 영역