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 연결 설정 과정의 핵심입니다.