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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
한화손해보험 / 실비보험 / 보장 내용 확인하는 방법

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

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

DNS 레코드 조회하는 사이트

DNS 레코드 조회하는 사이트

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

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin을 업로드 하고 로그인 했을 때 다음과 같은 문구가 나오는 경우가 있습니다. 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다. 해결하는 방법은 다음과 같습니다. phpMyAdmin 디렉토리에 있는 config.sample.inc.php를 config.inc.php로 이름을 바꾸어 저장합니다. 그리고 파일에 있는 다음 코드에 값을 채웁니다. $cfg = ''; 32개 보다 적은 문자를 넣으면 길이가 짧다는 메시지가 나오므로, 32개 이상의 문자를 입력합니다.

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

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

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

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

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

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

SSH(Secure Shell) 소개

SSH(보안 셸, Secure Shell는 네트워크를 통해 다른 컴퓨터에 안전하게 접속하고 명령을 실행할 수 있도록 설계된 프로토콜입니다. SSH는 특히 원격 로그인 및 기타 네트워크 서비스를 안전하게 제공하기 위해 사용되며, 데이터를 암호화하여 전송하므로 도청과 중간자 공격을 방지할 수 있습니다. 주요 특징 암호화 SSH는 데이터를 암호화하여 전송합니다. 이를 통해 전송 중인 데이터가 도청되거나 변경되는 것을 방지할 ...

Azure Information Protection와 Windows Information Protection

Azure Information Protection(AIP) 개요 AIP는 Microsoft Azure의 클라우드 기반 서비스로, 데이터의 분류, 라벨링, 보호를 목적으로 하는 솔루션입니다. 조직의 중요한 문서와 이메일을 암호화하고, 누가 어떤 데이터를 보고 조작할 수 있는지를 제어할 수 있습니다. 주요 기능 데이터 분류 및 라벨링: 민감한 정보를 자동으로 탐지하고, 문서 및 이메일에 보안 라벨을 적용하여 관리합니다. 라벨링은 수동 또는 규칙 기반으로 ...

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

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

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

SFTP와 SCP 소개 및 비교

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

네트워크 / NAT(Network Address Translation)

NAT는 네트워크 주소 변환을 의미하며, 네트워크 트래픽의 IP 주소를 변환하는 기술입니다. 주로 사설 네트워크(Private Network)와 공인 네트워크(Public Network) 간의 통신을 가능하게 하기 위해 사용됩니다. NAT는 보안, 주소 공간 절약, 그리고 네트워크 확장을 위해 필수적인 기능으로 널리 활용됩니다. NAT의 주요 기능 IP 주소 절약: IPv4 주소의 고갈 문제를 해결하기 위해 사설 IP 주소(Private IP)와 공인 IP 주소(Public ...