-
[Network] TCP와 UDP의 차이Network 2020. 8. 31. 21:44728x90
TCP란?
- Transmission Control Protocol의 약어
- 네트워크 계층 중 전송 계층에서 사용하는 프로토콜로 장치들 사이에 논리적인 접속을 성립하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스
- 데이터를 메시지(세그먼트 단위의 블록)로 보내기 위해 IP와 함께 사용하는 프로토콜
특징
- 3-way handshaking을 통해 연결을 설정
- 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고 실제로 데이터 전달이 시작하기전에 한쪽이 다른쪽이 준비되었다는 것을 알 수 있음
- Client -> Server : TCP SYN
- Server -> Client : TCP SYN ACK
- Client -> Server : TCP ACK
- 4-way handshaking을 통해 연결의 해제
- Client -> Server : TCP FIN
- Server -> Client : TCP ACK
- Server -> Client : (데이터를 마저 전송하고)TCP FIN
- Client -> Server : TCP ACK
연결형 서비스
- 3-way handshaking을 통해 연결을 설정
- 데이터 처리 속도를 조절하여 수신자 Buffer의 Overflow 방지
흐름 제어
- 네트워크 내의 패킷 수가 과다하게 증가하지 않도록 방지
혼잡 제어
- 에러 발생시 재전송
- ACK 값이 수신되지 않으면 재전송
높은 신뢰성 보장
- 전이중(Full-Duplex) : 전송이 양방향으로 동시에 일어날 수 있음
- 점대점(Point to Point) : 연결이 정확히 2개의 종단점을 가지고 있음
- 멀티캐스팅이나 브로드캐스팅을 지원하지 않음
전이중, 점대점 방식
UDP란?
- User Datagram Protocol의 약어
- 데이터를 데이터그램 단위로 처리하는 프로토콜
특징
- 연결을 위해 할당되는 논리적인 경로가 없음
- 각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 가짐
- TCP보다 빠름
비연결형 서비스
- 데이터 전송에 대한 보장을 하지 않음
- 패킷 손실이 발생할 수 있음
비신뢰성
- Broadcast, Multicast 지원
TCP와 UDP 비교
TCPUDP
연결형 프로토콜 비연결형 프로토콜 혼잡제어, 흐름제어 혼잡제어, 흐름제어 지원 X 상대적으로 느림 상대적으로 빠름 신뢰성 보장 신뢰성을 보장하지 않음 TCP 패킷은 세그먼트 UDP 패킷은 데이터 그램 1:1 통신 1:1, 1:N, N:N 통신 728x90'Network' 카테고리의 다른 글
브라우저에 URL을 입력하면 어떤 동작을 하는가 (1) 2024.01.27 [AWS] ALB, NLB, GWLB (0) 2023.09.16 [Network] NAT(Network address translation) (0) 2023.09.13 [Network] TCP/IP란? (0) 2020.08.14 [Network] OSI 7 계층(OSI 7 Layer) (0) 2020.07.01