ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Network] TCP와 UDP의 차이
    Network 2020. 8. 31. 21:44
    728x90

    TCP란?

    • Transmission Control Protocol의 약어
    • 네트워크 계층 중 전송 계층에서 사용하는 프로토콜로 장치들 사이에 논리적인 접속을 성립하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스
    • 데이터를 메시지(세그먼트 단위의 블록)로 보내기 위해 IP와 함께 사용하는 프로토콜

    특징

    • 연결형 서비스
      • 3-way handshaking을 통해 연결을 설정
        • 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고 실제로 데이터 전달이 시작하기전에 한쪽이 다른쪽이 준비되었다는 것을 알 수 있음
        1. Client -> Server : TCP SYN
        2. Server -> Client : TCP SYN ACK
        3. Client -> Server : TCP ACK
      • 4-way handshaking을 통해 연결의 해제
        1. Client -> Server : TCP FIN
        2. Server -> Client : TCP ACK
        3. Server -> Client : (데이터를 마저 전송하고)TCP FIN
        4. Client -> Server : TCP ACK
    • 흐름 제어
      • 데이터 처리 속도를 조절하여 수신자 Buffer의 Overflow 방지
    • 혼잡 제어
      • 네트워크 내의 패킷 수가 과다하게 증가하지 않도록 방지
    • 높은 신뢰성 보장
      • 에러 발생시 재전송
      • ACK 값이 수신되지 않으면 재전송
    • 전이중, 점대점 방식
      • 전이중(Full-Duplex) : 전송이 양방향으로 동시에 일어날 수 있음
      • 점대점(Point to Point) : 연결이 정확히 2개의 종단점을 가지고 있음
      • 멀티캐스팅이나 브로드캐스팅을 지원하지 않음

    UDP란?

    • User Datagram Protocol의 약어
    • 데이터를 데이터그램 단위로 처리하는 프로토콜

    특징

    • 비연결형 서비스
      • 연결을 위해 할당되는 논리적인 경로가 없음
      • 각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 가짐
      • TCP보다 빠름
    • 비신뢰성
      • 데이터 전송에 대한 보장을 하지 않음
      • 패킷 손실이 발생할 수 있음
    • Broadcast, Multicast 지원

    TCP와 UDP 비교

    TCPUDP

    연결형 프로토콜 비연결형 프로토콜
    혼잡제어, 흐름제어 혼잡제어, 흐름제어 지원 X
    상대적으로 느림 상대적으로 빠름
    신뢰성 보장 신뢰성을 보장하지 않음
    TCP 패킷은 세그먼트 UDP 패킷은 데이터 그램
    1:1 통신 1:1, 1:N, N:N 통신
    728x90

    'Network' 카테고리의 다른 글

    브라우저에 URL을 입력하면 어떤 동작을 하는가  (1) 2024.01.27
    [AWS] ALB, NLB, GWLB  (0) 2023.09.16
    [Network] NAT(Network address translation)  (0) 2023.09.13
    [Network] TCP/IP란?  (0) 2020.08.14
    [Network] OSI 7 계층(OSI 7 Layer)  (0) 2020.07.01
Designed by Tistory.