TCP & UDP

기술노트

🌐 TCP & UDP

TCP (Transmission Control Protocol)UDP (User Datagram Protocol)는 인터넷 프로토콜(IP) 위에서 동작하는 전송 계층(Transport Layer)의 핵심 프로토콜입니다. 두 프로토콜은 데이터를 전송하는 방식과 신뢰성에서 큰 차이를 보입니다.


🤝 TCP (Transmission Control Protocol)

TCP는 신뢰성 있는 데이터 전송을 보장하는 연결형 프로토콜입니다. 데이터를 보내기 전에 송신자와 수신자 간에 연결을 설정하고, 데이터가 순서대로, 오류 없이, 중복 없이 전달되도록 제어합니다.

  • 특징 :

> * 연결형 (Connection-oriented) : 3-way-handshake를 통해 연결을 설정하고, 4-way-handshake를 통해 연결을 해제합니다. > * 신뢰성 보장 : 데이터의 순서 보장, 재전송 요청, 흐름 제어, 혼잡 제어 등을 통해 데이터의 신뢰성을 보장합니다.

  • 사용 예시 : 웹(HTTP), 파일 전송(FTP), 이메일(SMTP) 등 데이터의 정확성이 중요한 서비스

🚀 UDP (User Datagram Protocol)

UDP는 비신뢰성, 비연결형 프로토콜입니다. 데이터를 보내기 전에 연결을 설정하지 않고, 데이터를 일방적으로 전송합니다. 데이터의 도착 여부나 순서를 보장하지 않으므로, TCP보다 빠르고 오버헤드가 적습니다.

  • 특징 :

> * 비연결형 (Connectionless) : 연결 설정 과정이 없어 빠릅니다. > * 비신뢰성 : 데이터의 순서나 도착을 보장하지 않습니다. 유실되거나 중복될 수 있습니다. > * 빠른 속도 : 신뢰성 보장을 위한 복잡한 제어 기능이 없어 오버헤드가 적고 빠릅니다.

  • 사용 예시 : 실시간 스트리밍, 온라인 게임, 음성/영상 통화 등 속도가 중요하고 약간의 데이터 손실이 허용되는 서비스

🆚 주요 차이점 요약

구분 TCP UDP
연결 방식 연결형 비연결형
신뢰성 보장 보장 안 함
속도 상대적으로 느림 상대적으로 빠름
데이터 흐름 제어 있음 없음
혼잡 제어 있음 없음
사용 예시 웹, 파일 전송 스트리밍, 게임

💡 정보처리기사 핵심 Point

  • 정보처리기사 시험에서는 TCP와 UDP의 개념, 특징, 장단점, 그리고 사용되는 서비스를 비교하는 문제가 자주 출제됩니다.
  • TCP는 '신뢰성'을, UDP는 '속도'를 우선시한다는 점을 명확히 이해해야 합니다.
  • 3-way-handshake는 TCP 연결 설정 과정의 핵심입니다.