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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
국세청 홈택스 / 세무서 발송 우편물 홈택스에서 보는 방법

국세청 홈택스 / 세무서 발송 우편물 홈택스에서 보는 방법

세무서에서 여러 가지 우편물을 보내온다. 만약 그 우편물을 분실했거나, 우편물을 받기 곤란한 상황이라면 어떻게 할까? 다행히 국세청 홈택스에서 최근 1년 우편물을 확인할 수 있다. 국세청 홈택스에 로그인한 후 로 간다. 를 클릭한다. 를 클릭하면... 우편물 발송 내역이 나온다. 를 클릭하면... 우편물의 내용을 볼 수 있다.

인터넷 속도 단위 Mbps와 MB와의 관계

인터넷 속도 단위인 Mbps는 Mega Bits Per Second의 약자로, 1초당 전송하는 Mega Bit의 양입니다. 예를 들어 인터넷 속도가 100Mbps라고 하면 1초당 100 Mega Bits를 전송한다는 뜻입니다. 그런데 파일의 크기는 Byte를 단위로 사용합니다. 예를 들어 3MB 크기의 파일이라고 하면 3 Mega Bytes를 의미합니다.

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

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

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

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

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

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

현대자동차 / 스마트키 / 배터리 교체하는 방법

현대자동차 / 스마트키 / 배터리 교체하는 방법

차 시동을 끄는데 메시지가 하나 떴어요. 자동차 스마트키 배터리 전압이 낮다는.. 그래서 그 키는 두고 다른 키를 사용했는데, 그것도 전압이 낮다고 나왔어요. 어쩔 수 없이 배터리를 교체했습니다. 차량 설명서에는 설명이 너무 간단하게 나왔어요. 일자 드라이버로 분해하고, 건전지 교체하고, 다시 조립하라고... 뭐, 틀린 말은 아닌데, 사진 같은 것도 없어서 좀 오래 걸렸네요. 제일 ...

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

제주도 여행을 위해 차를 렌트하게 되었다. 제주도에는 렌트카 업체가 다양하게 있는데, 워낙 안 좋은 기사를 많이 봐서 대형 업체에서 빌리기로 했다.  대형 업체 중 롯데렌터카로 정했는데, 롯데렌터카 공식 홈페이지에서 예약하는 것보다 제휴 업체를 통해 예약하는 게 더 저렴하더라. 대표적인 제휴업체는 KT와 롯데면세점. 두 군데 모두 예약 방식이나 할인 정도는 같았다. 예를 들어 ...

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin을 업로드 하고 로그인 했을 때 다음과 같은 문구가 나오는 경우가 있습니다. 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다. 해결하는 방법은 다음과 같습니다. phpMyAdmin 디렉토리에 있는 config.sample.inc.php를 config.inc.php로 이름을 바꾸어 저장합니다. 그리고 파일에 있는 다음 코드에 값을 채웁니다. $cfg = ''; 32개 보다 적은 문자를 넣으면 길이가 짧다는 메시지가 나오므로, 32개 이상의 문자를 입력합니다.

보안 / IDS - Intrusion Detection System

Intrusion Detection System(IDS)는 네트워크나 시스템에서 발생하는 활동을 모니터링하고, 악의적인 활동이나 정책 위반을 탐지하여 관리자에게 경고를 보내는 보안 장치입니다. IDS는 침입 방지 시스템(IPS)과는 달리, 탐지된 위협을 차단하지 않고 알림을 통해 관리자에게 통보하는 역할을 합니다. 주요 특징 실시간 모니터링 네트워크 트래픽이나 시스템 로그를 실시간으로 모니터링하여 이상 활동을 탐지합니다. 위협 탐지 악의적인 활동, 정책 위반, 비정상적인 트래픽 패턴 ...

FIDO(Fast IDentity Online)

FIDO(Fast IDentity Online)는 비밀번호 없이 안전하고 편리한 인증 방법을 제공하는 기술 표준입니다. FIDO 얼라이언스에 의해 개발된 이 기술은 온라인 인증의 보안성을 높이기 위해 만들어졌으며, 여러 인증 방식을 제공하고 있습니다. 주요 목표는 비밀번호의 사용을 줄이거나 없애고, 피싱 공격 및 자격 증명 도용을 방지하는 것입니다. FIDO의 주요 개념과 기술 FIDO 프로토콜: FIDO는 다양한 인증 ...

유닉스(UNIX)와 리눅스(Linux)

유닉스(UNIX)와 리눅스(Linux)는 모두 컴퓨터 운영체제(Operating System)로, 주로 서버, 워크스테이션, 네트워크 장비 및 임베디드 시스템에서 사용됩니다. 두 운영체제는 관련성이 있지만, 역사와 구조, 철학에서 차이가 있습니다. 유닉스(UNIX) 역사 1969년, 벨 연구소(Bell Labs)에서 Ken Thompson, Dennis Ritchie, 그리고 다른 연구자들에 의해 개발. 초기에는 미니 컴퓨터 환경에서 간단하고 효율적인 운영체제를 제공하는 것을 목표로 설계. UNIX는 C 언어로 작성되어 이식성이 ...