9_yoon
개발저장소
9_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (101)
    • 알고리즘 (52)
      • BJ (40)
      • 프로그래머스 (0)
      • SWEA (10)
      • JO (2)
    • 이론 공부 (7)
      • 네트워크 (2)
      • 알고리즘 (2)
      • Java (1)
      • Web (1)
      • 기타 (1)
    • 개발 공부 (35)
      • Project (1)
      • JavaScript (1)
      • Typescript (1)
      • Spring (12)
      • Java (2)
      • Next JS (7)
      • React (3)
      • Vue (1)
      • Web (5)
      • 기타 (2)
    • 기타 (7)
      • SSAFY (7)
      • 일상 (0)

인기 글

태그

  • 싸피
  • SWEA
  • SSAFY
  • 스프링
  • React
  • 싸피7기
  • 노마드코더
  • 백준
  • 김영한 스프링
  • NextJS

최근 글

티스토리

hELLO · Designed By 정상우.
9_yoon

개발저장소

[네트워크] TCP와 UDP의 비교
이론 공부/네트워크

[네트워크] TCP와 UDP의 비교

2022. 3. 9. 19:50
728x90
반응형

두 개 다 데이터를 보내기 위해 사용하는 프로토콜이다.

TCP

  • Transmission Control Protocol, 전송제어 프로토콜 
  • 인터넷을 통해 종단 간에 신뢰성 있는 바이트 스트림을 전송하도록 설계되었다.
  • TCP서비스는 송신자, 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어진다.
  • TCP에서 연결 설정은 3-way handshake를 통해 이루어진다. 
  • 연결 해제는 4-way handshaking을 통해 이루어진다.
  • 흐름 제어 및 혼잡 제어 기능을 수행한다.

 

UDP

  • User Datagram Protocol, 사용자 데이터그램 프로토콜의 약자로 비연결형 프로토콜이다.
  • IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다.
  • 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않는다.
  • 신뢰성이 낮지만 속도가 빠르다.
  • 신뢰성 보다는 연속성이 중요하다. 

 

종류 TCP UDP
연결방식 연결형 비연결형
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장 전송 순서 바뀔 수 있음
수신 여부 확인 수신 여부 확인 수신 여부 확인 안함
통신 방식 1:1  1:1 / 1:N / N:N

 

=> 내가 TCP와 UDP를 잘 이해할 수 있도록 생각을 정리한 걸 적어보자면

TCP는 수신자와 송신자가 손을 잡고서 정보를 교환한다고 생각하면 된다. 그러므로 신뢰성있고, 데이터의 정보를 온전히 다 받을 수 있음을 보장하는 연결 방법이고, 중요한 파일들을 전송하는데 사용한다. 

UDP는 데이터를 다 전송 받는 것이 목적이 아닌 속도를 더 중요시하는 경우에 사용한다. 그러므로 그냥 송신자가 수신자에게 정보를 일방적으로 막 던져준다고 생각하면 된다. 송신자는 수신자가 정보를 받았는지 안받았는지는 확인하지 않는다. 데이터가 온전히 오는 것보다는 빠르게 도착하는걸 더 중요하게 생각한다는 의미이다. 그래서 UDP는 스트리밍같은 매체에서 자주 사용한다. 

 

 

참고

https://mangkyu.tistory.com/15

https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network#tcp%EC%99%80-udp%EC%9D%98-%EB%B9%84%EA%B5%90

 

728x90
반응형
저작자표시 비영리 동일조건

'이론 공부 > 네트워크' 카테고리의 다른 글

[네트워크] HTTP의 GET과 POST의 차이점  (0) 2022.03.03
    '이론 공부/네트워크' 카테고리의 다른 글
    • [네트워크] HTTP의 GET과 POST의 차이점
    9_yoon
    9_yoon
    배울게 넘쳐나는 개발 세상에서 묵묵히 걸어가며 지식을 쌓는 신입 개발자

    티스토리툴바