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 뱅킹에서 자동이체를 조회하고 해지하고 등록하는 ...

국세청 홈택스 / 매입 전자세금계산서 조회하고 인쇄하는 방법

국세청 홈택스 / 매입 전자세금계산서 조회하고 인쇄하는 방법

전자세금계산서 기업 간 거래를 할 때 주로 세금계산서를 증빙으로 주고받습니다. 예전엔 종이로 된 세금계산서를 사용했는데, 요즘엔 거의 다 전자세금계산서로 처리합니다. 전자세금계산서를 받게 되면, 보통 발급한 쪽에서 메일로 그 사실을 알려주고 열람이나 출력 가능한 링크를 보내줍니다. 그런데, 그 링크를 통해서만 열람 등이 가능한 것은 아닙니다. 전자세금계산서는 국세청 홈택스에서도 볼 수 있습니다. 거래처별로 확인하는 것 ...

사진의 EXIF 정보 보는 방법, 수정하는 방법, 제거하는 방법

사진의 EXIF 정보 보는 방법, 수정하는 방법, 제거하는 방법

EXIF(Exchangeable Image File Format)는 디지털 카메라나 스마트폰 등으로 찍은 이미지 파일에 포함되는 메타데이터 형식입니다. 사진을 찍을 때 자동으로 저장되는 정보들이라고 할 수 있어요. 이 정보는 이미지 파일에 포함됩니다. EXIF에는 다음과 같은 정보들이 들어갑니다.

경기지역화폐 / 유효 기간 연장하는 방법

경기지역화폐 / 유효 기간 연장하는 방법

경기지역화폐를 유용하게 사용하고 있습니다. 혜택이 많이 줄기는 했지만, 그래도 혜택이 있으니까요. 자주 방문하는 용인과 양주의 지역화폐를 만들고 사용하고 있는데요, 양주 지역화폐의 유효 기간이 끝나간다고 메시지가 왔습니다. 그래서 경기지역화폐 앱애 로그인했더니 버튼이 있더라구요. 그걸 눌렀더니... 유효 기간을 바로 연장할 수 있더라구요. 신용카드처럼 카드를 새로 발급 받는 건 아니었습니다. 앱에서 유효 기간을 연장하면, 카드에 ...

IP 스푸핑, MAC 스푸핑, ARP 스푸핑

IP 스푸핑(IP Spoofing) IP 스푸핑은 네트워크 공격 기법 중 하나로, 공격자가 자신의 IP 주소를 위조하여 다른 컴퓨터나 네트워크 장치를 속이는 행위를 말합니다. 이 기법은 주로 권한 없는 접근, 데이터 도청, 서비스 거부(DoS) 공격 등을 수행하기 위해 사용됩니다. 작동 원리 IP 스푸핑은 IP 패킷 헤더에 있는 발신자 IP 주소(SRC IP)를 위조하여 공격 대상이 이를 ...

브랜드 로고 공식 배포 주소

브랜드 로고 공식 배포 주소

로고를 다운로드 받을 수 있는 공식 주소를 정리한다. 로고 사용에 대한 가이드라인이 있으므로, 공식 주소에서 다운로드하는 것이 좋다. Bootstrap https://getbootstrap.com/docs/5.0/about/brand/ Facebook https://www.facebook.com/brand/resources/facebookapp/logo Facebook Messenger https://www.facebook.com/brand/resources/messenger/messenger-brand HTML5 https://www.w3.org/html/logo/ Intagram https://www.facebook.com/brand/resources/instagram/instagram-brand jQuery https://brand.jquery.org/logos/ Kakao Story Channel https://ch.kakao.com/login LinkedIn https://brand.linkedin.com/downloads MariaDB https://mariadb.com/about-us/logos/ Naver https://logoproject.naver.com/logonaver Naver Band https://developers.band.us/develop/guide/share Naver Line https://line.me/en/logo PHP https://www.php.net/download-logos.php Pinterest https://business.pinterest.com/ko/brand-guidelines/ Python https://www.python.org/community/logos/ Samsung https://www.samsung.com/sec/about-us/brand-identity/logo/ Sass https://sass-lang.com/styleguide/brand Twitter https://about.twitter.com/en/who-we-are/brand-toolkit Visual Studio Code https://code.visualstudio.com/brand YouTube https://www.youtube.com/howyoutubeworks/resources/brand-resources/  

스팀 / 게임 구입하는 방법

스팀 / 게임 구입하는 방법

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

DRM / 기능, 장점, 단점

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

스팀 / 자녀 보호 설정하는 방법, 해제하는 방법

스팀 / 자녀 보호 설정하는 방법, 해제하는 방법

요즘 아이들은 게임으로 논다. 멀티플레이 게임도 많으니까 혼자 논다고 볼 수는 없다. 친구들과 함께 게임을 즐긴다. 그러려면 게임을 사줘야 하는데, 아무 거나 사줄 수도 없고, 아무거나 플레이하게 할 수도 없다. 그래서 게임 판매자는 청소년에 대한 제한을 두고 있다. 그건 스팀도 마찬가지다. 스팀에는 자녀 보호라는 이름의 기능으로 아이의 게임을 제한한다. 그렇다고 뭔가 ...

DLP와 DRM 차이

DLP(Data Loss Prevention)와 DRM(Digital Rights Management)은 모두 데이터 및 디지털 콘텐츠의 보호를 목적으로 하지만, 그 목표와 작동 방식에서 차이점이 있습니다. DLP는 주로 기업 내부의 데이터 보안을 강화하기 위한 솔루션이며, DRM은 디지털 콘텐츠의 저작권을 보호하고 불법 복제를 방지하는 데 사용됩니다. 두 기술은 각기 다른 목적과 적용 범위를 가지고 있지만, 모두 중요한 ...