728x90
TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜이며
3계층인 전송계층에 속하며, 2계층과 4계층의 중개 역할을 한다
쉽게 말해 데이터의 전달을 담당한다
TCP와 UDP의 차이점 (장단점)
TCP (Transmission control protocl) | UDP (User datagram protocol) | |
서비스 타입 | 연결 지향적 프로토콜 | 데이터그램 지향적 프로토콜 |
신뢰성 | 표적 기기까지의 데이터 전송 보장 | 표적 기기까지의 데이터 전송 보장 X |
순서 보장 | 전송하는 패킷들의 순서를 보장 | 전송하는 패킷들의 순서 보장 X (보장을 원한다면, 애플리케이션 레이어에서 관리되어야 한다) |
속도 | UDP와 비교해 느린편 | TCP와 비교해 빠른편, 단순하며 더 효율적인 속도를 가지고 있음 |
위와 같은 이유로 TCP는 주로 데이터의 신뢰성을 필요로 하는 애플리케이션에 사용되며,
UDP는 빠른 속도나 실시간 통신이 중요한 애플리케이션에 사용된다
TCP 3-way handshake 동작 방법
- sender가 receiver에게 통신을 시작하고 싶다고 segment를 랜덤으로 설정된 SYN(Synchronize Sequence Number)와 함께 보낸다
- receiver는 받은 요청을 바탕으로 SYN/ACK 신호 세트를 응답한다. ACK(Acknowledgement) 응답으로 보내는 segment가 유효한 SYN요청을 받았는지를 의미
- sender는 받은 ACK를 receiver에게 전송하며 신뢰성 있는 연결이 성립되었으며 실제 데이터 전송이 시작된다
UDP
UDP는 온라인 게임이나 음성채팅 등 전송속도가 중요할 때 사용한다
lol에서 상대 말파이트가 궁을 쓰는데 지연시간 때문에 피하지 못한다거나 디스코드로 통화를 하는데 싱크가 맞지 않으면 정상적으로 서비스를 이용할 수 없다
그래서 UDP도 사용한다
- 애플리케이션의 정교한 제어가 가능하다 : 실시간 전송을 위해 높은 latency를 지양하므로 약간의 데이터 손실을 감수한다. 대신 개발자 스스로가 이를 보완하기 위해 애플리케이션에 추가 기능을 구현한다
- 연결 설정에 무관하다 : UDP는 예비과정 없이 바로 전송을 시작하며, 설정 단계에서 발생하는 지연이 없어 반응속도가 빠르다. 연결 설정 관리를 하지 않기 때문에 어떠한 파라미터도 기록하지 않아, TCP에 비해 더 많은 클라이언트를 수용할 수 있다
728x90
'개발일지 > 컴퓨터지식' 카테고리의 다른 글
웹 애플리케이션 (0) | 2022.10.02 |
---|---|
클라이언트-서버 아키텍처 (0) | 2022.10.02 |
LAN 과 WAN (0) | 2022.10.01 |
애플리케이션 ? 웹 애플리케이션 ? (0) | 2022.10.01 |
이진 탐색 알고리즘 (Binary Search Algorithm) (2) | 2022.10.01 |