현수의 제 2의 뇌
article thumbnail
반응형
글을 보시기 전에 질문에 대답해보시고 글을 읽어보시는걸 추천합니다!

TCP, UDP

TCP와 UDP는 OSI 7 계층 중에서 전송 계층에서 사용되는 프로토콜 입니다.

전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층이고 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당합니다.

 

TCP(Transmission Control Protocol)

- 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜 입니다.

- TCP는 데이터의 전달을 보장합니다. 즉 패킷이 손실되거나 순서가 바뀐다면 TCP는 이를 해결합니다. 따라서 TCP는 오류 없는 데이터 전송을 보장합니다.

- 이와 같은 특성으로 TCP는 웹 브라우징, 이메일 전송, 파일 다운로드와 같이 신뢰성이 필요한 에플리케이션에 주로 사용됩니다.

- 신뢰성을 보장하기 위해 3 way handshake 를 하게되는데 이러한 신뢰성 처리시간이 더 많이 필요해서 UDP보다 상대적으로 느립니다.

 

UDP(User Datagram Protocol)

- UDP는 연결이 없는 프로토콜 입니다. 데이터 전송을 시작하기 전에 목적지와의 연결을 설정하기 않습니다.

- 데이터 전달을 보장하지 않습니다. 즉 패킷이 손실되거나 순서가 바뀌어도 자동으로 해결해주지 않습니다.

- 따라서 UDP는 실시간 애플리케이션( 음성채팅, 실시간 스트리밍, 온라인 게임 등 ) 에서 사용됩니다. 이러한 애플리케이션은 데이터 패킷의 일시적 손상보다 빠른 전송 속도가 중요하기 때문에 이러한 방식을 사용합니다.

- TCP에 비해 시간이 적게 필요하므로 UDP는 상대적으로 빠릅니다.

 

 

그림으로 이해하는 TCP와 UDP

결론

TCP와 UDP의 주요 차이점은 TCP의 신뢰성과 연결 지향성, UDP의 연결 없음과 속도에 있습니다.

이 두 가지 프로토콜은 각각의 특성에 따라 애플리케이션에 적합한 프로토콜을 선택하는 데 사용됩니다.

profile

현수의 제 2의 뇌

@부현수

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!