reference: "하루 3분 네트워크 교실" / 아미노 에이지
source: https://shjz.tistory.com/98
TCP의 단점은 그 '정확', '확실'이 독이 될 수 있다는 것이다. 3-way 핸드쉐이크, 에러 복구, 흐름제어 등..
특히 확인 응답을 기다리는 시간이 치명적이다. 무엇을 하더라도 일정시간 기다려야 한다. 따라서 TCP가 전송 효율의 저하를 일으키는 원인이 될 수 있다.
이러한 TCP의 단점을 뒤집으면 UDP의 장점이 될 수 있다. UDP의 헤더에는 보면 포트 번호 이외엔 아무것도 없다.
UDP는 아무것도 하지 않기에 확인응답에 걸리는 시간 등이 필요 없다. => 전송 효율이 떨어지지 않는다.
이것이 UDP의 장점이자 최대 특징이다. 즉, UDP는 고속이라는 점이다.
UDP에서는 고속성, 즉 효울이 높다는 점을 살려서 고속성이나 실시간 송수신이 필요한 애플리케이션, 예를 들면 VoIP(Voice over IP)나 동영상 스트리밍 배포등에 사용된다.
스트리밍 배포: 데이터를 스트림으로 배포하는 것. 대부분의 경우 다운로드하면서 동시에 재생하는 것을 가리킨다.
또한 브로드캐스트가 필요한 애플리케이션도 사용된다. TCP에서는 동시에 복수로 송신하는 브로드캐스트와 같은 통신은 굉장히 어려운 것이다. 상대를 전부 알고 있어야 하고, 각각에 대해 커넥션을 확립하려고 하면 송수신이 많아지는데다 각각에 사용하는 버퍼를 준비하지 않으면 안되기 때문이다. (전체에게 통신하기 위해서는 전체와 커넥션을 확립해야만 함.)
TCP의 단점인 '전송 효율의 저하'와 '브로드캐스트를 사용할 수 없다.'라는 단점
=> UDP에서는 '전송 효율이 저하되지 않는다.'와 '브로드캐스트를 사용할 수 있다.'라는 장점이 된다.