[CS][네트워크] TCP 와 UDP

손경이·2024년 4월 26일
0

CS Study

목록 보기
16/25

TCP와 UDP


네트워크 통신을 할 때 표준화 모델인 OSI 7계층 중에서 전송 계층에서 TCP, UDP 프로토콜이 사용됨

** 전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층

TCP : 연결형 서비스로 3-way handshake 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장하지만, UDP보다 속도가 느리다는 단점이 있음

  • 연속성보다 신뢰성이 있는 전송이 중요할 때 사용, 예를들면 파일 전송

UDP : 비연결형 서비스로 클라이언트와 서버간의 연결이 보장되지 않아서 신뢰성이 떨어지는 단점이 있음, 데이터 수신 여부를 확인하지 않기 때문에 속도가 빠르다는 장점이 있음

  • 신뢰성보다는 연속성이 중요한 실시간 스트리밍 서비스에 사용

> TCP(Transmission Control Protocol)

  • 연결형(connection-oriented) 프로토콜
    • 연결이 성공해야 통신이 가능
  • 데이터 경계를 구분하지 않음, 바이트 스트림(byte-stream) 서비스
  • 신뢰성 있는 통신을 위해 사용하는 프로토콜
    • 데이터의 순서 유지를 위해 각 바이트마다 번호를 부여
  • 높은 신뢰성을 보장하지만, UDP보다는 속도가 느림
  • 서버와 클라이언트가 3-way handshake로 연결을 하고 4-way handshake로 연결 해제하며 1:1로 통신을 함
  • 데이터 흐름제어와 혼잡제어가 이루어짐
    • 흐름 제어 : 수신자 버퍼 오버플로우 방지
    • 혼잡 제어 : 네트워크 내 패킷 수가 과도하게 증가하는 현상 방지

> UDP(User Datagram Protocol)

  • 비연결형(connectionless) 프로토콜
    • 연결 없이 통신 가능
  • 데이터 경계를 구분, 데이터그램(datagram) 서비스
    • 데이터 전송 순서가 바뀔 수 있음
  • 비신뢰적인 데이터 전송
    • 손상된 데이터 재전송 하지 않고 데이터 순서 유지 작업 하지 않음
  • 신뢰성이 낮지만, TCP보다 속도가 빠르고 네트워크 부하가 적음
  • 데이터 수신 여부를 확인하지 않음
  • 스트리밍같은 서비스에 주로 사용
  • 1:1(unicast), 1:N(broadcast), N:M(multicast)으로 연결이 가능

| TCP 와 UDP 비교


참고

0개의 댓글