TCP 통신과 UDP 통신의 개념과 차이점!

더보기

게임 프로젝트를 진행하며 UDP 통신에 대한 연구를 진행하였지만(결국 적용엔 실패하였지만) 정작 TCP와 UDP에 대해 설명해보라고 하면

에... TCP는 신뢰할 수 있는 정보인 대신 비교적 느리구... UDP는 신뢰성이 부족한 대신 빠릅니다...! 밖에 대답할 수 없어서 자료를 이것 저것 찾아봤다.

 

TCP(Transmission Control Protocol)

신뢰할 수 있지만 복잡한 전송 계층 프로토콜. IP에 연결 지향 기능 및 신뢰성을 추가한다.

TCP는 신뢰할 수 있는 스트림 전달 서비스로, 중복되거나 손실된 데이터 없이 한 호스트에서 전송한 데이터 스트림을 다른 호스트로 전다할 수 있도록 보장한다. 패킷 전송은 신뢰할 수 없으므로, 재전송을 사용하는 긍정 수신확인이라고 하는 기술을 사용하여 패킷 전송의 신뢰성을 보장한다. 이 기본 기술을 사용하려면 수신인이 데이터 수신 시 수신확인 메시지로 응답해야 한다.

발신인은 전송한 각 패킷의 레크드를 보존하고 다음 패킷을 전송하기 전에 수신확인을 기다린다. 또한 패킷 전송 당시의 타이머도 보존하여 타이머가 만료되면 패킷을 다시 전송한다. 타이머는 패킷이 손실되었거나 손상되었을 경우 필요하다.

3 Way Handshake

TCP가 연결지향적인 특성을 가지게 해주는 과정이 3 way handshake

 

ACK : 승인을 서명하거나, 응답을 보내기 위해, 통신 프로토콜의 일부로서 통신 프로세서나 컴퓨터 사이를 지나가는 신호

SYN : TCP가 통신을 연결할 때 쓰는 flag

 

UDP(User Datagram Protocol)

비연결성(따라서 신뢰할 수 없음)전송 프로토콜이다. UDP는 오류 검사를 거의 수행하지 않으며 호스트 간 통신 대신 프로세스 간 통신을 제공하는 것 이외에 IP 서비스에 아무것도 추가하지 않는다.

UDP는 최소한의 오버헤드가 발생하는 단순 프로토콜이다. 따라서 프로세스에서 소규모의 메시지를 전송하려고 하며 신뢰성이 중요하지 않은 경우에 UDP를 사용할 수 있다. UDP를 사용하여 메시지를 전송할 경우 TCP를 사용하는 경우보다 시간이 덜 걸린다.

멀티미디어 및 멀티캐스팅 애플리케이션에 편리한 프로토콜

 

UDP 사용분야

- 인터넷 전화

- 온라인 게임

- 영상 스트리밍

 

 

(내가 이해한대로) 한번 그려보았다.

이런 느낌인가... 하구...

말할 때 마다 상대가 듣고있는지 확인하고 대꾸 없으면 대꾸 할 때까지 찔러보는 느낌

친한 친구 단톡방 st

 

요약

TCP : 신뢰성있다, 느리다

UDP : 빠르다, 정보의 손실이 있을 수 있다

TCP가 신뢰성 있고 느린 요인 : 3 way handshake

참고자료

https://youtu.be/ikDVGYp5dhg

https://www.ibm.com/docs/ko/rtw/9.0.1?topic=transports-sockets-overview 

 

반응형

+ Recent posts