네트워크의 계층에는 데이터의 전달을 담당하는(송신자와 수신자를 연결하는) 전송계층이 있고, 전송계층에서 데이터를 보내기 위해 사용하는 프로토콜이 바로 TCP 와 UDP 이다.
1. TCP(Transmission Control Protocol)
TCP 는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다.
TCP 특징
- 연결형 서비스를 제공한다.
- 3-way handShaking 과정을 통해 연결하고, 4-way handShaking 을 통해 연결을 해제한다.
- 전이중(Full-Duplex) 방식의 양방향 가상 회선을 제공한다.
- 신뢰성 있는 데이터 전송을 보장한다.
TCP는 연결형 서비스로 신뢰성을 보장하기 때문에 3-way handShaking 의 특징을 갖는다. 또한 데이터의 흐름 제어나 혼잡 제어와 같은 기능도 하기 때문에 UDP 보다 속도가 느릴 수 밖에 없는 것이다.
그렇기 때문에 TCP 는 파일 전송 처럼 신뢰성 있는 전송이 필요할 때 사용하는 프로토콜 이다.
(3-way handShaking: 수신자와 송신자를 확실히 하여 정확한 정보를 보장하기 위해 세션을 수립하는 과정)
2. UDP(User Datagram Protocol)
UDP 는 인터넷에서 정보를 주고받을 때, 서로 주고받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜.
UDP 특징
- 비연결형 서비스로 데이터그램 방식을 제공한다.
- 정보를 주고받을 때 보내거나 받는다는 신호절차를 거치지 않는다.
- 신뢰성이 낮다
UDP 는 서로 다른 경로로 독립적으로 처리하지만 패킷에 순서를 부여하지 않고 흐름 제어나 혼잡 제어 같은 기능을 처리하지 않기 때문에 TCP 보다 속도가 빠르며 네트워크 부하가 적다.
그렇기 때문에 UDP 는 실시간 서비스(streaming) 처럼 연속성이 중요한 전송에서 사용한다.
TCP 와 UDP 를 표로 비교해보면 아래와 같다.
TCP | UDP | |
연결 방식 | 연결형 서비스 | 비연결형 서비스 |
패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
전송 순서 | 전송 순서 보장 | 순서가 바뀔 수 있음 |
수신 여부 확인 | 확인 | 확인하지 않음 |
통신 방식 | 1 : 1 통신 | 1 : 1 or 1 : N or N : N 통신 |
신뢰성 | 높음 | 낮음 |
전송 속도 | 느림 | 빠름 |
정리 참고 블로그
'CS 지식' 카테고리의 다른 글
HTTP의 GET 과 POST (0) | 2022.11.12 |
---|---|
HTTP 와 HTTPS (0) | 2022.11.12 |
대칭키와 공개키 (0) | 2022.11.10 |
OSI 7계층이란 ? (1) | 2022.11.03 |
[TCP] 3-way / 4-way handShake (0) | 2022.11.02 |