답변:
TCP 는 데이터가 어디로 이동하는지 확인하기 위해 acks와 재시 도로 지원됩니다. UDP 는 연결이없고 "화재와 잊어 버리기"입니다. UDP는 주로 스트리밍 유형 응용 프로그램에 사용되며, 일부 데이터가 손실되면 다시 보내려고 할 필요가 없습니다.
사용하는 응용 프로그램에 따라 다릅니다. 예를 들어 웹 서버는 TCP를 사용합니다.
여기서 좋은 요약을 찾을 수 있습니다.
UDP와 TCP 인터넷 프로토콜의 차이점은 무엇입니까?
TCP와 UDP는 모두 전송 계층 TCP / IP 모델에서 작동하지만 사용법이 매우 다릅니다.
가장 중요한 차이점은 다음과 같습니다.
프레임 구조
데이터가 네트워크를 통해 전송되면 소위 "프레임"으로 캡슐화해야합니다. 사용중인 프로토콜 및 토폴로지에 따라 다양한 캡슐화 방법이 있습니다. 다음 이미지는 TCP 및 UDP 프레임 구조가 어떻게 다른지 보여줍니다.
이것은 TCP 프레임 구조입니다.
이것은 UDP 프레임 구조로 훨씬 간단합니다.
TCP를 사용하는 일반적인 프로토콜은 HTTP, FTP 및 SMTP입니다. UDP를 사용하는 프로토콜의 예는 DNS 및 DHCP입니다.
그리고 CEO 수준의 설명 :
UDP는 용지를 쓰레기통의 일반적인 방향으로 던질 때입니다.
TCP는 놓친 경우 동일한 용지의 정확한 사본을 휴지통에 넣을 때까지 반복해서 던집니다. 종이 낭비, 심지어 TCP 패킷 재전송으로 인해 네트워크 또는 시스템 리소스가 낭비 될 수 있습니다.
질문의 다른 부분에 대답하려면 응용 프로그램에서 사용하는 내용을 전달해야합니다. HTTP 트래픽을 전달하려면 TCP를 선택하십시오. TFTP 트래픽을 전달하려면 UDP를 선택하십시오. p2p 프로그램은 주로 tcp와 udp를 모두 사용하므로 둘 다 전달하십시오.
프로토콜과 사용중인 프로그램에 따라 다릅니다.
TCP는 지금까지 언급 된 차이점뿐만 아니라
흐름 제어. 수신자는 창 메커니즘을 사용하여 발신자가 더 많은 데이터를 보낼 수있는 권한을 기다려야하기 전에 발신자로부터 수신하려는 옥텟 (바이트) 수를 제한합니다. 대화가 진행되는 동안 수신자가 창의 크기를 변경할 수 있습니다. 이것은 수신자가 발신자로부터 오는 데이터의 속도를 '조절'할 수있게합니다. UDP는 이것을 허용하지 않으며 수신자가 할 수있는 모든 것은 도착시 버퍼링하거나 처리 할 수없는 데이터를 버리는 것입니다.
비 인접 수신 확인 (송신자가 누락 된 프레임이 아닌 누락 된 프레임과 수신자가 이미 가지고 있지만 일반적인 방법으로 인식 할 수없는 후속 프레임 대신 재전송 할 수 있도록 선택적 수신 확인 사용), 혼잡 처리 및 적응 재전송 (응답이 수신되지 않을 때 전송 된 프레임을 재전송하는 시간을 결정하는 타이머 조정) 이는 UDP와 관련이 없지만 TCP가 동일한 페이로드 볼륨에 대한 네트워크로드를 크게 늘리지 않고도 UDP를 통해 추가 서비스를 제공 할 수 있도록 도와줍니다.
TCP는 데이터가 수신자에게 전달되도록 노력합니다. UDP는 그렇지 않습니다.
잘 알려진 프로토콜 일수록 경로에 더 많은 라우터가 프로토콜을 개입시킵니다. tcp 패킷을 보내면 수신 패킷이 엉망이 될 가능성이 큽니다. UDP는 일반적으로 그렇게 엉망이 아니며 다른 254 개의 IP paylod 프로토콜은 일반적으로 완전히 손대지 않습니다.
사용자 데이터 그램 프로토콜 (UDP)
Internet Protocol Suite의 기본 프로토콜의 일부입니다. 네트워크 컴퓨터의 프로그램은 데이터 그램이라고도하는 짧은 메시지를 보낼 수 있습니다. UDP는 신뢰성을 보장하지 않습니다 (데이터 그램이 고장 났거나 복제되거나 예고없이 누락 될 수 있음). 모든 패킷이 실제로 전달되는지 여부를 확인하지 않으므로 UDP는 전달이 보장되지 않는 응용 프로그램에 대해 더 빠르고 효율적입니다. UDP는 다음과 같은 상황에서 그 용도를 찾습니다.
시간에 민감한 응용 프로그램. 지연된 패킷으로 인한 문제를 피할 수 있습니다
또한 수많은 클라이언트의 작은 쿼리에 응답하는 서버에도 유용합니다. UDP는 패킷 브로드 캐스트 (로컬 네트워크의 모든 장치로 전달) 및 멀티 캐스팅 (모든 가입자에게 전달)을 지원합니다.
전송 제어 프로토콜 (TCP)
Internet Protocol Suite에서이 프로토콜의 중요성으로 인해 종종 TCP / IP라고합니다. TCP는 두 엔드 시스템 (예 : 웹 브라우저와 웹 서버 간)에만 관련된 상위 레벨에서 작동합니다. TCP는 한 컴퓨터의 한 프로그램에서 다른 컴퓨터의 다른 프로그램으로 데이터 스트림을 안정적으로 순차적으로 전달합니다. TCP 재 그룹 전자 메일 지원 및 파일 전송 및 웹 응용 프로그램의 일반적인 사용 관리 작업 중 TCP는 메시지 크기, 메시지 교환 속도 및 네트워크 트래픽 혼잡을 제어합니다. IP는 인터넷을 통해 전송되는 메시지로 컴퓨터에서 컴퓨터로의 하위 수준 전송을 처리합니다.
둘 다 인터넷 프로토콜 또는 IP라는 네트워크 프로토콜입니다. 인터넷 프로토콜은 인터넷의 주요 프로토콜이며 예를 들어 웹 탐색을 가능하게합니다. 따라서 이러한 프로토콜이 종종 TCP / IP 또는 UDP / IP로 작성되는 것을 보게됩니다. 그들은 실제로 인터넷의 핵심 프로토콜입니다.
두 경우 모두 데이터는 패킷이라고하는 청크로 분할됩니다. TCP는 이러한 패킷이 목적지에 올바른 순서로 오류없이 도착하도록합니다.
반면에 UDP는 데이터 패킷이 도착하는 것을 보장하지 않습니다. 도착한 경우 오류가 없는지 확인합니다.
일반적으로 다른 프로토콜은 TCP 및 UDP 위에서 실행되며 운영 체제가 아닌 응용 프로그램 내에서 작동하기 때문에 응용 프로그램 프로토콜이라고합니다. 웹 브라우징은 TCP 프로토콜을 사용하는 HTTP 프로토콜을 사용합니다.
도메인 이름 조회 또는 DNS 쿼리는 종종 UDP를 사용하지만 TCP도 사용할 수 있습니다. 많은 스트리밍 서비스가 다른 응용 프로그램 프로토콜 아래에서 UDP를 사용합니다.
간단한 영어로 귀하의 질문에 대답하기를 바랍니다.