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

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

근로자는 매년 초 전년도 근로소득에 대해서 연말정산을 합니다. 이때 소득공제 또는 세액공제를 받기 위해서 보험료, 교육비, 신용카드 사용액 등을 제출을 하죠. 사실 꼭 해야 하는 것은 아닙니다. 5월 달 종합소득세 신고 때 해도 되니까요. 하지만, 년 초에 하면 회시에서 처리해주고, 돈을 받을 게 있다면 미리 받는다는 장점이 있죠. 연말정산 관련 자료는 ...

VMware Workstation Pro / 다운로드하는 방법

VMware Workstation Pro / 다운로드하는 방법

VMware Workstation Pro는 이름에 Pro가 있지만 무료입니다. 2024년 11월부터 상업적 목적을 포함하여 누구나 무료로 사용할 수 있습니다. 하지만, 그냥 다운로드를 하지는 못하고 https://support.broadcom.com/에 회원 가입을 해야 합니다.

공인 IP vs 사설 IP

공인 IP(공인 인터넷 프로토콜 주소)와 사설 IP(사설 인터넷 프로토콜 주소)는 네트워크에서 사용되는 IP 주소의 두 가지 주요 유형이다. 각각의 정의와 주요 차이점은 다음과 같다. 공인 IP (Public IP) 정의 공인 IP 주소는 인터넷 서비스 제공업체(ISP)에 의해 할당된 고유한 IP 주소로, 인터넷 상에서 다른 장치들과 직접 통신할 수 있다. 사용 위치 인터넷에 직접 연결된 모든 장치에 ...

네트워크 / 네임서버

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

보안 / IPS - Intrusion Prevention System

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

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

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

SFTP와 SCP 소개 및 비교

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

INET과 UDS

INET과 UDS는 소켓(socket) 프로그래밍에서 사용되는 용어로, 네트워크 통신 방식의 차이를 의미합니다. 1. INET (Internet socket) INET 소켓은 TCP/IP 프로토콜을 통해 네트워크상의 통신을 지원하는 소켓입니다. 원격 컴퓨터와의 통신에 사용됩니다. IP 주소와 포트 번호를 사용합니다. 일반적인 인터넷 및 네트워크 응용 프로그램(예: HTTP 웹 서버, FTP 서버 등)에서 사용됩니다. 예시: 192.168.0.100:8080 2. UDS (Unix Domain Socket) UDS는 UNIX 운영체제에서 로컬 프로세스 간 ...