boseok-note
  • README
  • javascript
    • 함수형 자바스크립트
    • core
      • 이벤트루프 (Event Loop)
      • boxing, unboxing
      • prototype
      • 실행컨텍스트
      • hoisting
      • 클로져(Closure)
      • arguments
      • Scope - 스코프 - 유효범위
    • api
      • Promise
      • Fetch API
      • worker-api
      • Web API
    • lib
      • rxjs
        • rxjs
    • 호스트객체?
    • es6
      • var-let-const
      • template-literals
      • async-await
    • tip
      • array-like
      • Object literal, new Object
    • dom-api
      • HTML Element get Text
      • get-size
      • scrollToBottom
    • for in, for of 차이
    • storage
    • Constructor (생성자)
    • Javascript
    • module
  • front-end
    • vuejs
      • vue-rx
      • README
        • 1-start
        • 2-basic-component
        • 3-add-component
        • 4-advanced-component
        • 5-dynamic-methods-event
        • 6-internal-process
      • next-tick
      • compare-react
      • v-model-with-props
      • v-for
      • vuejs
      • vuex
    • browser
      • dom
      • cssom
      • reflow, repaint
      • 렌더링 트리(Rendering Tree)
      • web-standard
    • css
      • text-ellipse
      • white-space
      • css layout
    • Pre-render
    • react-native
      • react-native
    • 최적화 관련
    • reactjs
      • performance
      • reactjs
    • CSR, SSR
  • server-side
    • letsencrypt
    • auto-deploy
    • nlb
    • Certbot, aws https setting with wildcard
    • mysql
    • node.js
      • npm
        • npm install
      • node-dynamodb
      • node에서 간편하게 letsencrypt를 사용하여 https 구현하는 방법
    • Docker
    • nginx
    • Amazon Web Service
    • nginx https 설정
  • design-pattern
    • observer
    • flux
    • README
  • coop
    • git
      • gitignore
      • remote
      • ssh key 사용하기
      • password
      • credential
      • git
  • cs
    • port
    • data-structure
      • tree
      • binary-tree
    • network
      • home-router
      • tcp-udp
      • http
    • process
  • etc
    • sync-async
    • seo
      • seo
      • SEO Check Point
    • rest
    • unity
      • methods
Powered by GitBook
On this page
  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)
  1. cs
  2. network

tcp-udp

TCP (Transmission Control Protocol)

TCP프로토콜을 사용하면

클라이언트가 서버에 접속하기 위해서 연결하는 과정이 있는데

이것을 3-handshake라고 한다.

마찬가지로 연결을 해제할때는 4-handshake라고 한다.

TCP는 UDP와는 다르게 handshake와 에러제어, 흐름제어 등의 기능이 있다.

이러한 과정때문에 속도는 좀 더 떨어지지지만 좀더 좋은 품질의 데이터를 얻을 수 있다.

그리고 설정된 연결을 통해 양방향으로 데이터를 전송한다.

하지만 요즘 시대에 네트워크가 에러나는 경우는 극히 드물다고한다

UDP (User Datagram Protocol)

TCP에서 언급한 것처럼, 연결하는 과정이 없다.

그렇기 때문에 에러제어, 흐름제어는 당연히 없고,

연결이 됐는지 안됐는지도 모른다.

단방향으로 일방적으로 데이터를 보내고 데이터가 누락되더라도 알 수 없다.

빠른 latency와 데이터 전송 속도가 중요한 인터넷방송이나 온라인게임 서비스들에는 udp가 적합하다.

스타크래프트에서 UDP로 게임을 해본적이 있으신가요? 그 UDP가 여기서 설명하는 UDP입니다.

인터넷방송에서 1프레임정도 누락되는 것은 사실 체감도 안되고 크리티컬하지도 않을 것이다.

Previoushome-routerNexthttp

Last updated 6 years ago