wnehgus101 / TeamProject_1_study

명지대학교 팀프로젝트 1
0 stars 0 forks source link

소켓 연결 방식 중 TCP와 UDP 방식은 무엇일까? #14

Open kimjooyeon2222 opened 11 months ago

kimjooyeon2222 commented 11 months ago

문제

책에서는 소켓 연결 방식이 UDP와 TCP 방식으로 나뉘어진다고 하였는데 TCP와 UDP 방식은 각각 무엇일까?

선정 배경

책에서는 소켓 연결 방식이 UDP와 TCP 방식으로 나뉘어진다고 하였고 일반적인 프로그밍에서는 소켓 연결이 대부분 TCP 연결을 사용한다고 했는데 UDP와 TCP 방식이 무엇인지 궁금했고 이에 대해서 해당 질문을 선정하게 되었다.

kimjooyeon2222 commented 11 months ago

TCP (Transmission Control Protocol):

연결 지향 프로토콜: TCP는 연결을 설정하고 유지하는 프로토콜로, 데이터를 안정적으로 전송하는 데 사용됩니다. 연결을 설정하고 해제하는 과정이 포함되어 있습니다. 신뢰성: TCP는 데이터를 전송하고 수신측에서 확인을 받아 손실된 데이터나 오류를 검출하고 재전송합니다. 따라서 데이터의 무결성과 신뢰성이 보장됩니다. 순서 보장: TCP는 데이터 패킷의 순서를 보장하여 수신측에서 데이터를 정확한 순서대로 재조립합니다. 혼잡 제어: TCP는 네트워크 혼잡을 관리하고 송신 속도를 조절하여 네트워크의 공정한 사용을 도와줍니다.

UDP (User Datagram Protocol):

비연결성 프로토콜: UDP는 연결을 설정하지 않고 데이터를 전송하는 비연결성 프로토콜입니다. 이로 인해 연결 설정 및 해제 단골이 더 간단하며, 빠른 전송이 가능합니다. 비신뢰성: UDP는 데이터를 전송하고 받는 역할만 하며, 손실된 데이터나 오류를 복구하지 않습니다. 따라서 데이터 무결성과 신뢰성은 보장되지 않습니다. 빠른 속도: UDP는 TCP보다 빠른 속도로 데이터를 전송할 수 있습니다. 이는 손실된 데이터에 대한 재전송이나 혼잡 제어가 없기 때문입니다. 사용 사례: UDP는 실시간 멀티미디어 응용 프로그램(예: 음성 통화, 비디오 스트리밍), DNS(Domain Name System) 쿼리, DHCP(Dynamic Host Configuration Protocol)와 같은 서비스에서 주로 사용됩니다.

TCP와 UDP는 각각 다른 사용 사례와 요구 사항을 충족시키기 위해 설계되었습니다. TCP는 데이터 신뢰성이 중요한 응용 프로그램에 적합하며, UDP는 실시간 통신이 필요하고 데이터 손실이 허용되는 경우에 적합합니다. 선택은 애플리케이션의 목적과 특징에 따라 이루어져야 합니다.