IT/면접

Q. TCP/UDP에 대해서 설명

뀨뿌뀨뿌 2023. 8. 24. 01:25

❓TCP(Transmission Control Protocol)

- 연결 지향적
TCP는 데이터 전송 전에 연결을 설정하고, 데이터 전송 후 연결을 종료함
이렇게 하는 것은 신뢰성 있는 데이터 전송을 보장하기 위함

- 신뢰성
TCP는 패킷의 손실, 순서 변경, 중복 등의 문제를 처리하기 위한 메커니즘이 있음
손실된 패킷은 재전송됨

- 흐름 제어
수신자의 버퍼 오버플로우를 방지하기위해 흐름 제어 메커니즘을 제공함

- 혼잡 제어
네트워크 내의 혼잡을 관리하고 효율적인 데이터 전송을 위해 메커니즘을 제공함

- 사용 사례
웹 브라우징, 이메일 전송, 파일 전송 등 신뢰성이 중요한 애플리케이션에서 주로 사용됨

❓UDP(User Datagram Protocol)

- 연결 비지향적
UDP는 연결 설정 없이 데이터를 전송
이렇게 하는 것은 최소한의 오버헤드와 함께 데이터를 빠르게 전송하기 위함

- 신뢰성 없음
UDP는 패킷의 손실, 순서 변경, 중복 등의 문제를 처리하는 메커니즘을 제공하지 않음
이러한 문제는 애플리케이션 레벨에서 처리되어야 할 수 있음

- 상태 유지 없음
연결 상태나 세션 정보를 유지하지 않기 때문에 상태 정보가 필요 없는 애플리케이션에 적합함

- 사용 사례 
스트리밍 미디어, VoIP, 온라인 게임, DNS 조회 등 신속한 전송이 필요하고, 일부 패킷 손실이 허용되는 애플리케이션에서 주로 사용됨

🔑  결론

TCP는 신뢰성이 중요한 데이터 전송에 적합하며, UDP는 신속한 데이터 전송이 중요한 경우에 적합함
사용할 프로토콜을 선택할 때는 애플리케이션의 요구 사항과 특성을 고려해야함

TCP와 UDP는 데이터 통신을 위한 두 가지 핵심적인 프로토콜입니다.
TCP(Transmission Control Protocol)는 다음과 같은 특징을 가지고 있습니다.
첫번째로는 연결 지향적입니다. 이는 데이터 전송 직후에 안정적인 연결을 확립하고 해제하는 과정이 포함된다는 것을 의미합니다. 이런 방식은 신뢰성 있는 데이터 전송을 보장하기 위한 것입니다.
두번째로는 TCP는 신뢰성이 높습니다. 패킷 손실이나 순서 변경, 중복 같은 문제가 발생하면, 해당 문제를 해결하기 위한 메커니즘이 있어, 필요한 경우 패킷을 재전송하기도 합니다.
세번째로는 흐름 제어 메커니즘을 제공하여 수신자의 버퍼 오버플로우 문제를 방지합니다.
또한 혼잡 제어 기능을 통해 네트워크 내의 데이터 혼잡을 관리합니다.
TCP는 웹 브라우징, 이메일, 파일 전송과 같이 신뢰성이 필요한 곳에서 주로 사용됩니다.
반면, UDP(User Datagram Protocol)는 연결 비지향적이라는 특징을 가집니다. 이는 데이터를 전송할 때 별도의 연결 설정 없이 빠르게 데이터를 전송한다는 것을 의미합니다.
UDP는 TCP와 달리 신뢰성이 높지 않습니다. 패킷의 손실이나 순서 변경 등의 문제가 발생할 경우, 이를 해결하기 위한 별도의 메커니즘이 없습니다.
연결의 상태나 세션 정보를 유지하지 않기 때문에, 상태 정보가 필요없는 애플리케이션에 특히 적합합니다.
UDP는 스트리밍 미디어, VoIP, 온라인 게임, DNS 조회 등에서 주로 사용되며, 패킷의 일부 손실이 허용되는 상황에서 이상적입니다.
결론적으로 TCP는 데이터의 신뢰성이 중요할 때, UDP는 데이터의 신속한 전송이 중요할 때 적합하다고 할 수 있습니다. 따라서 사용할 프로토콜을 선택할 때는 해당 애플리케이션의 욕 사항과 특성을 신중히 고려해야 합니다.