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

보안 / Zero Trust

제로 트러스트(Zero Trust)는 네트워크 보안 모델로, 아무도 신뢰하지 않고 항상 검증한다는 원칙에 기반합니다. 이는 기존의 경계 기반 보안 모델과는 달리, 네트워크 내부에 있더라도 모든 사용자와 디바이스의 신뢰를 가정하지 않으며, 사용자가 누구인지, 그들이 사용하려는 기기가 안전한지, 그리고 해당 자원에 접근할 필요가 있는지 등을 지속적으로 검증합니다. 제로 트러스트의 핵심 원칙 기본 가정: 신뢰하지 않는다: 제로 ...

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

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

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

국세청 홈택스 / 매입 전자세금계산서 조회하고 인쇄하는 방법

국세청 홈택스 / 매입 전자세금계산서 조회하고 인쇄하는 방법

전자세금계산서 기업 간 거래를 할 때 주로 세금계산서를 증빙으로 주고받습니다. 예전엔 종이로 된 세금계산서를 사용했는데, 요즘엔 거의 다 전자세금계산서로 처리합니다. 전자세금계산서를 받게 되면, 보통 발급한 쪽에서 메일로 그 사실을 알려주고 열람이나 출력 가능한 링크를 보내줍니다. 그런데, 그 링크를 통해서만 열람 등이 가능한 것은 아닙니다. 전자세금계산서는 국세청 홈택스에서도 볼 수 있습니다. 거래처별로 확인하는 것 ...

문명 6 / 세이브 파일 저장 위치

문명 6 / 세이브 파일 저장 위치

문명 6을 시작했다. 이렇게 쓰면 문명 1, 2, 3 ,4, 5를 해본 것처럼 보일 수 있지만, 문명이란 게임을 처음 하는 것이다. 중독성이 강하다는 데, 아직 초보라 그런지 재미가 그다지... 어쩌면 게임 방법 공부하는 게 싫어서 그런지도... 일단은 노트북에 설치했다. GEFORCE GTX 1050을 탑재한 노트북이라 플레이에는 별 문제가 없는데, 발열이 끝내준다. 그 ...

보안 / ATP - Advanced Threat Protection

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

미디어위키 / 메모

MediaWiki ShortURL Builder https://shorturls.redwerks.org/ Extension AutoSitemap https://www.mediawiki.org/wiki/Extension:AutoSitemap 사이트맵 만들어주는 확장기능 사이트맵 주소는 /sitemap.xml 확장기능 설치 후 글을 새로 작성하거나 기존 글을 수정해야 사이트맵이 생성된다. SimpleMathJax https://www.mediawiki.org/wiki/Extension:SimpleMathJax LaTeX 문법으로 수식 입력하게 해주는 확장기능 CSS 편집 모든 스킨에 적용되는 CSS 미디어위키:Common.css Vector 스킨에 적용되는 CSS 미디어위키:Vector.css MobileFrontend, Minerva Neue 설치하고 설정하기 미디어위키 공식 홈페이지를 PC로 접속하면 Vector 스킨으로, 모바일로 접속하면 Minerva Neue 스킨으로 보여준다. 그렇게 구현하기 위해서는 MobileFrontend 확장 ...

네트워크 / 핑 테스트(ping test)

네트워크 / 핑 테스트(ping test)

핑 테스트란? 핑 테스트(ping test)는 네트워크 연결 상태를 확인하고 진단하기 위해 특정 네트워크 호스트에 패킷을 보내고 응답 시간을 측정하는 과정이다. 이는 네트워크 문제를 신속하게 식별하고 해결하는 데 유용하다. 핑 테스트는 인터넷 연결 문제, 네트워크 속도 문제, 또는 네트워크 장치 간의 연결 상태를 점검할 때 주로 사용된다. 네트워크 연결 상태 확인 특정 IP 주소나 ...

NHN KCP / 결제한 내역 조회하는 방법

NHN KCP / 결제한 내역 조회하는 방법

인터넷 쇼핑몰에서 뭔가를 사고 신용카드 같은 걸로 결제할 때, 그 결제가 가능하도록 해주는 회사들이 있어요. 보통 PG라고 해요. 대표적인 PG로는 KG 이니시스, NHN KCP 등이 있어요. 결제를 하고 나면 문자도 오고, 메일도 오고 해서 어디서 무엇을 샀는지 잘 알 것만 같은데... 나중에 신용카드 명세서를 보면 어디에서 왜 썼는지 기억나지 않을 때가 ...

인터넷 속도 단위 Mbps와 MB와의 관계

인터넷 속도 단위인 Mbps는 Mega Bits Per Second의 약자로, 1초당 전송하는 Mega Bit의 양입니다. 예를 들어 인터넷 속도가 100Mbps라고 하면 1초당 100 Mega Bits를 전송한다는 뜻입니다. 그런데 파일의 크기는 Byte를 단위로 사용합니다. 예를 들어 3MB 크기의 파일이라고 하면 3 Mega Bytes를 의미합니다.

디아블로 3 / 구입하는 방법

디아블로 3 / 구입하는 방법

블리자드의 디아블로 1과 디아블로 2를 즐겼었습니다. 아주 오래 전 얘기네요. 그러다 문득 디아블로 3이 해보고 싶어졌습니다. 일정 레벨까지 무료 플레이가 가능하다고 해서 설치하고 해보았는데... 재미있네요... 그래서 구입을 했습니다. 출시된 지 꽤 되었기에 가격도 저렴하고 해서... 구입하면서 그 과정을 스크린샷으로 찍었습니다. 스타크래프트나 오버워치 등 블리자드의 다른 게임을 구입하는 것도 과정이 같아서, 블리자드 ...