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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
우리은행 / 자동이체 조회하는 방법, 해지하는 방법

우리은행 / 자동이체 조회하는 방법, 해지하는 방법

요금이나 적금 등을 납부할 때 자동이체를 많이 이용합니다. 납부일을 놓힐 위험도 없고 편하고... 하지만 경우에 따라서 자동 이체를 해지하거나 계좌를 변경해야 하는 일이 발생할 수 있는데, 은행 영업점에 방문하거나 전화하지 않아도 처리할 수 있습니다. 모든 은행이 가능한지는 모르겠으나, 우리은행은 가능합니다. 다음은 우리은행 모바일 앱인 우리 WON 뱅킹에서 자동이체를 조회하고 해지하고 등록하는 ...

당구 / 시스템 / 파이브 앤 하프 시스템

당구 / 시스템 / 파이브 앤 하프 시스템

이름의 유래 5 포인트를 향해 치면 출발한 포인트의 1/2로 도착한다는 특징에서 이름이 만들어졌다고 한다. 예를 들어 40 포인트에서 5 포인트를 향해 무회전으로 치면 수구는 20 포인트로 들어온다. 파이브 앤 하프 시스템 파이브 앤 하프 시스템은 기본적으로 내가 원하는 3 쿠션 포인트로 수구를 보내기 위한 시스템이다. 목표로 하는 3 쿠션 포인트를 정하고, 수구의 위치를 파악하여 1 ...

OBS Studio / 윈도우 캡쳐 / 크롬 웹브라우저 검정으로 나오는 문제 해결하는 방법

OBS Studio / 윈도우 캡쳐 / 크롬 웹브라우저 검정으로 나오는 문제 해결하는 방법

윈도우 캡쳐 OBS Studio로 특정 윈도우를 선택하여 캡쳐할 수 있습니다. 방법은... 윈도우 캡쳐를 추가하고... 적당히 이름을 정한 후 을 클릭하고... 윈도우 목록에서 원하는 창을 선택하면 되는데... 크롬 웹브라우저가 검정으로 나온다면 크롬을 선택했을 때 검정으로 나오는 경우가 있습니다. 해결하는 방법은 크롬의 설정을 변경하는 것입니다. 크롬 설정을 열고... 을 클릭한 다음... 을 해제하면... 해결됩니다.

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

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

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

안드로이드 / 앱 / 페이스북 / 뉴스피드에서 동영상 소리, 자동 재생 없애는 방법

안드로이드 / 앱 / 페이스북 / 뉴스피드에서 동영상 소리, 자동 재생 없애는 방법

페이스북 앱의 뉴스피드에 동영상이 있으면 자동으로 재생되고 소리가 난다. 이를 해제하는 방법은... 오른쪽 위의 프로필 아이콘을 누른다. 밑으로 내려와서 을 누른다. 을 누르고... 를 누른다. 를 해제하면, 재생은 되나 소리는 나지 않는다. 재생을 아예 안하고 싶다면 으로 들어가서 설정한다.

안드로이드 / 앱 / 카카오톡 / 도시가스 검침하는 방법

안드로이드 / 앱 / 카카오톡 / 도시가스 검침하는 방법

아파트 엘리베이터에 공지가 하나 붙었어요. 삼천리 도시가스 카카오톡으로 검침하면 추첨해서 선물준다고... 매달 카카오톡으로 검침 메시지가 왔었는데, 현관 앞 검침표에 적었었거든요. 선물이 있다는 말에 카카오톡으로 검침을 해보았습니다. 여지껏 살면서 경품 당첨된 적은 없지만 말이죠...^^ 삼천리가 보내온 카카오톡으로 메시지 밑에 있는 를 눌러요. 전월 검침값 밑의 당월 검침값을 눌러서 계량기에 있는 숫자를 입력합니다. ...

노트북 / 스티커 제거 방법

노트북 / 스티커 제거 방법

노트북을 사면 키보드 밑 터치패드 옆에 스티커가 붙어 있다. CPU 스티커, 그래픽 카드 스티커, AS 스티커 등 노트북마다 다르기는 하지만 3-4개는 항상 붙어 있다. 개인적인 성향이겠으나, 나는 그 스티커들을 좋아하지 않는다. 열심히 디자인한 노트북에 왜 붙였는지 이유를 모르겠다. 시스템 정보나 제품 설명에 다 나오는 것인데 말이다. 스티커가 노트북을 더 멋있게 만드는 ...

리눅스 / 로그아웃 명령어, 재부팅 명령어, 종료 명령어

로그아웃 명령어 # logout # exit 재부팅 명령어 즉시 재부팅 # reboot # shutdown -r now # init 6 일정 시간 또는 일정 시간 후 재부팅 10분 후 재부팅 # shutdown -r 10 12시에 재부팅 # shutdown -r 12:00 취소 # shutdown -c 종료 명령어 즉시 종료 # poweroff # shutdown -h now # shutdown -P now # halt -p # init 0 일정 시간 또는 일정 시간 후에 종료 10분 후에 종료 # ...

워드프레스 / 플러그인 / Extended User Search In WP-Amin / 이름으로도 사용자 검색 가능하게 하는 플러그인

워드프레스 / 플러그인 / Extended User Search In WP-Amin / 이름으로도 사용자 검색 가능하게 하는 플러그인

이 Theme Buster인 경우... 사용자 목록에 이름이 AAA가 보여도 AAA로 검색하면... 검색이 되지 않는다. 을 AAA로 설정하면... 검색이 된다. 즉, 검색이 가능한 이름은 으로 검색이 되게 하려면 Extended User Search In WP-Amin 플러그인을 사용하면 된다. 특별한 설정을 필요 없고, 플러그인을 ...

버추얼박스 / USB 2.0과 USB 3.0을 사용하는 방법

버추얼박스 / USB 2.0과 USB 3.0을 사용하는 방법

버추얼박스에 만든 가상 머신에 USB를 인식시킬 수 있습니다. 그런데, 지원되는 버전이 1.0입니다. 만약 USB 2.0 또는 USB 3.0을 사용하려면 확장팩을 설치해야 합니다. 버추얼박스 다운로드 페이지에서 Extension Pack을 다운로드하고 실행합니다. 를 클릭합니다. 라이선스의 끝까지 스크롤 한 후 를 클릭합니다. 잠시 기다리면 설치가 완료되고, USB 2.0과 USB 3.0을 사용할 수 있게 됩니다.