전송계층에서 데이터를 보내기 위해 사용하는 프로토콜
전송계층 :
데이터 전송 서비스를 제공하고, 통신을 활성화하기 위한 계층
"인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜"
패킷 :
라우팅을 효율적으로 하기 위해 나누어진 조각
=> 높은 신뢰성 보장 ,데이터의 흐름제어(수신자 버퍼 오버플로우 방지) 및 혼잡 제어(패킷 수가 과도하게 증가하는 것 방지), UDP보다 속도가 느림
∴ 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜
데이터를 데이터그램 단위로 처리하는 프로토콜
데이터그램 :
데이터 전송 전에 송/수진자 사이에 가상 회선이라 불리는 논리적 경로를 설정하지 않고, 패킷들이 각기 독립적으로 전송되는 방식
UDP는 데이터그램 단위로 전송되고, 65535바이트를 초과하면 잘라서 보내진다
User Datagram Protocol
전송계층의 비연결 지향적 프로토콜
별도의 논리적인 경로가 없어 각 패킷은 다른 경로로 전송된다.
정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
: 서버 소켓과 클라이언트 소켓의 구분이 없다
소켓 대신 IP를 기반으로 데이터를 전송
흐름제어(flow control)가 없어 패킷의 전송여부 확인이 되지않고, UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
=> 신뢰성이 낮고, TCP보다 속도가 빠르다
∴ 신뢰성보다는 연속성이 중요한 서비스
실시간 서비스(streaming)에 자주 사용
참고 :
http://word.tta.or.kr/dictionary
https://mangkyu.tistory.com/15
https://dev-mb.tistory.com/133
https://velog.io/@devharrypmw/