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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
미디어 인코더 / 동영상을 움직이는 GIF로 만드는 방법

미디어 인코더 / 동영상을 움직이는 GIF로 만드는 방법

동영상을 움직이는 GIF로 만드는 방법은 여러 가지가 있습니다. 그 중 하나는 Adobe Media Encoder를 사용하는 것입니다. Adobe Premiere를 설치하면 같이 설치되는 프로그램이고, Premiere 없이 단독으로 설치할 수도 있습니다. Adobe Media Encoder를 실행하고, 대기열의 + 아이콘을 클릭하여 변환할 동영상을 추가합니다. 출력물을 애니메이션 GIF로 설정하고 변환하면 잠시 후 GIF가 생성됩니다.

큐브 / 뻑뻑하다면 기름(큐브 윤활유)을 칠해보세요.

큐브 / 뻑뻑하다면 기름(큐브 윤활유)을 칠해보세요.

아이에게 큐브를 사준 지 4개월쯤 되었습니다. 처음엔 어려워하고 지루해했습니다. 그런데, 어느 순간 설명서 없이도 척척 맞추기 시작하더니, 요즘엔 시간 단축에 재미를 느끼고 있습니다. 구입한 큐브는 루빅스 큐브입니다. 평이 좋고 나름 비싼(?) 큐브죠. 가격은 15,000원 정도... 그런데, 이 큐브가 많이 뻑뻑하답니다. 친구들 큐브를 해보니 아주 잘 돌아간다고 새로 하나 사달라고 하네요. 그래서 동네 문방구에서 큐브를 하나 샀습니다. 가격은 ...

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

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

Azure Information Protection와 Windows Information Protection

Azure Information Protection(AIP) 개요 AIP는 Microsoft Azure의 클라우드 기반 서비스로, 데이터의 분류, 라벨링, 보호를 목적으로 하는 솔루션입니다. 조직의 중요한 문서와 이메일을 암호화하고, 누가 어떤 데이터를 보고 조작할 수 있는지를 제어할 수 있습니다. 주요 기능 데이터 분류 및 라벨링: 민감한 정보를 자동으로 탐지하고, 문서 및 이메일에 보안 라벨을 적용하여 관리합니다. 라벨링은 수동 또는 규칙 기반으로 ...

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

국세청 홈택스 / 연말정산간소화 서비스에서 연말정산자료 출력하는 방법

근로자는 매년 초 전년도 근로소득에 대해서 연말정산을 합니다. 이때 소득공제 또는 세액공제를 받기 위해서 보험료, 교육비, 신용카드 사용액 등을 제출을 하죠. 사실 꼭 해야 하는 것은 아닙니다. 5월 달 종합소득세 신고 때 해도 되니까요. 하지만, 년 초에 하면 회시에서 처리해주고, 돈을 받을 게 있다면 미리 받는다는 장점이 있죠. 연말정산 관련 자료는 ...

하이패스 사용 내역 확인하고 출력하는 방법

하이패스 사용 내역 확인하고 출력하는 방법

현대카드의 하이패스를 사용하고 있는데 카드 명세서에는 금액만 찍힌다. 그래서 언제 어디에서 사용한 것인지 알 수가 없다. 정확히 언제 어디서 사용한 것인지 알아야 한다면, 그리고 건별 영수증이 필요하다면 고속도로 통행료 홈페이지로 가자. 원하는 정보를 얻을 수 있다. 회원 가입을 하고... 카드 등록을 한다. 에서... 조건을 지정하여 내역을 조회할 수 있다. 영수증이 필요하면 선택을 한 후 ...

네트워크 / 핑 테스트(ping test)

네트워크 / 핑 테스트(ping test)

핑 테스트란? 핑 테스트(ping test)는 네트워크 연결 상태를 확인하고 진단하기 위해 특정 네트워크 호스트에 패킷을 보내고 응답 시간을 측정하는 과정이다. 이는 네트워크 문제를 신속하게 식별하고 해결하는 데 유용하다. 핑 테스트는 인터넷 연결 문제, 네트워크 속도 문제, 또는 네트워크 장치 간의 연결 상태를 점검할 때 주로 사용된다. 네트워크 연결 상태 확인 특정 IP 주소나 ...

네트워크 / TTL(Time To Live)

네트워크 / TTL(Time To Live)

개요 TTL은 Time To Live의 약자로, IP 패킷 헤더의 한 필드이다. TTL 필드는 패킷이 네트워크를 통해 전달될 때 패킷이 머무를 수 있는 최대 홉(hop) 수를 지정한다. 이 필드는 패킷이 무한히 순환하지 않도록 방지하는 데 사용된다. TTL의 동작 방식은 다음과 같다. 패킷이 네트워크를 통해 전송될 때 송신자는 TTL 값을 설정한다. 이 값은 일반적으로 64, ...

미디어위키 / 메모

MediaWiki ShortURL Builder https://shorturls.redwerks.org/ Extension AutoSitemap https://www.mediawiki.org/wiki/Extension:AutoSitemap 사이트맵 만들어주는 확장기능 사이트맵 주소는 /sitemap.xml 확장기능 설치 후 글을 새로 작성하거나 기존 글을 수정해야 사이트맵이 생성된다. SimpleMathJax https://www.mediawiki.org/wiki/Extension:SimpleMathJax LaTeX 문법으로 수식 입력하게 해주는 확장기능 CSS 편집 모든 스킨에 적용되는 CSS 미디어위키:Common.css Vector 스킨에 적용되는 CSS 미디어위키:Vector.css MobileFrontend, Minerva Neue 설치하고 설정하기 미디어위키 공식 홈페이지를 PC로 접속하면 Vector 스킨으로, 모바일로 접속하면 Minerva Neue 스킨으로 보여준다. 그렇게 구현하기 위해서는 MobileFrontend 확장 ...

보안 / 방화벽

방화벽의 정의 방화벽(Firewall)은 컴퓨터 네트워크 보안 시스템으로, 네트워크 트래픽을 모니터링하고 제어하여 신뢰할 수 없는 네트워크(일반적으로 인터넷)와 신뢰할 수 있는 내부 네트워크 간의 장벽을 형성합니다. 방화벽은 승인된 트래픽은 통과시키고, 비승인된 트래픽은 차단함으로써 네트워크 보안을 강화합니다.  방화벽의 주요 기능 트래픽 필터링 방화벽은 패킷 필터링 기술을 사용하여 네트워크 트래픽을 검사하고, 사전 정의된 보안 규칙에 따라 트래픽을 허용하거나 ...