피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Reliability와 Speed 간의 Trade-off를 통한 Transport Layer 프로토콜 설계 전략
TCP and UDP with Proper Working
AI 요약
Context
네트워크 데이터 전송 시 데이터의 정확성과 전송 속도라는 상충하는 요구사항 존재. 서비스 성격에 따라 데이터 손실 허용 여부와 지연 시간(Latency) 민감도가 다르다는 한계점 분석.
Technical Solution
- 3-Way Handshake 과정을 통한 Connection-based 통신 구조 설계로 송수신 상태 동기화
- Acknowledgment 및 Retransmission 메커니즘을 도입하여 Packet Loss 발생 시 데이터 무결성 보장
- Sequence Number 부여를 통한 Out-of-order 패킷의 순차적 재조합 및 Application 전달
- Connection-less 구조 채택으로 오버헤드를 제거하여 전송 지연을 최소화한 UDP 설계
- 수신 확인 및 재전송 절차 생략을 통한 고속 데이터 스트리밍 최적화
실천 포인트
1. 데이터 무결성이 필수적인 파일 전송, 웹 브라우징 서비스에는 TCP 적용 검토
2. 실시간성이 중요하며 일부 데이터 손실을 허용하는 스트리밍, 게임 서비스에는 UDP 적용 검토
3. 전송 지연 시간(Latency)과 신뢰성(Reliability) 중 우선순위를 정의하여 프로토콜 선택