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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
OBS Studio / 프리미어 프로 편집을 위한 녹화 설정

OBS Studio / 프리미어 프로 편집을 위한 녹화 설정

OBS 스튜디오로 방송도 가능하고 녹화도 가능합니다. 녹화를 하는 경우 편집을 하게 되는데, 녹화 영상에 따라 편집이 수월할 수도 있고 곤란할 수도 있습니다. 만약 어도비 프리미어 프로로 편집을 할 거라면, 설정을 다음과 같이 하세요. 기본 설정인 FLV 형식으로 녹화하면 프리미어 프로에서 영상을 불러올 때부터 난관에 부딪히게 됩니다. 을 클릭합니다. 왼쪽에서 을 클릭합니다. 출력 방식이 ...

모니터 / 주사율

모니터 주사율(Refresh Rate)은 모니터가 1초에 몇 번 화면을 새로 고치는지를 나타내는 지표로, 단위는 헤르츠(Hz)입니다. 예를 들어, 주사율이 60Hz인 모니터는 1초에 60번 화면을 새로 고친다는 의미입니다. 주사율은 화면의 부드러움과 반응성을 결정하는 중요한 요소입니다. 주사율의 중요성 화면 부드러움 높은 주사율은 화면의 움직임을 더 부드럽게 표현합니다. 특히 빠르게 움직이는 영상이나 게임에서 차이가 두드러집니다. 반응성 높은 주사율은 입력 지연(Input ...

보안 / ATP - Advanced Threat Protection

Advanced Threat Protection(ATP)는 고급 사이버 위협으로부터 네트워크, 시스템 및 데이터를 보호하기 위한 일련의 보안 솔루션입니다. ATP 솔루션은 악성 공격을 탐지하고 차단하며, 위협에 대한 심층 분석과 대응을 제공하여 기업의 보안을 강화합니다. 주요 기능 실시간 모니터링 및 분석 네트워크 트래픽과 시스템 활동을 실시간으로 모니터링하여 이상 징후를 탐지합니다. 위협 탐지 및 차단 악성 소프트웨어, 피싱, 제로데이 공격 등 ...

노트북 / 스티커 제거 방법

노트북 / 스티커 제거 방법

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

브랜드 로고 공식 배포 주소

브랜드 로고 공식 배포 주소

로고를 다운로드 받을 수 있는 공식 주소를 정리한다. 로고 사용에 대한 가이드라인이 있으므로, 공식 주소에서 다운로드하는 것이 좋다. 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/  

당구 / 길 / 바운딩

당구 / 길 / 바운딩

상단 당점으로 밀어쳤을 때 수구가 휘어지는 현상을 이용하는 것을 바운딩이라고 한다. 밀어치는 정도와 회전을 이용하여 여러 가지 응용이 가능하다. 원 쿠션 투 바운딩 바운딩의 기초는 아래의 형태를 성공시키는 것이다. 수구를 쿠션에 붙여놓으면 밀어치기가 수월해진다. 두께 100%로 밀어치면, 단 쿠션에 두 번 맞고 장 쿠션에 한 번 맞는다. 위의 배치에 자신이 생기면, 수구를 쿠션에서 뗀다. ...

당구 / 시스템 / 일출일몰 시스템

당구 / 시스템 / 일출일몰 시스템

비껴치기로 3쿠션을 칠 때 사용하는 시스템이다. 공이 배치에 따라 회전을 조절하는 것으로, 당점의 변화를 이으면 해가 뜨고 지는 것과 비슷하다 하여 일출일몰 시스템이라 부른다. 파란색이 수구 포인트, 주황색이 1쿠션 포인트, 초록색이 3쿠션 포인트이다. 포인트들을 다 더하여 당점을 정한다. 수구 포인트 + 1쿠션 포인트 + 3쿠션 포인트 = 팁 수 아래의 경우 2팁으로 친다. ...

네트워크 / 잘 알려진 포트, 등록된 포트, 동적 포트

포트 번호는 0~65535까지 사용 가능합니다. 이를 용도에 따라 잘 알려진 포트, 등록된 포트, 동적 포트 세 가지로 분류합니다. 관리는 IANA(Internet Assigned Numbers Authority)에서 합니다.

PhotoScape X / 여러 이미지에 워터마크 한 번에 넣는 방법

PhotoScape X / 여러 이미지에 워터마크 한 번에 넣는 방법

캡처는 보통 픽픽으로 하고, 픽픽에 있는 워터마크 넣는 기능을 이용하여 워터마크를 넣고 있습니다. 그런데, 불편한 것은 하나씩 해야 한다는 것입니다. 많은 이미지에 워터마크를 넣을 때 손이 많이 갑니다. 이럴 때 포토스케이프 X의 일괄 편집을 이용하면, 많은 이미지에 한 번에 워터마크를 넣을 수 있습니다. 에 워터마크를 넣을 이미지를 추가합니다. 오른쪽에 ...

리눅스 / 명령어 / systemctl

systemctl은 서비스를 관리하는 명령어이다. 서비스 상태 확인 systemctl status service_name.service 서비스 시작 systemctl start service_name.service 서비스 재시작 systemctl restart service_name.service 서비스 중지 systemctl stop service_name.service 부팅 시 서비스 자동 시작 systemctl enable service_name.service 부팅 시 서비스 자동 시작 해제 systemctl disable service_name.service 서비스 목록 보기 systemctl list-units --type=service