본문 바로가기
[ ★ ]Study/Network

UDP 프로토콜

by nroses-taek 2017. 6. 12.

OSI 7 Layer 중 4계층에 해당되는 전송계층에서 2가지 대표적인 프로토콜은 TCP와 UDP라는 것을 다들 알고 있을 것이다.

그 중에서 이제 UDP를 공부할 차례이다.


UDP(User Datagram Protocol) 프로토콜은 인터넷 주요 프로토콜 중 하나로 OSI 모델에서 TCP와 동일하게 Transport Layer에서 사용되는 통신 규약으로 다른 컴퓨터와 데이터를 주고받기 위한 통신 프로토콜 중 하나이다. UDP를 사용하난 서비스에는 DNS, IPTV, VoIP, TFTP, IP 터널 그리고 게임 등이 있으며 여러 특성을 가지게 된다.

- 효율과 속도 -

TCP 프로토콜과 비교할 때 UDP프로토콜의 가장 큰 강점은 프로토콜의 단숨함에서 시작한다. UDP프로토콜은 TCp프로토콜과 다르게 데잍터를 주고받기 위해서 어떠한 연결도 만들지 않는다. 뿐만 아니라 데이터를 정상적으로 받았는지 확인 응답 패킷도 사용하지 않으면서 데이터를 주고받는다. TCP와는 다르게 재전송을 하지 않는다는 말이다. 버리면 버리는 것.

TCP 프로토콜이 통신을 시작하는 과정과 통신을 종료하는 과정에서 각각 3way handshake, 4way handshake과정을 거치면서 데이터를 수신한 뒤에는 확인 응답 패킷을 보내는 것과 대조적이다. 따라서 UDP 프로토콜은 순수하게 데이터를 주고받는 통신 외에 추가적인 오버헤드가 없어 TCP프로토콜을 사용하여 데이터를 송수신하는 것보다 빠른 과정이라고 볼 수 있다.


- 안정성 및 신뢰성 -

UDP 프로토콜의 단순함은 효율과 속도를 높이는 장점을 주지만 한편으로는 안정성과 신뢰성을 떨어뜨리는 요소로 작용하게 된다. TCP 프로토콜과 달리 데이터를 전송한 뒤에 확인 응답 패킷을 받지 않기 때문에 데이터가 정상적으로 상대방에게 전달되었는지 알 수가 없다. 메시지는 전달되는 과정에서 변형될 수도 있으며, 유실될 수도 있다. 네트워크 상황 때문에 유실된 데이터는 복구할 수 없다. TCP와 다르게 혼잡 제어 및 흐름 제어를 못하기 때문에 상대적으로 안정적이지 못하다.

UDP 프로토콜이 효육과 속도가 노파는 장점이 있지만, TCP 프로토콜과 비교하여 안정성과 신뢰성이 떨어진다는 것은 커다란 단점으로 작용한다. TCP 프로토콜만 이용하여도 데이터를 송수신하기에 충분한데 왜 이런 UDP 프로토콜을 사용하는지 알 필요가 있다. 신뢰성 및 안정성보다 속도롤 강요하는 서비스가 있기 때문이다.

이러한 서비스는 실시간 멀티미디어 데이터를 송수긴하는 분야에 있다. 음성 통화를 하거나 동영상 데이터를 실시간으로 송수신하는 경우 중간에 음성 또는 영상 데이터가 일부 유실되더라도 크게 피해를 보지 않기 때문이다. 그저 단순히 지속적으로 음성 또는 영상 데이터가 재생되면 되는 것이다.



추후 UDP 프로토콜에 대해서 더 자세하게 포스팅할 예정.

'[ ★ ]Study > Network' 카테고리의 다른 글

UDP 클라이언트 프로그램  (1) 2017.06.12
UDP 서버 예제 프로그램  (0) 2017.06.12
윈도우 소켓 에러처리 (FormatMessage)  (0) 2017.06.11
TCP 에코 클라이언트 (윈도우)  (0) 2017.06.11
TCP 에코 서버 (윈도우)  (0) 2017.06.11

댓글