728x90
반응형
1️⃣ TCP (Transmission Control Protocol)
특징
- 연결 지향적
- 3-WAY 핸드쉐이킹: TCP는 데이터 전송 전에 클라이언트와 서버 간의 연결을 설정한다. 이 과정은 SYN, SYN-ACK, ACK의 세 단계로 이루어진다.
- 신뢰성 보장
- 재전송: 패킷 손실이 발생하면 송신자는 손실된 패킷을 재전송한다.
- 순서 보장: 각 패킷에 시퀀스 번호를 부여하여 데이터가 순서대로 도착하도록 한다.
- 에러 검출: 체크섬을 사용하여 데이터의 무결성을 검증한다.
- 흐름 제어
- 윈도우 크기 조절: 송신자와 수신자 간의 데이터 전송 속도를 조절하여 버퍼 오버플로우를 방지한다.
- 혼잡 제어
- 혼잡 회피 알고리즘: 네트워크의 혼잡 상태를 감지하고, 전송 속도를 조절하여 혼잡을 완화한다 (예: TCP Tahoe, TCP Reno).
- 데이터 스트림
- 연속적인 바이트 스트림: TCP는 데이터를 연속적인 바이트 스트림으로 처리하고 전송한다.
사용 사례
- 웹 브라우징: HTTP/HTTPS는 신뢰성과 순서를 보장하는 TCP를 사용하여 웹 페이지를 전송한다.
- 이메일 전송: SMTP, IMAP, POP3는 이메일 전송 및 수신을 위해 TCP를 사용한다.
- 파일 전송: FTP는 큰 파일을 신뢰성 있게 전송하기 위해 TCP를 사용한다.
- 원격 접속: SSH와 Telnet은 원격 시스템에 안전하게 접속하기 위해 TCP를 사용한다.
2️⃣ UDP (User Datagram Protocol)
특징
- 비연결 지향적
- 데이터그램 전송: UDP는 데이터 전송 전에 연결을 설정하지 않고, 독립적인 데이터그램을 전송한다.
- 신뢰성 미보장
- 패킷 손실: 데이터그램이 손실되거나 순서가 뒤바뀌어도 UDP는 이를 보장하지 않는다.
- 재전송 없음: 손실된 패킷에 대해 재전송을 하지 않는다.
- 낮은 오버헤드
- 간단한 헤더: UDP 헤더는 8바이트로, TCP 헤더보다 간단하고 크기가 작다.
- 흐름 제어 및 혼잡 제어 없음
- 데이터 전송 속도: UDP는 흐름 제어와 혼잡 제어가 없어 데이터 전송 속도가 빠르다.
- 데이터그램
- 독립적인 패킷: 각 데이터그램은 독립적으로 처리되며, 순서가 보장되지 않는다.
사용 사례
- 실시간 스트리밍: 비디오 및 오디오 스트리밍은 약간의 패킷 손실을 허용하므로 UDP를 사용한다.
- 온라인 게임: 낮은 지연 시간과 빠른 데이터 전송이 중요한 온라인 게임은 UDP를 사용한다.
- VoIP (Voice over IP): 음성 통신은 실시간 전송이 중요하여 UDP를 사용한다.
- DHCP (Dynamic Host Configuration Protocol): IP 주소 할당에 UDP를 사용한다.
- DNS (Domain Name System): 도메인 이름을 IP 주소로 변환하는 데 UDP를 사용한다.
구분 | TCP | UDP |
연결 방식 | 연결형 | 비연결형 |
PDU | 세그먼트 | 데이터그램 |
패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
전송 순서 | 보장함 | 바뀔 수 있음 |
수신 여부 확인 | 확인함 | 확인하지 않음 |
통신 방식 | 1:1 | 1:1 or 1:N or N:N |
신뢰성 | 높다 | 낮다 |
속도 | 느리다 | 빠르다 |
헤더의 크기 | 20byte | 8byte |
용도 | 신뢰성이 필요한 데이터를 전송 | 실시간 데이터 전송, 브로드캐스트, 멀티캐스트, 소량의 데이터 빈번히 전송 |
728x90
반응형
'⛓️ 네트워크 보안 > 기본 개념' 카테고리의 다른 글
네트워크 전송모드 (유니캐스트, 브로드캐스트, 멀티캐스트의 이해) (0) | 2025.01.23 |
---|---|
네트워크 통신의 기본 시나리오와 논리적 주소, 물리적 주소 (0) | 2025.01.23 |
HDLC 프로토콜과 프레임 유형 이해하기 (0) | 2024.06.04 |
네트워크 라우팅 개념과 라우팅 프로토콜의 이해 (0) | 2024.06.03 |
OSI 7계층 이해하기 (2) | 2024.06.03 |