개발자: 지식 정리/CS 지식: 네트워크
TCP와 UDP
by 머작가2
2021. 11. 11.
TCP
- 신뢰성있는 데이터 통신을 가능하게 해주는 프로토콜
- 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP 와 함께 사용하는 프로토콜
- 호스트간 신뢰성 있는 데이터 전달과 흐름제어 및 혼잡제어 등을 제공
- 연결지향적 (Connection-oriented)으로 통신을 위해 연결 설정 및 해제가 필요.
(연결지향적: 연결이 성공해야 통신이 가능)특징
- 연결형 (connnection-oriented) 서비스로 연결이 성공해야 통신이 가능하다.
- 데이터의 경계를 구분하지 않는다. (바이트 스트림 서비스)
- 데이터의 전송 순서를 보장한다. (데이터의 순서 유지를 위해 각 바이트마다 번호를 부여)(Sequence Number, Ack Number를 통한 신뢰성 보장)
- 데이터 유실시 재전송함.
- 데이터 흐름 제어(송신측과 수신측의 전송속도 조절.) 및 혼잡 제어(네트워크 내의 패킷 수가 과도하게 증가하는 현상 방지→혼잡 방지)
- 연결의 설정(3-way handshaking)과 해제(4-way handshaking)
- 전이중(Full-Duplex), 점대점(Point to Point) 서비스
- UDP보다 전송속도가 느리다.
UDP
- 비연결 지향적 프로토콜. 발신자가 일방적으로 데이터를 발신
- TCP와는 다르게 UDP는 중간에 패킷이 유실되어도 재전송을 하지 않습니다.
- 데이터 순서 유지를 보장하지 않는다.
- TCP보다는 신뢰성이 떨어지지만 일반적으로 더 빠른 프로토콜
- 비교적 데이터의 신뢰성이 중요하지 않을 때 사용 (ex. 영상 스트리밍)
특징
- 비연결형 서비스로 연결 없이 통신이 가능하며 데이터그램 방식을 제공한다.
- 데이터 경계를 구분한다. (데이터그램(datagram) 서비스, TCP처럼 데이터를 자르지 않음)
- 정보를 주고 받을때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
- 신뢰성 없는 데이터를 전송한다. (데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않는다.)
- 패킷관리가 필요하다.
- 패킷 오버헤드가 적어 네트워크 부하가 감소되는 장점.
- 상대적으로 TCP보다 전송속도가 빠르다.
TCP와 UDP 공통점
- 포트 번호를 이용하여 주소를 지정
- 데이터 오류 검사를 위한 체크섬 존재
TCP와 UDP 차이점
구분 |
TCP |
UDP |
연결방식 |
연결지향적 |
비연결지향적 |
전송순서 |
전송순서 보장 |
전송순서 보장하지 않음 |
수신여부 확인 |
수신 여부를 확인 |
수신 여부를 확인하지 않음 |
통신방식 |
일대일만 |
1:1, 1:N, N:N 통신 모두 가능 |
속도 |
느림 |
빠름 |
참조
https://mangkyu.tistory.com/15?category=762469
https://m.blog.naver.com/ya3344/221797847301
(https://mangkyu.tistory.com/15?category=762469)