TCP와 UDP의 공통점?
인터넷 통신에서 데이터를 주고 받기 위한 방법이다.
패킷의 형태로 데이터를 송수신한다.
TCP와 UDP의 차이점?
TCP는 상호 연결이 필요하다. 데이터 전송 전에 연결을 시도하고, 연결이 되었다는 확인이 필요하다.
데이터를 주고 받을 때, 패킷에 약간의 손상이라도 있다면 재전송 요청을 보내 온전한 패킷을 받기를 시도한다.
또, 데이터를 잘 받았다는 내용의 패킷인 ACK가 존재한다. 데이터를 보낸 후 일정 시간 내에 해당 데이터에 대한 ACK가 수신되지 않으면 상대 측에서 패킷을 정상 수신하지 못한 것으로 판단하여 같은 패킷을 재전송한다.
데이터의 전송 순서도 보장된다.
이러한 점 때문에 신뢰성이 높지만 비교적 느리고, 신뢰성이 중요하지 않은 통신의 경우에는 약간의 결함으로도 재전송을 요청하여 비효율적일 수 있다.
UDP의 경우에는 연결을 시도하지 않는 일방적인 통신이다.
데이터를 받았는지 확인하지 않기 때문에 데이터의 전송 순서나 오류 없음을 보장하지는 못한다.
하지만 연결 과정을 생략하고 보낸 데이터에 대해 따로 수신을 기다리지 않으므로 비교적 속도가 빠르다. 따라서 영상 스트리밍 등 신뢰성이 중요치 않은 경우에 UDP를 사용하는 것이 효율적일 수 있다.