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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
PuTTY / 소개

PuTTY / 소개

PuTTY는 원격 컴퓨터와의 통신을 위한 무료 오픈 소스 터미널 에뮬레이터 및 네트워크 파일 전송 응용 프로그램입니다. 주로 SSH, Telnet, rlogin, 및 SCP를 사용하여 네트워크를 통해 다른 컴퓨터에 접속하고 관리하는 데 사용됩니다. PuTTY는 Windows를 비롯한 다양한 운영 체제에서 사용할 수 있으며, 그 간편함과 기능성으로 인해 시스템 관리자 및 네트워크 엔지니어들 사이에서 ...

당구 / 길 / 뒤돌려 치기

당구 / 길 / 뒤돌려 치기

뒤돌려 치기 아래와 같이 1적구를 맞추고 장단장으로 돌아서 2적구를 맞추는 것을 뒤돌려 치기(우라)라고 한다. 2적구에게 가기 전에 3개의 쿠션을 맞기 때문에 3쿠션을 칠 때 많이 사용한다. 수구의 방향은 보통 파이브 앤 하프 시스템으로 정한다. 공의 배치에 따라서 로드리게스 시스템을 이용하기도 한다. 뒤돌려 치기의 단점은 키스가 잘 난다는 것이다. 키스를 피하는 방법은 여러 가지가 ...

LG DnA Center Plus / 다운로드하고 설치하는 방법

LG DnA Center Plus / 다운로드하고 설치하는 방법

LG 노트북에 윈도우를 새로 설치했다. 윈도우 업데이트를 이용하여 장치 관리자에 !가 없게 만들었다. 문제가 없는 듯 하지만 문제가 있다. Fn 키를 이용하는 작업이 안되는 게 있다. 예를 들어 키보드에 불 들어오게 하는 거... 앱으로 넷플릭스를 볼 때도 문제가 생긴다. 소리가 이상하다. 배경 소리는 잘 나오는데 사람 소리가 너무 작게 나온다. 이런 ...

마우스 / 폴링 레이트(Polling Rate)

마우스 폴링 레이트는 마우스가 컴퓨터에 자신의 위치를 보고하는 빈도를 나타내는 중요한 성능 지표입니다. 이 글에서는 마우스 폴링 레이트의 정의, 일반적인 값, 게임 및 일상 사용에서의 중요성, 설정 방법, 그리고 폴링 레이트가 시스템에 미치는 영향을 상세히 설명합니다. 마우스 폴링 레이트란 무엇인가? 폴링 레이트(Polling Rate)는 마우스가 컴퓨터에 자신의 위치 정보를 얼마나 자주 보고하는지를 나타냅니다. ...

위키(Wiki) / 위키 만드는 소프트웨어 / 종류

위키를 만드는 소프트웨어는 다양한 기능과 용도에 맞춰 여러 종류가 있습니다. 아래는 가장 널리 사용되는 위키 소프트웨어와 그 특징을 설명드리겠습니다. 미디어위키 (MediaWiki) 미디어위키는 위키백과에서 사용하는 오픈 소스 위키 소프트웨어입니다. 매우 강력하고 유연하며, 큰 규모의 위키 사이트를 운영하는 데 적합합니다. 특징 다양한 확장 기능과 템플릿을 지원. 대규모 커뮤니티와 활발한 개발. PHP 기반으로, MySQL 및 MariaDB 데이터베이스를 사용. 사용자 관리 ...

안드로이드 / 앱 / Remote Desktop 8 / 마이크로소프트가 만든 원격 데스크톱 앱

안드로이드 / 앱 / Remote Desktop 8 / 마이크로소프트가 만든 원격 데스크톱 앱

윈도우에 원격 접속할 때 원격 데스크톱을 많이 사용합니다. 윈도우에 포함되어 있어 별도의 프로그램을 설치할 필요가 없고, 마이크로소프트가 만든 것이라 믿을 수 있다는 장점이 있습니다. 또한 안드로이드용 앱도 있어서 스마트폰에서 접속하여 관리할 수도 있습니다. 물론 화면이 작다보니 그리 편하지는 않습니다. 앱 이름은 Remote Desktop 8입니다. 만든 이는 Microsoft Corporration이라도 되어 있구요. 앱을 실행한 후 ...

KT 공유기 / GiGA WiFi Wave 2 / 브릿지 모드로 설정하는 방법

KT 공유기 / GiGA WiFi Wave 2 / 브릿지 모드로 설정하는 방법

KT 인터넷을 사용하고, 공유기는 ipTIME 거 하나, KT 거 하나 있습니다. KT 공유기가 생기기 전에는 인터넷 라인을 ipTIME 공유기에 연결하고, 그 공유기와 PC, 스마트폰 등을 연결했습니다. 그런데 무선이 집 전체를 커버하지 못하네요. 그래서 KT 공유기가 생겼을 때 두 개의 공유기를 같이 쓰기로 했습니다. 즉, 아래와 같은 구성에서... 아래와 같은 구성으로 바꾸는 ...

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

제주도 여행을 위해 차를 렌트하게 되었다. 제주도에는 렌트카 업체가 다양하게 있는데, 워낙 안 좋은 기사를 많이 봐서 대형 업체에서 빌리기로 했다.  대형 업체 중 롯데렌터카로 정했는데, 롯데렌터카 공식 홈페이지에서 예약하는 것보다 제휴 업체를 통해 예약하는 게 더 저렴하더라. 대표적인 제휴업체는 KT와 롯데면세점. 두 군데 모두 예약 방식이나 할인 정도는 같았다. 예를 들어 ...

마우스 / DPI와 CPI 비교

컴퓨터 마우스는 우리가 일상적으로 사용하는 중요한 입력 장치 중 하나입니다. 마우스를 사용할 때 그 움직임의 민감도와 정확성은 사용자의 경험에 큰 영향을 미칩니다. 이 민감도와 정확성을 측정하는 주요 지표가 바로 DPI와 CPI입니다. 이 두 용어는 종종 혼용되어 사용되지만, 각기 다른 의미를 가지고 있습니다. DPI (Dots Per Inch) DPI는 "Dots Per Inch"의 약자로, 마우스가 ...

HP 노트북 / BIOS에서 펑션키 사용 해제 하는 방법

HP 노트북 / BIOS에서 펑션키 사용 해제 하는 방법

가끔 사용하는 구형 HP 노트북이 있다. 사양이 좋지 않아서 윈도우와 꼭 필요한 소프트웨어만 설치해서 사용한다. HP에서 제공하는 각종 유틸리티도 설치하지 않았다. 그래서 펑션키(Function Key) 사용 여부를 소프트웨어로 제어할 수 없다. 이런 경우 BIOS에서 설정을 변경하여 펑션키 사용을 해제할 수 있다. 부팅할 때 ESC 키를 누르면 다음과 같은 화면이 나온다. F10을 눌러서 BIOS Setup으로 ...