inblog logo
|
RottenYogurt's Development Blog
    network

    TCP와 UDP 프로토콜

    썩은요플렛's avatar
    썩은요플렛
    Aug 07, 2024
    TCP와 UDP 프로토콜
    Contents
    TCP(Transmission Control Protocol)UDP(User Datagram Protocol)
     

    TCP(Transmission Control Protocol)

     
    핵심 전송 계층 프로토콜 중 하나로, 네트워크에서 데이터를 신뢰성 있게 전송하기 위해 사용된다.
    TCP는 연결 지향적 프로토콜로, 송신자와 수신자 간에 신뢰성 있는 통신을 보장한다.
     

    특징

     
    1. 연결 지향적
     
    • TCP는 데이터를 전송하기 전에 송신자와 수신자 간에 연결을 설정한다.
    • 이 연결은 3-way-handshake 과정을 통해 이루어 진다
    • 데이터 전송이 끝나면 연결을 종료한다
     
    1. 신뢰성
     
    • 데이터의 정확한 전달을 보장하기 위해 패킷 손실, 중복, 오류를 검출하고 수정한다.
    • 데이터가 올바른 순서로 도착하도록 보장
     
    1. 흐름 제어
     
    • 송신자가 수신자의 처리 능력에 맞게 데이터를 전송할 수 있도록 조절한다. 이는 수신자가 데이터를 처리할 수 있을 때까지 송신자가 기다리도록 한다.
     
    1. 혼잡 제어
     
    • 네트워크 혼잡을 방지하기 위해 송신 속도를 조절한다. 이는 네트워크의 효율성을 높이고 혼잡을 줄이는 데 도움이 된다.
     
     

    UDP(User Datagram Protocol)

     
    TCP와 마찬가지로 핵심 전송 계층 프로토콜 중 하나로 TCP와 달리 비연결형 프로토콜이다. UDP는 신뢰성보다는 속도와 효율성을 중시하며, 주로 실시간 애플리케이션에 사용된다.
     

    특징

     
    1. 비연결형
     
    • 송신자와 수신자 간 연결을 설정하지 않고 데이터를 전송
    • 각 데이터그램은 독립적으로 처리되며, 송신자는 수신자가 데이터를 받았는지 확인하지 않는다.
     
    1. 신뢰성 부족
     
    • 데이터 전송의 신뢰성을 보장하지 않는다.
    • 패킷 손실, 중복 순서 변경이 발생할 수 있다.
    • 오류 검출 및 수정 메커니즘이 없다.
     
    1. 순서 미보장
     
    • 데이터가 전송된 순서대로 도착하지 않을 수 있다.
    • 각 패킷은 독립적으로 처리되므로 순서가 보장되지 않는다.
    💡
    패킷은 네트워크 통신에서 데이터를 작은 조각으로 나눈 단위이다. 즉 데이터 전송 기본 단위라고 보면 된다.
     
    1. 오버헤드(통신 시 발생하는 추가적인 자원)가 적음
     
    • 연결 설정 및 유지, 흐름 제어, 혼잡 제어 등의 추가적인 오버헤드가 없다.
    • 빠른 데이터 전송이 가능하다.
     
     
    Share article
    Contents
    TCP(Transmission Control Protocol)UDP(User Datagram Protocol)

    RottenYogurt's Development Blog

    RSS·Powered by Inblog