-
TCP와 UDP는 전송계층 프로토콜로, 네트워크 통신에서 데이터를 전송하기 위해서 사용한다.
둘 다 데이터를 패킷으로 나누어 전달하지만 목적과 특성이 다르다.1. TCP
특징
- 연결 지향 프로토콜
- 데이터 전송 전에 송신자와 수신자간의 연결을 설정한다. (3-way handshake)
- 신뢰성 보장
- 데이터가 순서대로 도착하고 손실된 패킷은 재전송된다.
- 양방향 통신
- 양쪽으로 데이터를 주고받을 수 있다.
- 예시
- 웹브라우징, 파일전송, 이메일
2. UDP
특징
- 비연결 프로토콜
- 데이터 전송전 연결을 설정하지 않는다.
- 신뢰성 미보장
- 패킨손실, 중복, 순서 변경이 발생할 수 있다.
- 빠른 전송
- 연결 설정과 확인 과정이 없다.
- 예시
- 스트리밍, 온라인 게임, 화상회의
3. TCP 3-way handshake
TCP는 연결지향 프로토콜로 송신자와 수신자가 데이터를 전송하기전에 서로 연결을 확인해야 한다.
이 과정에서 3개의 신호 (SYN, SYN-ASK, ACK)가 교환된다.
① SYN
클라이언트가 서버에 연결을 요청하는 신호를 보낸다.
② STN-ASK
서버가 클라이언트의 요청을 수락하며 동시에 서버의 연결 요청을 보낸다.
③ ASK
클라이언트가 서버의 요청을 확인했다는 신호를 보낸다.
이 과정이 완료되면 클라이언트와 서버는 데이터 연결이 확립된다.
4. TCP 4-way handshake
TCP 연결을 종료할 때 4개의 신호(FIN, ACK)가 교환된다.
왜 연결설정은 3번인데 종료는 4번일까?
예를 들어 클라이언트가 먼저 종료 요청을 하더라도 서버는 아직 데이터를 전송해야할 수 있기 때분에 각 방향별로 FIN과 ACK가 존재한다.'CS > 웹개발' 카테고리의 다른 글
쿠키, 세션 (0) 2024.12.30 JDBC, Mybatis, JPA (0) 2024.12.29 HTTP (0) 2024.12.24 HTTP, HTTP API, CSR, SSR (1) 2024.12.23 멀티 쓰레드 (0) 2024.12.22 댓글
- 연결 지향 프로토콜