케네스로그

[WEB] TCP/UDP 본문

Dev/WEB

[WEB] TCP/UDP

kenasdev 2023. 1. 3. 23:20
반응형

TCP와 UDP

  • 네트워크의 전송계층에서 사용하는 프로토콜
  • 데이터 전달을 위하여 사용하는 프로토콜

전송 계층(Transport Layer)

image

  • OSI 7 계층 중 Layer 4 계층에 해당
  • 송신자와 수신자를 연결하는 통신 서비스 제공
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공

TCP

  • 전송 제어 프로토콜 (Transmission Control Protocol)의 약자

특징

  • 연결 지향 프로토콜
  • 가상회선 패킷 교환 방식을 사용
  • 데이터의 전송 순서를 보장 (데이터의 순서 유지를 위해 각 바이트마다 번호를 부여)
  • 신뢰성있는 데이터 전송(ACK 이용) => 데이터를 확실히 주고받을 때 사용
  • 서버와 클라이언트는 1:1 연결된다 => 논리적 경로를 지정한 후 고정 경로로 통신
  • Streaming 서비스에 불리하다(손실된 경우 재전송 요청을 하므로)
  • ex. 웹/메일/파일 공유

연결 지향 프로토콜이란?

클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜



UDP

  • 사용자 데이터그램 통신 규약 (User Datagram Protocol: UDP)
  • 안전하게 보호되어야 할 필요가 없는 실시간 응용 프로그램에서 흔히 이용

데이터그램: 독립적인 관계를 지니는 패킷

특징

  • 비연결 지향 프로토콜
  • 신뢰성 없는 데이터 전송(도착 결과 확인 과정이 없어 데이터 전송 중 손실 가능성이 있음)
  • 패킷관리가 필요
  • 시간 동기가 필요한 실시간 스트리밍 서비스 등에서 사용
  • 서버와 클라이언트는 1대1, 1대N, N대M 등으로 연결될 수 있다

비연결 지향 프로토콜이란?

데이터를 주고받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식



비교

공통점

  • 포트 번호를 이용하여 주소를 지정
  • 데이터 오류 검사를 위한 체크섬 존재

체크섬: 데이터를 송신하는 중에 발생할 수 있는 오류를 검출하기 위한 값

차이점

image

흐름제어와 혼잡제어

흐름제어: 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것

혼잡제어: 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것



반응형

'Dev > WEB' 카테고리의 다른 글

[WEB] Rest, RestAPI, Restfulness  (0) 2023.01.04
[WEB] HTTP와 웹의 동작과정  (1) 2023.01.03
[WEB] HTTP  (0) 2023.01.03
HTML 문서 구조화, 시멘틱 마크업이 필요한 이유  (0) 2021.08.16
HTML 컨텐츠 카테고리와 모델의 이해  (0) 2021.08.16