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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
Ventoy / 멀티 부팅 USB 만드는 프로그램

Ventoy / 멀티 부팅 USB 만드는 프로그램

보통의 경우 운영체제는 한 번 설치하면 오랫동안 쓴다. 하지만 개발자나 전산 담당자라면 자주 여러 OS를 설치하게 된다. 이를 위해 OS별로 설치 USB를 만들게 되는데, 상당히 불편하다. 다양한 OS를 설치하는 상황이라면, Ventoy를 이용해서 그 OS들을 다 담은 설치 USB를 만들 수 있다. 대부분의 OS를 지원하며, 1100개 이상의 ISO 파일을 테스트했다고 한다. Ventoy is an ...

버추얼박스 / 윈도우 10에서 가상 머신 만들 때 멈추는 문제 해결하는 방법

버추얼박스 / 윈도우 10에서 가상 머신 만들 때 멈추는 문제 해결하는 방법

버추얼박스로 가상 머신을 만들 때, 환경에 따라 이런 저런 문제가 발생할 수 있습니다. 이번에 생긴 문제는 아주 근본적인 문제, 가상 머신에 OS를 설치할 수 없는 것이었습니다. 윈도우 호스트에 Ubuntu 게스트를 만들려고 했는데, 아래와 같은 화면에서 멈춰서 아무 것도 할 수 없었습니다. 원인은 윈도우에 포함된 가상화 관련 기능때문이었습니다. 안드로이드 앱 개발을 위해서 ...

모니터 / 패널 / IPS 패널

IPS(인플레인 스위칭, In-Plane Switching) 패널은 디스플레이 기술의 하나로, 액정 디스플레이(LCD) 기술의 한 종류입니다. IPS 패널은 주로 뛰어난 색 재현성과 넓은 시야각을 제공하는 것으로 알려져 있습니다. IPS 패널의 특징 넓은 시야각 IPS 패널은 수평 및 수직 시야각이 178도에 이를 정도로 넓습니다. 즉, 어느 각도에서 보더라도 색상이 왜곡되지 않고 선명하게 보입니다. 이는 여러 사람이 함께 ...

안드로이드 / 앱 / 알파카 / 공유 전동 킥보드 / 가입하는 방법과 요금, 탈 수 있는 곳

안드로이드 / 앱 / 알파카 / 공유 전동 킥보드 / 가입하는 방법과 요금, 탈 수 있는 곳

집 앞에서 버스를 타고 전철역으로 이동 후 전철을 타는데, 이 버스의 배차 간격이 좀 길다. 그리고 주말에는 더 길다. 버스 정류장에서 버스를 기다리다가 근처에 공유 전동 킥보드가 있는 것을 보고, 언제 올지 모르는 버스를 기다리는 것보다 편할 거 같아 가입을 해보았다. 알파카라는 회사에서 운영하는 건데, 앱에서 회원 가입이 가능하다. 플레이스토어에서 알파카로 ...

구글 애널리틱스 / GA4 / 애드센스 연결하는 방법

구글 애널리틱스 / GA4 / 애드센스 연결하는 방법

Google 애널리틱스 4(GA4) 속성에 애드센스를 연결하여, 애드센스 관리자 페이지에서는 볼 수 없는 여러 가지 통계를 볼 수 있다. 예를 들어 페이지별 수익 같은 거... 애드센스 계정과 애널리틱스 계정이 같다는 가정하에 연결하는 순서는 다음과 같다. 애드센스 관리자 페이지에서 을 클릭한다. 를 클릭한다. 연결하려는 속성을 선택하고 를 클릭한다. 완료가 ...

마우스 / 게이밍 마우스 선택 기준

마우스 / 게이밍 마우스 선택 기준

게이밍 마우스는 게임 성능과 경험을 크게 좌우하는 중요한 장비입니다. 다양한 기능과 사양을 갖춘 게이밍 마우스 중에서 자신의 스타일과 필요에 맞는 제품을 선택하는 것이 중요합니다. 이 포스팅에서는 게이밍 마우스 선택 시 고려해야 할 주요 기준에 대해 자세히 알아보겠습니다. DPI (Dots Per Inch) DPI는 마우스의 감도를 나타내는 지표로, 높을수록 커서가 더 빠르게 움직입니다. 게임 ...

줌(Zoom) / 회원 가입하는 방법, 탈퇴하는 방법

줌(Zoom) / 회원 가입하는 방법, 탈퇴하는 방법

회원 가입하기 Zoom 홈페이지에 접속한다. 오른쪽 위에 있는 를 클릭한다. 생년월일을 입력하고 을 클릭한다. 약관 등이 나와야 하는데 오류가 있나보다. 그래도 을 클릭하면 계속 진행된다. 구글 등으로 로그인하거나 계정을 새로 만들 수도 있다. 여기서는 새로 만드는 방법으로 가입하겠다. 이메일 주소를 입력하고 을 클릭한다. 입력한 이메일 주소로 활성화 메일이 발송된다. 다음과 같은 메일을 받게 된다. 버튼을 클릭한다. 이름과 ...

국세청 홈택스 / 현금영수증 발급 받은 내역과 금액 조회하는 방법

국세청 홈택스 / 현금영수증 발급 받은 내역과 금액 조회하는 방법

사업자로부터 현금으로 무언가를 샀을 때, 현금영수증을 발급받을 수 있습니다. 구입하는 쪽에서는 현금영수증으로 비용처리를 하거나 소득공제를 받고, 판매하는 쪽에서는 매출로 자동 집계됩니다. 판매자에게서 세금을 걷기 위해 구매자에게 혜택을 주는 것이죠. 현금영수증은 전산으로 처리되는 것으로 실제로 영수증을 받지는 않습니다. 그렇다면 잘 발급을 받았는지 어떻게 확인할 수 있을까요? 국세청 홈택스에서 현금영수증 발급 받은 내역과 ...

마이크로소프트 회원 탈퇴(계정 삭제) 하는 방법

마이크로소프트 회원 탈퇴(계정 삭제) 하는 방법

더 이상 사용하지 않는 마이크로소프트 계정을 삭제하기로 했다. 내 계정에 들어가서 개인 정보, 보안 등 계속 회원 탈퇴 메뉴를 찾았는데, 너무 찾기 힘들다. 회원 이탈 방지를 위해서 그렇게 한 건 이해가 되는데, 해도 해도 너무한다. 만약 회원 탈퇴를 하고 싶다면, 메뉴를 탐색하지 말고, 아래 링크로 바로 접속하자. https://account.live.com/closeaccount.aspx 다음과 같은 화면이 나오고, 바로 ...

PointerFocus / 마우스 포인터 강조 프로그램

PointerFocus / 마우스 포인터 강조 프로그램

PointerFocus 컴퓨터 화면을 이용해서 강의를 하거나 컴퓨터 화면을 녹화할 때, 마우스 포인터가 잘 보이지 않아서 불편할 수 있습니다. 또한 4K 모니터를 사용하면 마우스 포인터가 아주 작게 보여서 찾기 힘들 때도 있구요. 이때 유용한 프로그램이 PointerFocus입니다. PointerFocus는 마우스 포인터에 도형을 입혀서 눈에 잘 띄게 하고, 클릭했을 때 애니메이션 효과를 주어 클릭했음을 알 수 ...