본 내용은 “성공과 실패를 결정하는 1%의 네트워크” 를 참고하여 작성하였습니다.
TCP의 경우에는 데이터를 패킷 단위로 나누어서 보내게 되고, 패킷이 소실되게되면 다시 보내는 동작을 하게 되는데 이때 이렇게 전체 데이터가 아닌 패킷만을 보낼수 있도록 하는 것을 TCP가 처리해주게 된다.
하지만 만약 데이터가 단 하나의 패킷에 들어갈정도로 작다면????? 굳이 이렇게 어느정도의 패킷이 오는지 혹은 패킷이 제대로 도착했는지에 대해서 전달할 필요 없이 다시 데이터를 받는것이 더 효율적이다.
이처럼 간단한 단 하나의 패킷으로도 충분히 데이터가 전달될때는 굳이 TCP의 복잡한 동작을 필요로 하지 않는다.
이때 사용하는것이 UDP 프로토콜이다.
즉 다음과 같은 경우에 UDP를 사용하게 된다.
- 수정 송신이 필요 없는 경우
- 제어용 짧은 데이터
- 음성 및 동영상
수정 송신이 필요없는경우, 제어용 짧은 데이터
중간에 패킷이 없어지더라도, 패킷을 보낸후 회답이 오지 않기 때문에 수신한 측에서 다시 데이터를 보내는것
이를 통해서 복잡한 데이터의 패킷의 위치나, 시퀸스 넘버를 알거나 계산할 필요가 없기 때문에 빠르고 어플리케이션의 부담이 줄어든다.
음성 및 동영상
음성과 동영상의 경우에는 데이터 도착의 지연이나, 재생 타이밍이 맞지 않아서 끊김이 발생할 경우가 생기게 된다.
기존의 TCP 프로토콜의 방법을 통해서는 데이터의 전달과 그 사이에 검사하는 사이에서 간극이 발생하기 때문에 이는 음성과 동영상에 매우 취약하게 된다.
따라서 상대적으로 빠른 UDP를 사용하게 되는것이다.
Uploaded by N2T