CS - TCP vs UDP


1. TCP & UDP 개요

  • 둘 다 OSI 7계층 중 TCP/IP의 전송 계층에서 사용되는 프로토콜이다.
    • 프로토콜이란 컴퓨터 네트워크에서 통신하기 위한 규칙의 집합을 말한다.
  • 둘 다, 데이터의 전달을 담당하며, 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당한다.



2. TCP

  • 연결 지향적 프로토콜이다.
  • 클라이언트와 서버가 연결된 상태에서 데이터를 주고 받을 수 있다.
  • 신뢰성을 보장하는 연결형 서비스이다.
  • 안정적으로, 순서대로, 에러없이 데이터를 교환할 수 있다.
  • 연결시에는 3-way handshaking , 연결해제시에는 4-way handshaking 을 사용하여 가상 회선 방식을 제공한다.
    • 3-way handshaking
      • Client -> Server : 내 말 들려? (SYN - 무작위 숫자를 보냄)
      • Server -> Client : 응! 들려. 너는? (ACK+SYN - SYN 숫자에서 1을 더함 그걸 다시 보냄)
      • Client -> Server : 나도 잘들려! (ACK - 그걸 다시 받아서 1을 더함)
    • 4-way handshaking
      • Client -> Server : 나는 다 보냈어! 이제 끊자
      • Server -> Client : 알았어 잠시만~
      • Server -> Client : 나도 끊을게!
      • Client -> Server : 알겠어!



3. UDP

  • 비연결형 프로토콜이다.
  • 전송 순서가 바뀔 수 있으며, 데이터 수신 여부를 확인하지 않는다.
  • 신뢰성이 낮다
  • TCP보다 속도가 빠르다.
  • 1:1 , 1:N , N:N 통신이 가능하다.



4. 정리

  • TCP는 연속성보다 신뢰성 있는 전송이 중요할 때 사용. 애플리케이션 웹 소켓 등.
  • UDP는 신뢰성보다는 연속성이 중요한, 실시간 스트리밍과 같은 서비스에 이용된다.






results matching ""

    No results matching ""