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

네트워크 / 네임서버

네임서버(Name Server)는 도메인 네임 시스템(DNS, Domain Name System)의 핵심 구성 요소로, 도메인 이름과 IP 주소를 연결해주는 역할을 합니다. 네임서버는 인터넷이 현재와 같은 방식으로 작동할 수 있도록 하는 중요한 인프라 중 하나로, 사용자가 웹사이트에 접속할 때 웹 브라우저가 도메인 이름을 입력하면 해당 도메인 이름을 IP 주소로 변환해주는 기능을 수행합니다. 도메인 네임 시스템(DNS)의 ...

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

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

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

TCP vs UDP

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 주요 통신 프로토콜로, 각각 다른 방식으로 데이터를 전송한다. TCP (Transmission Control Protocol) 특징 연결 지향(Connection-oriented) TCP는 통신을 시작하기 전에 연결을 설정한다. 이 연결은 3-way handshake 과정을 통해 이루어진다. 신뢰성(Reliability) 데이터 전송의 신뢰성을 보장한다. 데이터 패킷이 손실되거나 손상되면 재전송한다. 순서 보장(Ordering) 패킷이 순서대로 도착하도록 보장한다. 수신자는 전송된 데이터가 원래의 순서대로 도착하는 것을 확인할 ...

스팀 / 게임 구입하는 방법

스팀 / 게임 구입하는 방법

우연히 문명이라는 게임을 알게되었습니다. '문명하셨습니다'라는 유행어가 있었을 정도로 유명한 게임이라고 하네요. 게임을 시작하면 시간은 별로 안 가는데 날짜가 바뀐다는... 인터넷에 있는 온갖 글과 영상이 문명을 추천하고 있어서, 한 번 해보기로 했습니다. 문명 5와 문명 6에 대해서 호불호가 갈리는데, 전 그래도 최신판인 문명 6으로 결정했습니다. 어디서 구입을 해야 하나 알아보았더니, 스팀에 있네요. 게다가 ...

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

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

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

스팀 / 라이브러리(게임 설치 폴더) 추가하는 방법

스팀 / 라이브러리(게임 설치 폴더) 추가하는 방법

아무래도 SSD가 비싸다보니 C 드라이브의 용량이 크지 않습니다. 사무용으로 쓸 때는 괜찮은데, 개발이나 게임을 하면 용량의 한계를 느낍니다. 특히 요즘 게임은 수십 GB는 족히 넘거든요. 용량이 부족하면 SSD를 하나 더 사서 장착하면 되는데요, 그 SSD에 스팀 게임을 설치하려면 어떻게 해야 할까요? 스팀 라이브러리 폴더를 추가해주면 됩니다. 스팀을 실행합니다. 왼쪽 위에 있는 을 클릭하고 ...

네트워크 / 잘 알려진 포트, 등록된 포트, 동적 포트

포트 번호는 0~65535까지 사용 가능합니다. 이를 용도에 따라 잘 알려진 포트, 등록된 포트, 동적 포트 세 가지로 분류합니다. 관리는 IANA(Internet Assigned Numbers Authority)에서 합니다.

토스페이먼츠 / 결제내역 확인하는 방법

토스페이먼츠 / 결제내역 확인하는 방법

인터넷 쇼핑몰에서 결제를 할 때 토스페이먼츠로 하였다면, 신용카드 명세에 가맹점명이 토스페이먼츠 주식회사로 찍힌다. 그래서 실제 결제한 인터넷 쇼핑몰이 어딘지 알 수 없다. 이를 확인하고 싶다면 토스페이먼츠 홈페이지로 가야 하는데... 좀 많이 귀찮다. 토스페이먼츠 홈페이지로 접속하고 을 클릭하거나... https://www.tosspayments.com/ 아래 링크로 바로 접속한다. https://consumer.tosspayments.com/payment-history/card 이 부분이 많이 귀찮은데... 결제 관련 정보를 꽤 많이 입력해야 한다. 입력을 마쳤으면 ...

우리은행 / 자동이체 조회하는 방법, 해지하는 방법

우리은행 / 자동이체 조회하는 방법, 해지하는 방법

요금이나 적금 등을 납부할 때 자동이체를 많이 이용합니다. 납부일을 놓힐 위험도 없고 편하고... 하지만 경우에 따라서 자동 이체를 해지하거나 계좌를 변경해야 하는 일이 발생할 수 있는데, 은행 영업점에 방문하거나 전화하지 않아도 처리할 수 있습니다. 모든 은행이 가능한지는 모르겠으나, 우리은행은 가능합니다. 다음은 우리은행 모바일 앱인 우리 WON 뱅킹에서 자동이체를 조회하고 해지하고 등록하는 ...

보안 / IDS와 IPS 비교

Intrusion Detection System(IDS)와 Intrusion Prevention System(IPS)은 모두 네트워크 보안 시스템의 일환으로, 침입을 탐지하고 대응하는 역할을 합니다. 그러나 이 두 시스템은 기능과 목적에서 몇 가지 중요한 차이점이 있습니다. Intrusion Detection System (IDS) IDS는 네트워크나 시스템에서 발생하는 활동을 모니터링하고, 악의적인 활동이나 정책 위반을 탐지하여 관리자에게 경고를 보내는 역할을 합니다. IDS는 침입을 탐지하지만, 이를 차단하지는 ...