더북(TheBook)

6.3 TCP와 UDP 이해하기

계속 말하지만, TCP는 광범위한 오류 제어와 흐름 제어를 제공하는 연결 지향 프로토콜입니다. UDP는 비교적 덜 정교한 오류 제어를 가진 비연결 프로토콜입니다. TCP는 안전성을 위해, UDP는 속도를 위해 만들어졌다고 할 수 있습니다. SSH와 FTP와 같은 상호작용적 세션을 제공해야 하는 애플리케이션은 보통 TCP를 사용합니다. 직접 오류를 검사하거나 오류 검사가 필요 없는 애플리케이션은 UDP를 사용합니다.

네트워크 애플리케이션을 설계하는 소프트웨어 개발자는 전송 프로토콜로 TCP 또는 UDP를 사용할 수 있습니다. UDP의 간단한 제어 메커니즘은 전송 프로토콜을 선택할 때 그리 단점이 되지 않습니다. 품질 보증이 낮다고 해서 품질이 떨어진다는 것을 의미하진 않습니다. 또한, TCP가 제공하는 추가적인 검사와 제어는 대부분의 애플리케이션에서는 필요하지 않습니다. 오류 제어와 흐름 제어가 필요한 경우, 몇몇 개발자는 애플리케이션 자체에서 이러한 제어 기능을 제공함으로써 특정 요구를 직접 설정할 수 있으며 네트워크 접근에 좀 더 유연한 UDP 전송을 사용하는 것을 선호합니다. 예를 들어 응용 계층의 RPC 프로토콜은 정교한 애플리케이션을 제공할 수 있지만, RPC 개발자들은 TCP 연결로 속도를 느리게 하는 것보다 전송 계층에서 UDP를 사용하고 애플리케이션을 통해 오류와 흐름을 제어하곤 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.