전송 제어 프로토콜(TCP)
메시지 형식으로 인터넷을 통해 데이터를 전송하기 위해 IP와 함께 사용되는 프로토콜입니다.
TCP의 속성
- 연결 지향
- 높은 신뢰성 보장(예: 파일 전송)
- 3방향 핸드셰이크 절차를 사용하여 연결 설정, 4방향 핸드셰이크 절차를 사용하여 연결 해제
- 흐름 제어(송신자와 수신자 사이의 데이터 처리 속도 차이를 조절) 및 혼잡 제어(네트워크에서 패킷 수가 오버플로우되는 것을 방지)
- UDP보다 느립니다.
- 전이중, 점대점 방식
- 서버와 클라이언트 사이에는 일대일 연결이 있습니다.
- 스트리밍 서비스의 단점. (분실시 재전송을 요청하세요.)
사용자 데이터그램 프로토콜(UDP)
데이터그램 단위로 데이터를 처리하는 프로토콜
UDP의 속성
- 비접속형 서비스(데이터그램 방식 제공)
- 정보를 교환할 때 정보를 보내거나 받는 신호 프로세스가 없습니다.
- 최소한의 오류는 UDP 헤더의 CheckSum 필드에서 감지됩니다.
- 신뢰도가 낮습니다.
- TCP보다 빠릅니다.
- IP를 기반으로 데이터를 전송합니다.
- 1:1, 1:N, N:M 통신
TCP와 UDP의 비교
- TCP는 양쪽에서 질의응답 형식으로 일대일로 연결된다.
- UDP는 한쪽에서만 데이터를 단방향으로 보냅니다.
3방향 핸드셰이크
TCP 통신을 연결할 때 사용합니다.
원천 : https://velog.io/@averycode/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP%EC%99%80-3-Way-Handshake4- 방법 악수
- 클라이언트 측은 SYN 메시지를 통해 서버 측에 연결 요청을 보냅니다.
- 서버 측이 SYN 메시지를 받으면 성공적으로 수신되었음을 나타내는 ACK 메시지와 함께 클라이언트와 협력하기 위해 SYN 요청도 보냅니다.
- 클라이언트 측에서 서버 측에서 보낸 SYN 메시지를 확인한 후 성공적으로 수신되었다는 ACK 메시지를 서버 측으로 보내 연결이 성립되었음을 알 수 있습니다.
4방향 핸드셰이크
- 클라이언트 측은 서버 측에 FIN 플래그를 보내 연결을 종료합니다.
- 서버 측은 클라이언트 측에 승인되었음을 나타내는 ACK 플래그를 보냅니다.
- 서버 측은 FIN 플래그를 클라이언트 측에 전송하여 연결도 종료하고 있음을 나타냅니다.
- 클라이언트 측은 서버 측에 확인되었음을 나타내는 ACK 플래그를 보내고 연결이 종료됩니다.
참조
Dear developer – TCP와 UDP의 특징과 차이점
코딩 연구 저널 – TCP와 UDP의 속성 및 차이점
averycode – TCP/UDP 및 3방향 핸드셰이크 및 4방향 핸드셰이크

