TCP vs UDP

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 주요 통신 프로토콜로, 각각 다른 방식으로 데이터를 전송한다.

TCP (Transmission Control Protocol)

특징

  • 연결 지향(Connection-oriented)
    TCP는 통신을 시작하기 전에 연결을 설정한다. 이 연결은 3-way handshake 과정을 통해 이루어진다.
  • 신뢰성(Reliability)
    데이터 전송의 신뢰성을 보장한다. 데이터 패킷이 손실되거나 손상되면 재전송한다.
  • 순서 보장(Ordering)
    패킷이 순서대로 도착하도록 보장한다. 수신자는 전송된 데이터가 원래의 순서대로 도착하는 것을 확인할 수 있다.
  • 흐름 제어(Flow control)
    송신자와 수신자 간의 데이터 전송 속도를 조절하여 수신자가 데이터를 처리할 수 있도록 한다.
  • 혼잡 제어(Congestion control)
    네트워크 혼잡을 피하기 위해 송신 속도를 조절한다.

용도

  • 웹 브라우징(HTTP/HTTPS)
  • 이메일(SMTP, IMAP, POP3)
  • 파일 전송(FTP)
  • 원격 서버 접속(SSH, Telnet)

UDP (User Datagram Protocol)

특징

  1. 비연결 지향(Connectionless)
    UDP는 연결 설정 없이 데이터를 전송한다.
  2. 비신뢰성(Unreliable)
    데이터 전송의 신뢰성을 보장하지 않는다. 데이터 패킷이 손실되거나 손상되어도 재전송하지 않는다.
  3. 순서 미보장(No ordering)
    패킷의 순서를 보장하지 않는다. 수신자는 패킷이 순서대로 도착하지 않을 수 있다.
  4. 단순한 헤더 구조(Simple header)
    TCP에 비해 UDP의 헤더 구조가 단순하여 오버헤드가 적다.
  5. 빠른 속도(Low latency)
    TCP보다 전송 속도가 빠르고 지연 시간이 적다.

용도

  • 실시간 스트리밍(Media streaming)
  • 온라인 게임
  • VoIP(Voice over IP)
  • 방송(Broadcast)
  • DNS(Domain Name System) 조회

3-way Handshake는 TCP(Transmission Control Protocol)에서 연결을 설정하기 위해 사용하는 절차이다. 이 과정은 세 개의 단계로 이루어지며, 클라이언트와 서버 간의 신뢰할 수 있는 통신을 보장하기 위한 중요한 메커니즘이다. 3-way Handshake 과정은 다음과 같다.

  1. SYN (Synchronize)
    클라이언트가 서버에 연결 요청을 보낸다.
    이 요청에는 클라이언트의 초기 시퀀스 번호(ISN, Initial Sequence Number)가 포함된다.
    패킷의 플래그 필드에 SYN(Synchronize) 플래그가 설정되어 있다.
  2. SYN-ACK (Synchronize-Acknowledge)
    서버는 클라이언트의 SYN 요청을 수신하고, 이를 확인하는 응답을 보낸다.
    응답에는 서버의 초기 시퀀스 번호(ISN, Initial Sequence Number)와 클라이언트의 시퀀스 번호에 대한 확인 응답(ACK, Acknowledgment)이 포함된다.
    패킷의 플래그 필드에 SYN 및 ACK 플래그가 설정되어 있다.
  3. ACK (Acknowledge)
    클라이언트는 서버의 SYN-ACK 응답을 수신하고, 이를 확인하는 응답을 보낸다.
    이 응답에는 클라이언트의 시퀀스 번호와 서버의 시퀀스 번호에 대한 확인 응답(ACK, Acknowledgment)이 포함된다.
    패킷의 플래그 필드에 ACK 플래그가 설정되어 있다.
같은 카테고리의 다른 글
스팀 / 게임 숨기기, 숨긴 게임 보기

스팀 / 게임 숨기기, 숨긴 게임 보기

언제할지도 모르면서 세일할 때 하나씩 사다보니 스팀에서 산 게임이 많아지고 있습니다. 그 중에는 엔딩까지 봐서 다시는 안 할 게임도 있고, 사긴 했지만 정말 언제 할지 모를 게임도 있고, 원래 것과 리마스터가 같이 있는 것도 있습니다. 그러다보니 라이브러리에 하지도 않을 게임이 잔뜩 보이는데요... 다행히도 목록에서 그 게임들을 숨길 수 있습니다. 방법은... 게임을 선택하고 ...

한화손해보험 / 실비보험 / 보험금 앱으로 청구하여 받는 방법

한화손해보험 / 실비보험 / 보험금 앱으로 청구하여 받는 방법

한화손해보험에 실비보험을 들어둔 게 있습니다. 병원에 잘 가지 않아서 실비보험의 드는 게 의미가 있나 고민을 했었는데, 나이가 들고 병원을 다니게 되니 잘 가입했다는 생각이 듭니다. 물론 계속 건강해서 보험금을 아까워하는 게 더 좋은 거지만요. 실비보험은 실제로 지출한 병원비를 보장 받는 건데, 보험금을 받으려면 보험회사에 청구를 해야 합니다. 병원에서 보험사로 자동으로 청구를 ...

