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 플래그가 설정되어 있다.
같은 카테고리의 다른 글

위키(Wiki) / 위키 만드는 소프트웨어 / 도쿠위키(DokuWiki)

도쿠위키(DokuWiki)는 텍스트 파일을 기반으로 하는 오픈 소스 위키 소프트웨어로, 데이터베이스를 사용하지 않기 때문에 설치와 유지 관리가 간편합니다. 도쿠위키는 간편한 설치와 사용 용이성 덕분에 개인 웹사이트, 소규모 프로젝트, 내부 문서 관리 등에 널리 사용됩니다. 역사 도쿠위키는 안드레아스 괴링(Andreas Gohr)에 의해 2004년에 처음 개발되었습니다. 간단하면서도 강력한 기능을 제공하여 다양한 사용자들이 쉽게 접근할 수 있도록 ...

NM-RB93 / 비디오테이프를 동영상 파일로 변환하는 방법

NM-RB93 / 비디오테이프를 동영상 파일로 변환하는 방법

예전에 8mm 테이프가 들어가는 캠코더로 찍은 영상들이 있습니다. 그 때는 나름 최신 기술이었는데, 지금 스마트폰으로 찍는 영상보다 화질이 아주 떨어지죠. 하지만 그 때로 돌아갈 수는 없으니 낮은 화질의 영상을 TV에 연결하여 종종 봅니다. 그런데, 볼 때마다 캠코더를 꺼내고 TV에 연결하는 게 귀찮아지기 시작했습니다. 역시 파일이 편하죠? 그래서 장비(?)를 하나 구입했습니다. 모델명은 ...

OBS Studio / 디스플레이 캡쳐 / 검은 화면 나오는 문제 해결하는 방법

OBS Studio / 디스플레이 캡쳐 / 검은 화면 나오는 문제 해결하는 방법

OBS Studio는 컴퓨터 화면 녹화, 웹캠 녹화, 게임 녹화 등을 할 수 있는 오픈소스 프로그램입니다. 녹화뿐만 아니라 실시간 방송도 가능하고, 여러 소스를 동시에 화면에 띄워 녹화 및 방송을 할 수도 있는 유용한 프로그램입니다. 이런 프로그램이 오픈소스라는 것이 고마울 뿐입니다. 컴퓨터 화면 녹화를 하기 위해 OBS Studio를 설치했는데, 문제가 발생했습니다. 디스플레이 캡쳐를 ...

마우스 / DPI와 CPI 비교

컴퓨터 마우스는 우리가 일상적으로 사용하는 중요한 입력 장치 중 하나입니다. 마우스를 사용할 때 그 움직임의 민감도와 정확성은 사용자의 경험에 큰 영향을 미칩니다. 이 민감도와 정확성을 측정하는 주요 지표가 바로 DPI와 CPI입니다. 이 두 용어는 종종 혼용되어 사용되지만, 각기 다른 의미를 가지고 있습니다. DPI (Dots Per Inch) DPI는 "Dots Per Inch"의 약자로, 마우스가 ...

SSD / 특징, 종류, 장점, 단점

SSD / 특징, 종류, 장점, 단점

SSD(Solid State Drive)는 데이터를 저장하는 데 사용되는 비휘발성 저장 장치입니다. SSD는 기존의 HDD(Hard Disk Drive)와는 달리 기계적 부품 대신 반도체 칩을 이용하여 데이터를 저장합니다. SSD의 특징 반도체 기반 스토리지 : SSD는 NAND 플래시 메모리와 같은 반도체 칩을 이용해 데이터를 저장합니다. 기계적 부품 없음 : HDD와 달리 SSD에는 움직이는 부품이 없습니다. 빠른 데이터 접근 : ...

엣지 / 코파일럿 아이콘 없애는 방법

엣지 / 코파일럿 아이콘 없애는 방법

엣지 브라우저 오른쪽 위에 코파일럿 아이콘이 있습니다. 아이콘을 클릭하면 사이드바가 열리면서 코파일럿과 채팅을 할 수 있죠. 만약 코파일럿을 사용하지 않아서 이 기능이 전혀 필요하지 않다면, 코파일럿 아이콘을 안 보이게 할 수 있습니다.

안드로이드 / PING 테스트 하는 방법

안드로이드 / PING 테스트 하는 방법

외부 네트워크에서 PING 테스트를 해야 할 때가 있다. 그럴 때 가장 편한 방법은 스마트폰의 와이파이를 끊고 테스트 하는 것. PING으로 검색하면 여러 가지 앱이 나오는데, 사용법은 비슷하다. 예를 들어 Ping이라는 앱으로 한다고 하면... IP를 입력하고 버튼을 누르면 된다.

Gmail / 수신한 메일을 자동으로 다른 메일로 전달하는 방법

Gmail / 수신한 메일을 자동으로 다른 메일로 전달하는 방법

지메일(Gmail)을 주로 사용하는 경우도 있지만, 어쩔 수 없이 구글에 계정을 만들고 사용하는 경우도 있다. 예를 들어 Google Ads나 AdSense, Analytics 등 구글의 서비스를 이용하려면 구글 계정이 필요하다. 그렇게 만들어진 지메일로 메일이 온 것을 확인하려면 웹브라우저로 로그인하거나 아웃룩 같은 메일 클라이언트에 추가하면 된다. 그 모든 게 다 귀찮다면 그 계정으로 들어오는 메일을 내가 ...

가비아 / 도메인 구입하는 방법

가비아 / 도메인 구입하는 방법

가비아에서 shop 도메인을 500원에 판매하는 이벤트를 한다. 주의할 점은 갱신할 때는 5만 원이라는 것. 잠시 사용할 테스트용 도메인이 필요하여 가비아에서 shop 도메인을 구입했다. 구입하는 과정은 다음과 같다. 회원 가입 가비아에 회원 가입을 먼저 한다. 가입하는 과정은 생략한다. 가비아 홈페이지 : https://www.gabia.com/ 도메인 검색 도메인 사이트(https://domain.gabia.com/)에서 도메인 검색을 한다. 검색어에 대한 다양한 도메인과 가격을 볼 수 있다. ...

Ventoy / 멀티 부팅 USB 만드는 프로그램

Ventoy / 멀티 부팅 USB 만드는 프로그램

보통의 경우 운영체제는 한 번 설치하면 오랫동안 쓴다. 하지만 개발자나 전산 담당자라면 자주 여러 OS를 설치하게 된다. 이를 위해 OS별로 설치 USB를 만들게 되는데, 상당히 불편하다. 다양한 OS를 설치하는 상황이라면, Ventoy를 이용해서 그 OS들을 다 담은 설치 USB를 만들 수 있다. 대부분의 OS를 지원하며, 1100개 이상의 ISO 파일을 테스트했다고 한다. Ventoy is an ...