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

PDF - 정의, 특징, 장단점

PDF는 현대 디지털 문서의 표준으로 자리 잡은 형식입니다. Adobe Systems에 의해 1993년에 처음 도입된 이후, PDF는 그 기능성과 호환성 덕분에 다양한 분야에서 광범위하게 사용되고 있습니다. 이 블로그 포스팅에서는 PDF의 정의, 역사, 주요 특징, 장단점, 사용 사례, 그리고 PDF 파일을 다루는 다양한 도구와 방법에 대해 상세히 살펴보겠습니다. PDF의 정의와 역사 PDF는 "Portable Document ...

모니터 / 캘리브레이션(Calibration)

모니터 캘리브레이션은 모니터의 색상, 밝기, 대비 등을 정확하게 조정하여 실제 환경에서 일관되고 정확한 색상을 표현할 수 있도록 하는 과정입니다. 캘리브레이션은 사진 편집, 그래픽 디자인, 비디오 편집 등 색상 정확도가 중요한 작업에서 특히 중요합니다. 모니터 캘리브레이션의 필요성 정확한 색상 표현 각 모니터는 제조 과정에서 약간의 색상 차이가 발생할 수 있습니다. 캘리브레이션을 통해 모니터가 정확한 ...

Rocky Linux 8 / 원격 데스크톱으로 연결하는 방법

Rocky Linux 8 / 원격 데스크톱으로 연결하는 방법

패키지 설치 다음과 같이 명령하여 EPEL(Extra Packages of Enterprise Linux) 저장소를 추가한다. dnf install epel-release xrdp 패키지를 설치한다. dnf install xrdp 방화벽 설정 원격 데스크톱이 사용하는 포트는 3389이다. firewall-cmd로 3389 포트를 열어준다. firewall-cmd --permanent --add-port=3389/tcp 방화벽을 다시 로드한다. firewall-cmd --reload 서비스 설정 systemctl 명령어로 xrdp 서비스를 시작한다. systemctl start xrdp 시스템 재부팅 후에도 자동으로 실행되게 하려면 다음과 같이 명령한다. systemctl enable xrdp 재부팅 위와 같이 했을 때 원격 ...

모니터 / 패널 / IPS 패널

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

모니터 / HDR

HDR(High Dynamic Range)는 모니터와 TV에서 더 넓은 범위의 밝기와 색상을 제공하여 보다 생생하고 현실감 있는 이미지를 구현하는 기술입니다. HDR은 어두운 부분과 밝은 부분 모두에서 더 많은 디테일을 표현할 수 있어, 일반적인 SDR(Standard Dynamic Range) 화면보다 더욱 풍부한 시청 경험을 제공합니다. HDR의 작동 원리 넓은 밝기 범위 HDR은 더 높은 밝기(니트, nits 단위로 측정)와 ...

모니터 / Adaptive Sync

Adaptive Sync는 VESA(Video Electronics Standards Association)에서 개발한 표준 기술로, 디스플레이와 그래픽 카드 간의 주사율을 동기화하여 화면 찢김(Tearing)과 끊김(Stuttering)을 방지하는 기술입니다. Adaptive Sync는 AMD의 FreeSync 및 NVIDIA의 G-Sync와 유사한 방식으로 작동하지만, 특정 브랜드에 의존하지 않고 광범위하게 사용될 수 있는 개방형 표준입니다. Adaptive Sync의 작동 원리 주사율 동기화 Adaptive Sync는 디스플레이의 주사율을 그래픽 카드의 프레임 ...

보안 / IPS - Intrusion Prevention System

Intrusion Prevention System(IPS)은 네트워크 보안 장치로, 네트워크 트래픽을 실시간으로 모니터링하여 악의적인 활동이나 정책 위반을 탐지하고 이를 차단하는 기능을 수행합니다. IDS(침입 탐지 시스템)와 유사하지만, IPS는 탐지뿐만 아니라 능동적으로 위협을 차단하는 기능을 갖추고 있습니다. 주요 기능 실시간 모니터링 네트워크 트래픽을 실시간으로 분석하여 위협을 탐지합니다. 위협 차단 악의적인 활동이 발견되면 자동으로 해당 트래픽을 차단하여 네트워크를 보호합니다. 정책 적용 네트워크 보안 ...

Brackets / 탭 사이즈 변경하는 방법

Brackets / 탭 사이즈 변경하는 방법

브라켓의 기본 탭 사이즈는 4입니다. 탭 사이즈 변경은 편집기의 오른쪽 아래에서 합니다. 글자를 클릭해서 Tab Size로 만듭니다. 숫자를 클릭하고 원하는 크기를 입력합니다.

Gmail / 언어를 한국어로 설정하는 방법

Gmail / 언어를 한국어로 설정하는 방법

지메일(Gmail) 계정이 여러 개 있습니다. 한 계정에 오랜만에 로그인했는데, 언어가 영어로 되어있더군요. 앞으로 자주 사용할 거 같아 언어를 한국어로 바꾸었습니다. 오른쪽 위에 설정 아이콘을 클릭하고 를 클릭합니다. Gmail display language를 로 설정한 후... 밑으로 주욱 내려와서 를 클릭합니다. 한국어로의 변경이 완료되었습니다. 아웃룩 등 이메일 클라이언트에서도... 적용됩니다.

워드프레스 / Template_Tags

워드프레스 / Template_Tags

Template Tags는 정보를 불러오는 함수 정도로 이해하면 된다. 예를 들어 bloginfo( 'name' )는 블로그 이름을 가져온다. 정보는 DB에 있는 내용일 수도 있고, 파일일 수도 있다. Template tags are used within your blog's Templates to display information dynamically or otherwise customize your blog, providing the tools to make it as individual and ...