TIL 22_12_05

YES31·2022년 12월 5일
0

TIL

목록 보기
9/35
post-thumbnail
  • TCP (Transmission Control Protocol)

    • 서버와 클라이언트간 신뢰성 있는 데이터 송수신을 위해 만들어진 프로토콜입니다.

    • 연결 지향성 프로토콜이라고도 부릅니다.

    • 데이터를 나눠서 보낼수 있으며, 데이터를 받는쪽에서 나눠 받은 데이터를 재조립합니다.
      만약 누락된 데이터가 존재하면 다시 요청해서 받아와 완전한 데이터를 만듭니다.

    • TCP로 서버/클라이언트간 연결이 된 경우 데이터를 양방향으로 주고 받을수 있습니다.

    • 데이터의 순서가 뒤바뀌는 일 없이 안정적이라 신뢰가 가능합니다.

    • UDP에 비해 데이터 송수신 비용(부담)이 크다는 특성을 가졌습니다.

    • UDP보다 전송 속도가 느립니다.

      두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜

      .
      .

  • UDP (User Datagram Protocol)

    • TCP와 다르게 비연결성 프로토콜입니다.

    • 데이터를 보내고 제대로 받았는지 확인하지 않아, 데이터가 제대로 도착했는지 보장하지 않는 신뢰도가 비교적 낮습니다.

    • 데이터를 순차적으로 보내도 받는 쪽에서는 다른 순서로 전달받을 수 있습니다.

    • 데이터를 보내기만 하고 별 다른 처리를 하지 않기 때문에 TCP에 비해 비용(부담)이 적다는 특성을 가졌습니다.

    • TCP보다 전송 속도가 빠릅니다.


신뢰성이 보장되지 않기 때문에 UDP로 데이터를 보내면 손실되는 데이터가 발생할 수 있다. 하지만 동영상의 경우를 생각할 때 데이터가 왕창 소실됐다면 괴이한 화면이 나올 수도 있지만, 데이터 몇 개 소실되어봤자 전체 화면에서 일부 구역이 제대로 안나오는 수준에 불과하다. 그렇기에 사람들이 크게 불평하지 않을 수준의 영상만 제공할 수 있다면 느린 TCP를 쓸 이유가 없는 셈이다. 그렇기에 실시간 스트리밍을 하는 곳에서 주로 사용한다.

UDP 헤더에는 목적지주소, 데이터순서, checksum과 실데이터만 포함되고, 확인응답 같은 것이 없기 때문에 TCP보다 용량이 가볍고 송신속도가 빠르다. 하지만 확인응답을 하지 못하기때문에 신뢰도가 TCP보다 떨어지게 된다. 따라서 UDP는 비연결형이라 부르며 TCP는 연결형이라 구분한다.

.
.
.

분야

주로 스트리밍 분야나 VoIP, mVoIP, 온라인 게임의 서버-클라이언트 통신에도 대부분 UDP가 사용된다. 데이터가 빠짐없이 전달되는 것보다 빠른 응답속도를 중심으로 실시간 통신을 우선시 하기 때문이다.

profile
🏀 주니어 개발자

0개의 댓글