아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • 여행
  • 아이폰
  • 해킨토시
  • 던젼 앤 드래곤즈
  • C
  • Ruby on Rails
  • jsp
  • Dungeons & Dragons
  • javascript
  • 정읍
  • CSS
  • 안드로이드
  • 자바
  • mysql
  • 전라도
  • TRPG
  • Java
  • Linux
  • Python
  • Android

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Computer Science

TCP vs UDP

2017. 9. 30. 06:42
반응형


TCP (Transmission Control Protocol)

  • 인터넷에서 많이 사용되는 socket 통신 방법
  • 보내야 하는 data를 네트워크가 허용하는 packet의 크기에 맞춰 자동으로 나눠서 보내는 것
  • 잘 보내졌는지 에러 없는지 체크하면서 packet을 잃어버리거나 잘못되지 않도록 검사함
  • 네트워크의 bandwidth에 부하가 생기지 않도록 자동으로 조절되면서 데이타가 보내지고, 주고 받는 데이타의 신뢰도를 보장
  • 전송 속도가 느림
  • 신뢰도 확보가 중요하거나 용량이 큰 데이타를 네트워크를 통해 전달해야 할 때, 실시간일 필요는 없을 때 활용하기 적합


  • UDP (User Datagram Protocol)

  • UDP는 data의 빠른 전송이 특징
  • packet이 잘 전달되었고 에러가 없는지를 매번 검사하지 않음
  • 오버헤드를 최소화한 매우 간단한 구조
  • 비연결형 (connectionless) IP 전달 서비스로 최소한의 신뢰성을 제공
  • 사용하는 경우
    • 단순한 요청-응답을 필요로 하는 프로세스
    • 내부적인 흐름 제어와 오류제어 메커니즘을 가지고 있는 프로세스
    • 멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜
    • SNMP(Simple Network Management Protocol)와 같은 관리 프로세스
    • 온라인게임이나 대량의 데이터를 신속하게 전달을 요하는 스트리밍 서비스 등



 

 TCP

 UDP 

 프로토콜 연결

 연결지향형 프로토콜

 Connection-oriented protocol


 전송 전에 연결을 해야 함

 비 연결지향형 프로토콜

 Connection-less protocol


 연결 수립 없이 데이터 송신

 애플리케이션 데이터

 입력 인터페이스

 바이트 스트림

 connection by byte stream


 특정한 구조 없이 데이터 송신

 메시지 스트림

 connection by message stream


 데이터를 별도의 패키지로 송신

 흐름제어

 혼잡제어, 흐름제어

 Congestion control, flow control

 혼잡제어, 흐름제어 지원하지 않음

 no congestoin control, flow control

 순서

 순서 보장

 ordered, lower speed

 순서 보장하지 않음
 not ordered, higher speed

 신뢰성, 승인

 메시지 전송을 신뢰함

 모든 데이터에 대한 승인

 신뢰성 없음

 승인 없는 최선 노력 전송 방식

 재전송

 모든 데이터 전송 관리

 손실 데이터 자동 재전송

 재전송 하지 않음

 애플리케이션은 손실 데이터를 탐지하고

 필요할 경우 재전송함

 부하

 낮지만 UDP 보다 높음

 매우 낮음

 전송 속도

 빠르지만 UDP 보다 느림

 매우 빠름

 적합 데이터 양

 소형에서 초대형

 소형에서 중형 (최대 수백 Byte)

 애플리케이션의 유형

 신뢰할 수 있는 방법으로 데이터를 송신

 완전성보다 전달 속도가 중요

 소량의 데이터를 송신

 멀티캐스트/브로트캐스트를 사용

 유명 애플리케이션,프로토콜

 FTP, Telnet, SMTP, DNS, HTTP, POP, IMAP

 DNS, BOOTP, DHCP, TFTP, SNMP, RIP

 패킷

 세그먼트 (Segment)

 데이터그램 (Datagram)







반응형
저작자표시 비영리 변경금지 (새창열림)

'Computer Science' 카테고리의 다른 글

JVM 메모리 구조 (JVM Memory structure)  (0) 2017.09.30
DB 트랜잭션 (Transaction)의 ACID 속성과 분산시스템 BASE 속성  (0) 2017.09.30
OOP(객체 지향 프로그래밍) 5원칙 및 특성  (0) 2017.09.30
Java 자료구조 비교  (0) 2017.09.30
TCP 3 Way-Handshake & 4 Way-Handshake  (0) 2017.09.30
OSI 7 계층 (OSI 7 Layer)  (0) 2017.09.29
프로세스와 스레드(Process vs Thread)  (0) 2017.09.29
64비트와 32비트의 차이  (0) 2017.09.29
퀵 정렬, 퀵 소트(Quick Sort)  (0) 2017.09.21
계수정렬, 카운팅 소트(Counting Sort)  (0) 2017.09.21
    'Computer Science' 카테고리의 다른 글
    • OOP(객체 지향 프로그래밍) 5원칙 및 특성
    • Java 자료구조 비교
    • TCP 3 Way-Handshake & 4 Way-Handshake
    • OSI 7 계층 (OSI 7 Layer)
    아틴
    아틴

    티스토리툴바