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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
가비아 / 도메인 구입하는 방법

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

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

공인 IP vs 사설 IP

공인 IP vs 사설 IP

IP 주소는 인터넷에 연결된 장치를 식별하기 위한 주소입니다. IP 주소는 크게 공인 아이피(Public IP) 와 사설 아이피(Private IP) 로 구분됩니다. 공인 IP는 인터넷에서 유일하게 식별되는 IP 주소입니다. 사설 IP는 내부 네트워크에서만 사용하는 IP 주소입니다.

안드로이드 / 앱 / 카카오뱅크 / 지문으로 이체, 로그인 가능하게 등록, 설정하는 방법

안드로이드 / 앱 / 카카오뱅크 / 지문으로 이체, 로그인 가능하게 등록, 설정하는 방법

스마트폰이나 스마트폰 앱에 로그인할 때 지문을 사용하면 상당히 편합니다. 비밀번호나 패턴보다 보안 측면에서 좋은지는 잘 모르겠지만, 편한 건 맞습니다. 지문 사용이 가능한 스마트폰이라면 카카오뱅크도 지문으로 본인 인증이 가능합니다. 카카오뱅크 앱을 설치할 때 설정할 수 있는데, 그 때 사용 설정을 하지 않아도 변경이 가능합니다. 카카오뱅크 앱을 실행하고, 왼쪽 위에 있는 선 세 개 ...

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

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

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

Microsoft Office 2016 / 마이크로소프트 계정에서 로그아웃하는 방법

Microsoft Office 2016 / 마이크로소프트 계정에서 로그아웃하는 방법

MS OFFICE 2016은 마이크로소프트 계정에 로그인되어 있지 않아도 사용할 수 있습니다. 어떻게 로그아웃하는지 알아보겠습니다. 오른쪽 위에 있는 계정 이름을 클릭하면 조그만 창이 나오는데, 제일 아래에 있는 을 클릭합니다. 을 클릭합니다. 계정 옆에 나오는 을 클릭합니다. 로그아웃할 때 발생하는 문제를 안내하는 창이 나옵니다. 를 클릭하면 로그아웃되고, 오른쪽 위에 계정 이름 대신 링크가 생깁니다.

DRM / 기능, 장점, 단점

DRM(Digital Rights Management)은 디지털 콘텐츠의 저작권 보호와 불법 복제를 방지하기 위한 기술 및 관리 시스템을 의미합니다. 주로 음악, 영화, 전자책, 소프트웨어 등 디지털 콘텐츠의 사용 및 배포를 제어하는 데 사용됩니다. DRM은 디지털 콘텐츠의 저작권을 보호하고, 콘텐츠 제공자가 정당한 수익을 얻을 수 있도록 돕는 중요한 기술입니다. 그러나 사용자 편의성과 보안 사이의 ...

OBS Studio / 윈도우 캡쳐 / 녹화 영역 윈도우에 맞추는 방법

OBS Studio / 윈도우 캡쳐 / 녹화 영역 윈도우에 맞추는 방법

OBS Studio의 윈도우 캡쳐를 이용하면, 특정 창만 선택하여 캡쳐를 할 수 있습니다. 그런데, 화면에 꽉 차지 않은 창을 선택하면 아래처럼 나머지 부분이 검정으로 나옵니다. 그 부분에 다른 화면이나 창을 넣을 수 있는데, 만약 선택한 창만 녹화를 한다면 검정 부분까지 녹화가 됩니다. 검정 부분을 없애고, 선택한 윈도우만 녹화하고 싶다면, 마우스 우클릭하여 [출력 ...

크롬 / 비밀번호 저장 설정하는 방법

크롬 / 비밀번호 저장 설정하는 방법

구글 크롬에는 비밀번호 저장 기능이 있다. 비밀번호 저장을 하면 동기화한 모든 기기에서 저장된 암호를 사용할 수 있다. 편리하긴 하지만, 공용 PC에서는 사용에 주의를 기울여야 한다. 비밀번호 저장 기능 사용 여부는 에서 한다. 를 클릭하고... 를 클릭한다. 을 클릭한다. 비밀번호 저장 기능을 사용했다면 저장된 비밀번호 목록을 볼 수 있다. 사이트를 클릭해서 ...

OBS Studio / 디스플레이 캡쳐 / 특정 영역 녹화하는 방법

OBS Studio / 디스플레이 캡쳐 / 특정 영역 녹화하는 방법

OBS Studio로 녹화할 때, 모니터 전체가 아닌 특정 영역만 녹화할 수 있다. 디스플레이 캡처를 추가하고, 필요한 부분만 남기고 자르면 된다. 를 추가한다. 를 클릭한다. 를 클릭한다. 적당히 이름을 정하고 를 클릭한다. 영역 지정 방법은 상대적과 절대적이 있는데, 에 체크 되어 있으면 상대적으로 지정한다. 아래와 같이 하면 상하좌우 300px을 자르고 남은 부분을 지정한다. 아래와 ...

버추얼박스 / 가상 머신 복제하는 방법

버추얼박스 / 가상 머신 복제하는 방법

가상 머신을 여러 개 만들 경우, 서로 다른 OS로 만드는 것이라면 따로따로 만들어야 하지만, 같은 OS의 가상 머신을 여러 개 만드는 것이라면 하나를 만들고 복제하는 것이 편합니다. 버추얼박스에서 가상 머신 복제를 어떻게 하는지 알아보겠습니다. 복제하려는 가상 머신을 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭합니다. 적절히 설정 후 을 클릭합니다. 적절히 설정 후 을 클릭합니다. 적절히 ...