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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
하이패스 사용 내역 확인하고 출력하는 방법

하이패스 사용 내역 확인하고 출력하는 방법

현대카드의 하이패스를 사용하고 있는데 카드 명세서에는 금액만 찍힌다. 그래서 언제 어디에서 사용한 것인지 알 수가 없다. 정확히 언제 어디서 사용한 것인지 알아야 한다면, 그리고 건별 영수증이 필요하다면 고속도로 통행료 홈페이지로 가자. 원하는 정보를 얻을 수 있다. 회원 가입을 하고... 카드 등록을 한다. 에서... 조건을 지정하여 내역을 조회할 수 있다. 영수증이 필요하면 선택을 한 후 ...

FTP와 SFTP 소개 및 비교

FTP(파일 전송 프로토콜)와 SFTP(SSH 파일 전송 프로토콜)는 네트워크를 통해 파일을 전송하는 두 가지 방법입니다. 이 두 프로토콜은 파일 전송을 위해 사용되지만, 보안, 인증 및 전송 방식에 있어서 차이점이 있습니다. FTP (File Transfer Protocol) FTP는 네트워크를 통해 파일을 전송하기 위해 사용되는 표준 프로토콜입니다. 클라이언트-서버 모델을 기반으로 하며, 주로 인터넷을 통해 파일을 업로드하거나 다운로드하는 ...

한화손해보험 / 실비보험 / 보장 내용 확인하는 방법

한화손해보험 / 실비보험 / 보장 내용 확인하는 방법

한화손해보험의 실비보험에 가입되어 있다. 손을 다쳐 체외충격파 치료를 받으려고 하는데, 실비보험 대상인지 확인하기 위해 전화로 문의를 했다. 보상 대상이 맞긴 하지만 정확한 것은 심사를 해야 한다는 답변을 들었고, 금액 한도와 횟수 등에 대한 것도 들었다. 그런데, 메모를 하지 않아 금액 한도와 횟수를 잊어버렸다. 전화 문의는 연결이 쉽지 않고, 또 잊어버릴 수 ...

ICAP(Internet Content Adaptation Protocol) 서버

ICAP(Internet Content Adaptation Protocol) 서버는 HTTP 요청과 응답을 중간에서 가로채어 콘텐츠를 검사하거나 변경할 수 있도록 하는 서버입니다. 주로 웹 프록시 서버와 연동하여 바이러스 검사, 콘텐츠 필터링, 보안 정책 적용 등의 용도로 사용됩니다. ICAP 서버의 주요 용도 바이러스 검사 및 보안 검사: 웹 콘텐츠가 사용자에게 도달하기 전에 악성 코드나 바이러스를 탐지하고 차단합니다. 콘텐츠 필터링: ...

공인 IP vs 사설 IP

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

신용카드 / 결제일별 카드 사용 기간

신용카드 / 결제일별 카드 사용 기간

신용카드는 한 달 동안 사용한 금액을 12일에서 15일 뒤에 납부한다. 따라서 그 한 달을 어떻게 정하냐에 따라 결제일이 달라진다. 반대로, 결제일을 정하면 언제 사용한 것을 내는지 정해진다. 신용카드의 결제일별 사용 기간은 거의 비슷하나 같지는 않다. 개인적으로 전월 1일부터 전월 말일까지 사용한 것을 결제하는 걸 좋아하는데, 대부분 14일이나 현대카드는 12일이다. 국민카드 결제일 사용 기간 1 전전월 18일 ...

FIDO(Fast IDentity Online)

FIDO(Fast IDentity Online)는 비밀번호 없이 안전하고 편리한 인증 방법을 제공하는 기술 표준입니다. FIDO 얼라이언스에 의해 개발된 이 기술은 온라인 인증의 보안성을 높이기 위해 만들어졌으며, 여러 인증 방식을 제공하고 있습니다. 주요 목표는 비밀번호의 사용을 줄이거나 없애고, 피싱 공격 및 자격 증명 도용을 방지하는 것입니다. FIDO의 주요 개념과 기술 FIDO 프로토콜: FIDO는 다양한 인증 ...

IP 스푸핑, MAC 스푸핑, ARP 스푸핑

IP 스푸핑(IP Spoofing) IP 스푸핑은 네트워크 공격 기법 중 하나로, 공격자가 자신의 IP 주소를 위조하여 다른 컴퓨터나 네트워크 장치를 속이는 행위를 말합니다. 이 기법은 주로 권한 없는 접근, 데이터 도청, 서비스 거부(DoS) 공격 등을 수행하기 위해 사용됩니다. 작동 원리 IP 스푸핑은 IP 패킷 헤더에 있는 발신자 IP 주소(SRC IP)를 위조하여 공격 대상이 이를 ...

MariaDB / 데이터베이스 이름에 하이픈(-) 또는 점(.) 포함하는 방법

MariaDB / 데이터베이스 이름에 하이픈(-) 또는 점(.) 포함하는 방법

MariaDB에 하이픈(-)이나 점(.)을 포함한 이름으로 데이터베이스를 만들면 에러가 납니다. 예를 들어 create database test-test; 라고 하면 다음과 같은 에러 메시지를 출력하면서 데이터베이스를 생성하지 못합니다. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-test' at ...

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

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

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