글을 보시기 전에 질문에 대답해보시고 글을 읽어보시는걸 추천합니다!
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의 연결 없음과 속도에 있습니다.
이 두 가지 프로토콜은 각각의 특성에 따라 애플리케이션에 적합한 프로토콜을 선택하는 데 사용됩니다.
'Computer Science' 카테고리의 다른 글
http와 https의 차이점에 대해 설명해 보세요 (0) | 2023.07.20 |
---|---|
TCP 3, 4 way handshake에 대해서 설명해보세요 [ Computer Science, 면접 ] (0) | 2023.07.19 |
구글에 접속할 때 일어나는 일을 설명해 주세요 [ 면접 ] [ 네트워크 ] [ CS ] (0) | 2023.06.24 |