C#

TCP - UDP의 이해

monstro 2024. 12. 25. 16:33
728x90
반응형

이번 포스트에서는 TCP와 UDP를 적용하기 이전에 간단하게 이 둘을 훌어보도록 하겠습니다.

TCP와 UDP 모두 OSI 7계층 모델을 5개로 나타낸 TCP/IP 모델의 4층에 위치합니다.

 

 

전송 계층에서 사용하는 프로토콜이며 두 프로토콜의 차이점을

몇 가지 기준으로 비교해보도록 하겠습니다.

 

1. 연결 지향성의 시각

1 - 1) TCP

연결 지향의 시각으로 보면 TCP연결형 서비스입니다.

연결을 위해 할당되는 논리적인 경로가 있고 전송 순서가 보장된다

1 - 2) UDP

연결 지향의 시각으로 보면 UDP비연결형 서비스입니다.

연결이라는 개념 자체가 없기에 논리적인 경로가 없고 전송 순서가 보장되지 않습니다.

 

2. 속도와 신뢰성의 시각

2 - 1) TCP

속도와 신뢰성의 시각으로 보면 TCP신뢰성은 높지만 속도는 낮습니다.

TCP에서는 보내는 데이터가 분실되면 다시 전송합니다.

또, 혼잡제어를 통해 통신이 정상적으로 이뤄질 수 없는 상황에서는 일부만 전송합니다.

신뢰성을 보장할 수 있지만 그만큼 고려할 사항이 많아져 전송 속도가 느립니다.

 

2 - 2) UDP

속도와 신뢰성의 시각으로 보면 UDP신뢰성은 낮지만 속도는 높습니다.

UDP에서는 보내는 데이터가 분실되어도 아무것도 하지 않습니다.

또, 받는 쪽의 상황을 고려하지 않고 그냥 전송합니다.
신뢰성을 확보할 순 없지만 단순하게 동작하므로 전송 속도가 빠릅니다.

 

따라서 필요한 상황에 맞춰서

TCP를 사용할 것인지, UDP를 사용할 것인지를 결정하면 됩니다.

728x90
반응형

'C#' 카테고리의 다른 글

PacketSession  (0) 2024.12.31
RecvBuffer와 SendBuffer  (0) 2024.12.30
Connect를 위한 Connector 생성  (0) 2024.12.25
Session_2  (0) 2024.12.24
Session_1  (0) 2024.12.24