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

보안 / IDS와 IPS 비교

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

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

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

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

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

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

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

DNS 레코드 조회하는 사이트

DNS 레코드 조회하는 사이트

DNS 레코드를 조회하는 방법은 여러 가지가 있습니다. 예를 들어 OS가 윈도우라면 nslookup 명령어로 조회할 수 있습니다. 명령어를 사용하는 게 불편하다면 DNS 레코드를 조회해주는 사이트를 이용하는 게 편합니다.

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

방을 정리하다가 디아블로 2 시디들을 발견했습니다. 추억의 게임이네요. 1999년에 구입한... 찾은 김에 PC에 설치를 해보려고 했는데, PC에 시디롬이 없습니다. 요즘은 시디롬이 있는 PC나 노트북을 찾기 힘들죠. 다른 방법이 있나 찾아보니 블리자드 홈페이지에서 설치 파일을 다운로드할 수 있다고 합니다. 그런데, 그걸로 설치하려면 26자리 시디키가 필요합니다. 갖고 있는 건 16자리 시디키인데... 역시나 방법이 있습니다. ...

보안 / 방화벽

방화벽의 정의 방화벽(Firewall)은 컴퓨터 네트워크 보안 시스템으로, 네트워크 트래픽을 모니터링하고 제어하여 신뢰할 수 없는 네트워크(일반적으로 인터넷)와 신뢰할 수 있는 내부 네트워크 간의 장벽을 형성합니다. 방화벽은 승인된 트래픽은 통과시키고, 비승인된 트래픽은 차단함으로써 네트워크 보안을 강화합니다.  방화벽의 주요 기능 트래픽 필터링 방화벽은 패킷 필터링 기술을 사용하여 네트워크 트래픽을 검사하고, 사전 정의된 보안 규칙에 따라 트래픽을 허용하거나 ...

SFTP와 SCP 소개 및 비교

SFTP와 SCP는 모두 SSH를 통해 보안 파일 전송을 지원하는 프로토콜이지만, 이 둘 사이에는 몇 가지 중요한 차이점이 있습니다. SFTP (Secure File Transfer Protocol) 개요 SFTP는 SSH-2 프로토콜의 확장으로, 안전한 파일 전송을 제공하는 프로토콜입니다. SFTP는 파일 전송뿐만 아니라 원격 파일 시스템 관리 기능도 제공합니다. 작동 방식 세션 기반: SFTP는 SSH 연결을 통해 세션을 설정하고, 이를 통해 ...

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 11세대 CPU를 탑재한 노트북을 샀다. HP 빅터스 계열로, 가성비 좋은 게이밍 노트북이다. 프리 도스 제품을 샀기에 제일 먼저 한 것은 윈도우를 설치하는 것. 설치용 USB를 만들고, 바이오스에서 부팅 순서 변경하고, 설치를 시작했는데... 윈도우를 설치할 저장소(드라이브)가 없다고 나온다. 꽤 많은 컴퓨터를 만져보고 수없이 윈도우를 설치했는데, 이런 적은 처음이다. 그 중에는 다른 ...

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

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

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