TCP 와 UDP는 신뢰성 vs 신속성 의 특징을 놓고 tcp와 udp를 이용하는 서비스 들이 갈린다.
TCP는 - HTTP, Email, FIle transfer
UDP는 - DNS, Broadcasting
UDP의 특징
UDP는 트랜스포트 계층 프로토콜이 할 수 있는 최소 기능으로 동작
즉, 다중화/역다중화 기능과 간단한 오류 검사 기능을 제외하면 IP에 아무것도 추가하지 않는다.
그래서 애플리케이션 개발자가 TCP대신에 UDP를 선택한다면 애플리케이션은 거의 IP와 직접 통신하는 것
tcp에 비해 다음과 같은 특징을 갖고 있기에 DNS서비스가 사용하기 적합하다.
연결의 시작 과 끝 설정이 없다는 점
tcp 는 데이터 전송을 시작하기 전에 3-way-handshake를 사용하는 반면에 udp는 형식적인 예비동작이 없다. 따라서 연결 설정에 드는 비용이 없다.
만약 dns가 tcp위에서 동작한다면 많이 느려질 것.
반면 http문서로 된 웹페이지는 신뢰성이 중요하기 때문에 udp보다 tcp를 사용한다.
dns: 신뢰성<속도
웹페이지: 신뢰성>속도
연결 상태를 유지 할 필요가 없다.
tpc는 end point에서 연결 상태를 유지하며 다음과 같은 파라미터들이 포함된다. ->(수신버퍼, 송신버퍼, congestion control 파라미터, sequence number, ACK number)
반면 udp는 어떠한 정보도 기록하지 않고 유지할 필요가 없다.
따라서 특정 애플리케이션에 할당된 서버는 애플리케이션이 tcp보다 udp에서 동작할 때 더 많은 클라이언트를 수용할 수 있다.
도메인네임을 ip로 변경함으로 항상 많은 클라이언트를 수용하는 dns 서버에게는 연결상태를 유지 하지 않아 정보 기록을 최소화 하는 udp가 알맞다.
제목이 뭔가 이상하네요