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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
스팀 / 게임 구입하는 방법

스팀 / 게임 구입하는 방법

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

AMD CPU, 기가바이트 메인보드 사용 시 가상화 기능 활성화하는 방법

AMD CPU, 기가바이트 메인보드 사용 시 가상화 기능 활성화하는 방법

Windows에서 VirtualBox, 안드로이드 스튜디오 등을 사용하려면 가상화 기능을 활성화해야 합니다. 기가바이트 메인보드에서 AMD CPU 가상화 기능은 보통 BIOS에서 SVM Mode라고 표시됩니다.

안드로이드 / 앱 / 카카오톡 / 채팅방 알림 끄는 방법

안드로이드 / 앱 / 카카오톡 / 채팅방 알림 끄는 방법

카카오톡 채팅 방에는 알림을 끄는 기능이 있다. 그런데, 분명 알림을 껐는데도 계속 알림이 온다. 이유는 전체 설정이 알림 설정 여부와 상관없이 모든 알림을 받는 것이기 때문이다. 이 설정까지 바꿔야 원치 않는 알림을 안 받을 수 있다. 으로 간다. 으로 설정을 변경한다.

안드로이드 / 앱 / 알파카 / 공유 전동 킥보드 / 가입하는 방법과 요금, 탈 수 있는 곳

안드로이드 / 앱 / 알파카 / 공유 전동 킥보드 / 가입하는 방법과 요금, 탈 수 있는 곳

집 앞에서 버스를 타고 전철역으로 이동 후 전철을 타는데, 이 버스의 배차 간격이 좀 길다. 그리고 주말에는 더 길다. 버스 정류장에서 버스를 기다리다가 근처에 공유 전동 킥보드가 있는 것을 보고, 언제 올지 모르는 버스를 기다리는 것보다 편할 거 같아 가입을 해보았다. 알파카라는 회사에서 운영하는 건데, 앱에서 회원 가입이 가능하다. 플레이스토어에서 알파카로 ...

4극 Y형 케이블 / 마이크를 노트북 또는 스마트폰에 연결하여 사용하는 방법

4극 Y형 케이블 / 마이크를 노트북 또는 스마트폰에 연결하여 사용하는 방법

노트북이나 스마트폰은 마이크가 기본적으로 장착되어 있습니다. 통화할 때는 문제가 없지만, 누군가에게 보여줄 영상을 찍기에는 잡음이 많이 들어갑니다. 그래서 유튜브 등을 위한 영상을 만들 때에는 별도의 마이크를 사용하게 되는데... 마이크에는 보통 3극 케이블이 달려 있습니다. 케이블 끝에 굵은 검은 선이 두 개 있는 것이 3극입니다. 3극 케이블은 헤드폰과 마이크 단자가 따로 있는 기기에 ...

사진 파일 이름 일괄 변경 해주는 프로그램 / FreeCommander, 알씨, PhotoScape X

사진 파일 이름 일괄 변경 해주는 프로그램 / FreeCommander, 알씨, PhotoScape X

사진을 찍으면 자동으로 파일 이름이 생성된다. DSLR인 EOS 650D와 아이패드는 IMG로 시작하고 뒤에 일련번호가 붙는다. IMG_0001.jpg 넥서스5는 IMG 뒤에 찍은 날짜와 시간이 붙는다. IMG_20150322_123456.jpg 오래전에 구입했던 삼성 디카는 S 뒤에 일련번호가 붙는다. S5002978.jpg 사진이 잔뜩 쌓이니 서로 다른 규칙의 이름이 상당히 불편하다. 모든 사진 파일의 이름이 일정한 규칙을 따른다면 훨씬 관리하기 편할 것이다. 아래의 프로그램을 이용하면, 쉽게 ...

엣지 / 다운로드 하는 방법

엣지 / 다운로드 하는 방법

Windows 11, Windows 10 최신 설치 이미지, Windows Server 2022애는 마이크로소트 엣지가 포함되어 있다. 엣지가 기본 설치되지 않는 Windows에서는 엣지를 다운로드하고 설치하여 사용할 수 있다. 다운로드 주소 : https://www.microsoft.com/ko-kr/edge/download 다운로드 버튼을 클릭하고... 를 클릭하면 설치 파일이 다운로드된다. 다른 버전의 Windows용 설치 파일은 다운로드 버튼을 확장하여 다운로드할 수 있다.

Apache / 디렉토리 안에 있는 디렉토리 또는 파일 목록 출력하는 방법

Apache / 디렉토리 안에 있는 디렉토리 또는 파일 목록 출력하는 방법

URL이 정확히 입력되지 않은 경우 보통 다음처럼 Forbidden 에러가 납니다. 이 에러 대신 해당 디렉토리에 있는 파일과 하위 디렉토리 목록이 나오게 하고 싶다면, 설정에 다음 코드를 추가합니다. Options +Indexes

크롬 / 다운로드 할 때 저장 폴더 지정할 수 있게 설정하는 방법

크롬 / 다운로드 할 때 저장 폴더 지정할 수 있게 설정하는 방법

크롬 웹브라우저에서 파일을 다운로드하면 사용자 계정의 다운로드 폴더로 바로 다운로드합니다. 다운로드 폴더를 변경하거나, 다운로드할 때 저장할 위치를 지정하도록 설정할 수 있습니다. 오른쪽 위의 점 세 개 버튼을 클릭하고 을 클릭합니다.(주소 표시줄에 chrome://settings/를 입력해도 됩니다.) 왼쪽에서 를 선택하면 관련 설정을 할 수 있습니다.(주소 표시줄에 chrome://settings/downloads를 입력해도 됩니다.) 를 변경하여 기본 다운로드 폴더를 지정할 수 ...

스팀 / 게임 숨기기, 숨긴 게임 보기

스팀 / 게임 숨기기, 숨긴 게임 보기

언제할지도 모르면서 세일할 때 하나씩 사다보니 스팀에서 산 게임이 많아지고 있습니다. 그 중에는 엔딩까지 봐서 다시는 안 할 게임도 있고, 사긴 했지만 정말 언제 할지 모를 게임도 있고, 원래 것과 리마스터가 같이 있는 것도 있습니다. 그러다보니 라이브러리에 하지도 않을 게임이 잔뜩 보이는데요... 다행히도 목록에서 그 게임들을 숨길 수 있습니다. 방법은... 게임을 선택하고 ...