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
'개발자: 지식 정리 > CS 지식: 네트워크' 카테고리의 다른 글
👆[기초공사] 인터넷 통신부터 IP 주소까지 (0) | 2023.08.15 |
---|---|
Forward proxy, Reverse proxy, Load Balancing 이란? (0) | 2021.11.23 |
TCP 3-way handshake / 4-way handshake / 데이터 통신 (0) | 2021.11.12 |
TCP 흐름제어/혼잡제어 (0) | 2021.11.11 |
OSI 7 layer, TCP/IP layer (0) | 2021.11.11 |