youzysu / software-engineering-knowledge

💡 다양한 자료를 바탕으로 소프트웨어 개발 지식을 학습한 내용을 정리합니다
6 stars 0 forks source link

TCP와 UDP의 차이를 설명해주세요. #29

Closed youzysu closed 12 months ago

youzysu commented 1 year ago
TCP UDP
특성 연결지향성 비연결 지향성
신뢰성 높음 낮음
통신 방식 스트림 지향 데이터그램 단위 통신
헤더 크기 크다 작다
사용 분야 신뢰성이 중요한 애플리케이션 실시간성이 중요한 애플리케이션

연결 지향성(Connection-Oriented) vs. 비연결 지향성(Connectionless):

TCP UDP
통신을 시작하기 전에 먼저 연결 설정
데이터 전송 이후 연결을 정상적으로 종료
데이터의 정확한 전송 보장
사전 연결 설정 안함
데이터 수신 여부 확인 안함

신뢰성(Reliability)

TCP UDP
높은 신뢰성 낮은 신뢰성
데이터 전송 에러 발생하면 재전송 시도
데이터 순서 보장
순서가 뒤바뀌면 순서 마주처서 전달
데이터 수신 여부를 확인하지 않고 다음 데이터 전송
전송 중 손실이나 에러 무시
손상된 데이터 복구 불가

통신 방식

TCP UDP
스트림(Stream) 지향 통신 데이터그램(Datagram) 단위 통신
데이터가 연속적인 Byte Stream으로 전송
데이터 경계 없음
각 패킷이 독립적으로 처리
데이터 경계 존재

헤더 크기

TCP UDP
크다 작다
연결 설정, 종료, 에러 복구 등을 위한 정보 포함 최소한의 정보만

사용 분야

TCP UDP
신뢰성이 중요한 애플리케이션 실시간성이 중요한 애플리케이션
웹 브라우징, 이메일 전송, 파일 전송 실시간 응용, 오디오 및 비디오 스트리밍, 온라인 게임 등