네트워크의 계층들 중 전송 계층에서 사용하는 프로토콜이다.
전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층이다. 즉, 데이터를 전달을 담당한다고 생각하면 된다. TCP
와 UDP
는 포트 번호를 이용하여 주소를 지정하는 것과 데이터 오류검사를 위한 체크섬 존재하는 두가지 공통점을 가지고 있지만 정확성(TCP)을 추구할지 신속성(UDP)을 추구할지를 구분하여 나뉜다.
그리고 데이터를 보내기 위해 사용하는 프로토콜이 있다.
인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
데이터를 중요하게 생각하여 확실히 주고받고 싶을 때는 ‘TCP
’를 사용한다. TCP
는 통신할 컴퓨터끼리 ‘보냈습니다’, ‘도착했습니다’라고 서로 확인 메세지를 보내면서 데이터를 주고받음로써 통신의 신뢰성을 높인다. 웹이나 파일 공유 등과 같이 데이터를 누락시키고 싶지 않은 서비스는 TCP
를 사용하고 있다.
대부분의 인터넷 응용 분야들은 신뢰성과 순차적인 전달을 필요로 한다. UDP
로는 이를 만족시킬 수 없으므로 다른 프로토콜이 탄생한 것이 TCP이다.
3-way handshaking
과정을 통해 연결을 설정하고 4-way handshaking
을 통해 해제한다UDP
보다 속도가 느리다데이터를 데이터그램 단위로 처리하는 프로토콜
데이터의 신뢰성은 제쳐두고 빨리 보내고 싶을 때 UDP
를 사용한다. UDP
는 데잍터를 보내면 끝이므로 신뢰성은 없지만 확인 응답과 같은 절차를 생략할 수 있으므로 신속성을 높인다. VoIP와 같은 시간 동기가 필요한 서비스들이 UDP
를 사용한다.
UDP
헤더의 체크섬 필드를 통해 최소한의 오류만을 검출한다TCP
보다 속도가 빠르다UDP
에는 연결 자체가 없어서 서버 소켓과 클라이언트 소켓 구분이 없다IP
를 기반으로 데이터를 전송한다