INET과 UDS

INET과 UDS는 소켓(socket) 프로그래밍에서 사용되는 용어로, 네트워크 통신 방식의 차이를 의미합니다. 1. INET (Internet socket) INET 소켓은 TCP/IP 프로토콜을 통해 네트워크상의 통신을 지원하는 소켓입니다. 원격 컴퓨터와의 통신에 사용됩니다. IP 주소와 포트 번호를 사용합니다. 일반적인 인터넷 및 네트워크 응용 프로그램(예: HTTP 웹 서버, FTP 서버 등)에서 사용됩니다. 예시: 192.168.0.100:8080 2. UDS (Unix Domain Socket) UDS는 UNIX 운영체제에서 로컬 프로세스 간 ...

국세청 홈택스 / 세무서 발송 우편물 홈택스에서 보는 방법

국세청 홈택스 / 세무서 발송 우편물 홈택스에서 보는 방법

세무서에서 여러 가지 우편물을 보내온다. 만약 그 우편물을 분실했거나, 우편물을 받기 곤란한 상황이라면 어떻게 할까? 다행히 국세청 홈택스에서 최근 1년 우편물을 확인할 수 있다. 국세청 홈택스에 로그인한 후 로 간다. 를 클릭한다. 를 클릭하면... 우편물 발송 내역이 나온다. 를 클릭하면... 우편물의 내용을 볼 수 있다.

VMware Workstation Pro / 다운로드하는 방법

VMware Workstation Pro / 다운로드하는 방법

VMware Workstation Pro는 이름에 Pro가 있지만 무료입니다. 2024년 11월부터 상업적 목적을 포함하여 누구나 무료로 사용할 수 있습니다. 하지만, 그냥 다운로드를 하지는 못하고 https://support.broadcom.com/에 회원 가입을 해야 합니다.

보안 / ATP - Advanced Threat Protection

Advanced Threat Protection(ATP)는 고급 사이버 위협으로부터 네트워크, 시스템 및 데이터를 보호하기 위한 일련의 보안 솔루션입니다. ATP 솔루션은 악성 공격을 탐지하고 차단하며, 위협에 대한 심층 분석과 대응을 제공하여 기업의 보안을 강화합니다. 주요 기능 실시간 모니터링 및 분석 네트워크 트래픽과 시스템 활동을 실시간으로 모니터링하여 이상 징후를 탐지합니다. 위협 탐지 및 차단 악성 소프트웨어, 피싱, 제로데이 공격 등 ...

한화손해보험 / 실비보험 / 보장 내용 확인하는 방법

한화손해보험 / 실비보험 / 보장 내용 확인하는 방법

한화손해보험의 실비보험에 가입되어 있다. 손을 다쳐 체외충격파 치료를 받으려고 하는데, 실비보험 대상인지 확인하기 위해 전화로 문의를 했다. 보상 대상이 맞긴 하지만 정확한 것은 심사를 해야 한다는 답변을 들었고, 금액 한도와 횟수 등에 대한 것도 들었다. 그런데, 메모를 하지 않아 금액 한도와 횟수를 잊어버렸다. 전화 문의는 연결이 쉽지 않고, 또 잊어버릴 수 ...

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin을 업로드 하고 로그인 했을 때 다음과 같은 문구가 나오는 경우가 있습니다. 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다. 해결하는 방법은 다음과 같습니다. phpMyAdmin 디렉토리에 있는 config.sample.inc.php를 config.inc.php로 이름을 바꾸어 저장합니다. 그리고 파일에 있는 다음 코드에 값을 채웁니다. $cfg = ''; 32개 보다 적은 문자를 넣으면 길이가 짧다는 메시지가 나오므로, 32개 이상의 문자를 입력합니다.

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

근로자는 매년 초 전년도 근로소득에 대해서 연말정산을 합니다. 이때 소득공제 또는 세액공제를 받기 위해서 보험료, 교육비, 신용카드 사용액 등을 제출을 하죠. 사실 꼭 해야 하는 것은 아닙니다. 5월 달 종합소득세 신고 때 해도 되니까요. 하지만, 년 초에 하면 회시에서 처리해주고, 돈을 받을 게 있다면 미리 받는다는 장점이 있죠. 연말정산 관련 자료는 ...

DRM / 기능, 장점, 단점

DRM(Digital Rights Management)은 디지털 콘텐츠의 저작권 보호와 불법 복제를 방지하기 위한 기술 및 관리 시스템을 의미합니다. 주로 음악, 영화, 전자책, 소프트웨어 등 디지털 콘텐츠의 사용 및 배포를 제어하는 데 사용됩니다. DRM은 디지털 콘텐츠의 저작권을 보호하고, 콘텐츠 제공자가 정당한 수익을 얻을 수 있도록 돕는 중요한 기술입니다. 그러나 사용자 편의성과 보안 사이의 ...