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 플래그가 설정되어 있다.
같은 카테고리의 다른 글
스토리지 / SAN / iSCSI / 특징, 장점

스토리지 / SAN / iSCSI / 특징, 장점

현대 데이터 센터와 기업 환경에서 스토리지 솔루션은 그 어느 때보다 중요해지고 있습니다. 데이터 양은 기하급수적으로 증가하고 있으며, 이에 따른 저장 및 관리의 필요성도 함께 증가하고 있습니다. 이러한 환경에서 iSCSI(Internet Small Computer Systems Interface)는 매우 유용하고 비용 효율적인 스토리지 솔루션으로 자리잡고 있습니다. iSCSI란? iSCSI는 IP 네트워크를 통해 데이터 저장 장치에 액세스하기 위해 사용하는 ...

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스는 여러 가지 메일을 관리자 또는 사용자에게 보낸다. 메일 발송은 기본적으로 워드프레스가 설치된 시스템을 이용하는데, 시스템 설정에 따라 메일이 나가지 않거나, 메일이 발송되더라도 스팸으로 빠지는 경우가 생길 수 있다. 그런 경우 다른 SMTP 서버로 메일을 발송하여 문제를 해결할 수 있다. WP Mail SMTP는 워드프레스가 다른 SMTP로 메일을 발송하게 해주는 플러그인이다. 사용자가 ...

워드프레스 / 리비전(Revision)

워드프레스 / 리비전(Revision)

리비전   리비전으로 복구하기   리비전 개수 제한 wp-config.php에 다음 코드를 추가한다. 3은 적절히 설정한다. define('WP_POST_REVISIONS', 3); 리비전 비활성화 wp-config.php에 다음 코드를 추가한다. define('WP_POST_REVISIONS', false); 리비전 삭제 리비전을 삭제하는 것은 플러그인을 이용하는 것이 편하다. revision으로 검색하면 많은 플러그인을 찾을 수 있다.

리눅스 / 명령어 / man / 명령어의 설명서 출력하는 명령어

리눅스 / 명령어 / man / 명령어의 설명서 출력하는 명령어

man은 manual의 약어로, 명령어의 설명서를 출력하는 명령어이다. man 뒤에 명령어 이름을 넣고 엔터를 누릅니다. 예를 들어 # man rm 은 rm 명령어의 설명서를 출력한다. ↑ 키를 누르면 한 줄 위로 올라가고, ↓ 키를 누르면 한 줄 아래로 내려간다. Page Up 키를 누르면 한 페이지 위로 올라가고, Page Down 키를 누르면 한 페이지 아래로 내려간다. /를 ...

버추얼박스 / 가상 머신 만드는 방법, 삭제하는 방법

버추얼박스 / 가상 머신 만드는 방법, 삭제하는 방법

가상 머신 만들기 가상 머신에 사용할 OS의 ISO 이미지를 준비합니다. 버추얼박스에서 를 클릭합니다. 이름을 적절히 정하고 OS의 종류와 버전을 선택합니다. 을 클릭합니다. 가상 머신에 할당할 메모리 크기를 정하고 을 클릭합니다. 를 클릭합니다. 을 클릭합니다. 동적 할당은 가상 하드 디스크를 사용하는 만큼 호스트 PC의 하드 디스크를 사용합니다. 고정 크기는 그 크기 만큼 미리 공간을 확보해 놓습니다. 적절히 설정하고 을 ...

리눅스 / 그룹 / 그룹 조회, 그룹 추가, 그룹 삭제, 그룹 수정

리눅스 / 그룹 / 그룹 조회, 그룹 추가, 그룹 삭제, 그룹 수정

그룹 조회 그룹 목록은 /et/group 파일에 있습니다. cat 명령어로 전체를 조회하거나... cat /etc/group tail 명령어로 마지막 부분을 조회할 수 있습니다. # tail -n 5 /etc/group avahi:x:70: slocate:x:21: rngd:x:974: tcpdump:x:72: vboxsf:x:973: X:Y:Z 형식으로 나오는데, X는 그룹 이름, Y는 그룹 비밀번호, Z는 그룹 ID입니다. 그룹 추가 groupadd 명령으로 그룹을 추가합니다. # groupadd group-1 # tail -n 5 /etc/group slocate:x:21: rngd:x:974: tcpdump:x:72: vboxsf:x:973: group-1:x:1000: 그룹 삭제 groupdel 명령으로 그룹을 삭제합니다. # ...

워드 프로세서 - 뜻, 주요 기능, 소프트웨어

워드 프로세서 - 뜻, 주요 기능, 소프트웨어

워드 프로세서의 정의와 역사 워드 프로세서(word processor)는 텍스트 문서를 작성, 편집, 형식화하고 출력할 수 있는 소프트웨어 응용 프로그램입니다. 워드 프로세서는 글쓰기와 문서 작성 작업을 단순화하고 효율적으로 만들기 위해 다양한 기능을 제공합니다. 워드 프로세서의 개념은 1960년대에 전자 타자기의 발전과 함께 등장했습니다. 초기 워드 프로세서 프로그램 중 하나인 IBM의 "타입라이터"는 1970년대에 출시되었고, 이후 ...

M.2 SSD 과열 시 증상과 온도 측정 방법

M.2 SSD 과열 시 증상과 온도 측정 방법

M.2 SSD 과열 시 나타나는 속도 저하, 게임 로딩 지연, 시스템 멈춤 증상과 CrystalDiskInfo, 삼성 매지션를 활용한 SSD 온도 측정 방법을 알아봅니다.

기가바이트 메인보드 / 바이오스 업데이트 하는 방법

기가바이트 메인보드 / 바이오스 업데이트 하는 방법

기가바이트 메인보드 지원 페이지에서 갖고 있는 메인보드를 검색하여 다운로드 페이지로 이동한다. 원하는 버전의 BIOS를 다운로드한다. 다운로드한 파일의 압축을 풀면, 설치 파일과 함께 매뉴얼이 있는데... 따라하기 쉬워 보이지 않는다. 위 매뉴얼대로 하기 힘들다면 APP Center를 설치하고... APP Center에서 @BIOS를 설치하고, 실행한다. 서버에 있는 것은 최신이 아닐 수 있으므로, 을 클릭하고... 다운로드한 파일을 선택하고 진행한다. 잠시 기다리면 재부팅을 ...

워드프레스 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

워드프레스 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

웹사이트 속도는 중요하다. 홈페이지에 접속했을 때 속도가 느리다면 방문자가 금방 떠나고, 검색 엔진에서도 불이익을 받는다. 따라서 속도 개선은 사이트 관리자의 중요 업무 중의 하나이다. 워드프레스는 기본적으로 페이지를 동적으로 만든다. 요청이 있으면 데이터베이스에서 자료를 가져와서 테마의 파일들을 이용해 출력을 하기에, 방문자가 접속할 때마다 페이지를 생성한다. 그래서 정적인 페이지보다 속도가 느리다. 이를 해결해주는 것이 ...