[네트워크 프로그래밍] 4. TCP VS UDP

유기태·2023년 11월 24일
0

TCP

느리지만(느린것도 엄청 느린거아님) 신뢰성 있는 전송 방식

연결형 서비스

  1. TCP방식은 클라이언트와 서버를 연결할 때 서로의 연결 통로를 만들어놓고 통신한다.
  2. 전송순서가 보장된다.
  3. 데이터가 유실되면 데이터를 다시 보낸다.
  4. 수신측에서 데이터를 받기 애매한 상황일 때는 우선 기다린다(흐름제어 / 혼잡제어)

UDP에 속도가 느리면서 경계선(Boundary)가 명확하지 않음

  1. 흐름제어/혼잡제어 그리고 데이터 유실시 다시 보내는 규칙 때문에 속도가 UDP에 비해 느리다. (특정한 상황에서)
  2. 경계선이 명확하지 않아 데이터의 전송순서는 보장하나 데이터가 전송한 형태 그대로 수신측에서 받을 수 있을지는 불확실하다

UDP

신뢰성이 떨어지지만 그 만큼 속도가 빨라지는 전송 방식

비연결형 서비스

  1. 연결형이 아니기 때문에 데이터를 보내고는 확인할 방법이 없다.( 정규적인 방법에서는)
  2. 흐름제어 / 혼잡제어 데이터 유실 복구 같은 규칙들을 지키지 않고 단순하기 때문에 TCP에 비해 속도가 빠르다.
  3. 경계선이 명확해 전송 순서는 보장하지 않으나 데이터가 수신측의 온전히 그대로의 형태로 도착한다.

TCP에 비해 신뢰성이 없음

  1. 전송 순서를 보장하지 않는다.
  2. 데이터 유실시 보장하지 않는다.(알빠노)
  3. 혼잡제어 / 흐름제어 없이 일단 데이터를 보낸다.
profile
게임프로그래머 지망!

0개의 댓글