1. TCP와 UDP의 주요 개념

1-1 트랜스포트 계층

  • TCP와 UDP는 OSI 7계층 모델 중 트랜스포트 계층에 속하는 프로토콜입니다.
    • 트랜스포트 계층: 데이터를 송신자와 수신자 간 정확하게 전달하는 역할.

2. TCP와 UDP 비유

2-1 TCP 비유

  • 안전한 트럭 / 전화 연결:
    • 데이터를 안전하게 목적지까지 전달하며, 데이터의 순서와 무결성을 보장합니다.
    • 예시: 택배 시스템, 전화 통화.

2-2 UDP 비유

  • 위험한 총알 배송 / 이메일:
    • 데이터를 빠르게 전송하지만 순서와 무결성을 보장하지 않습니다.
    • 예시: 빠른 배송 서비스, 스트리밍 데이터 전송.

3. 연결 지향성과 비연결형 비교

3-1 TCP (연결 지향형 서비스)

  1. 데이터를 전송하기 전에 논리적 연결을 설정합니다.
  2. 전송된 데이터는 순서가 보장되며, 손실된 데이터는 재전송됩니다.

3-2 UDP (비연결형 서비스)

  1. 연결 설정 없이 데이터를 즉시 전송합니다.
  2. 데이터의 순서 보장이나 재전송 기능이 없습니다.
  3. 각 데이터 패킷은 독립적이며 경계(Boundary)가 유지됩니다.

4. 속도와 신뢰성 비교

4-1 TCP

  • 신뢰성: Good
    • 데이터 유실 시 자동으로 재전송하며 신뢰성을 보장합니다.
  • 속도: Bad
    • 연결 설정, 흐름 제어 등 추가 작업으로 인해 상대적으로 느립니다.

4-2 UDP

  • 신뢰성: Bad
    • 데이터 유실에 대한 책임이 없으며, 데이터 순서도 보장하지 않습니다.
  • 속도: Good
    • 추가 작업이 없어 매우 빠르게 데이터를 전송합니다.

5. 데이터 경계 (Boundary)

5-1 TCP (Boundary 없음)

  • TCP는 데이터를 연속된 스트림으로 처리합니다.
  • 데이터의 경계가 없기 때문에 데이터가 쪼개지거나 합쳐질 수 있음:
    • 예: "HELLO WORLD" → "HELLOWOR" + "LD".

5-2 UDP (Boundary 있음)

  • UDP는 데이터 패킷 단위로 전송합니다.
  • 각 패킷이 독립적이므로 경계가 유지됩니다:
    • 예: "HELLO"와 "WORLD"가 개별적으로 전송.

6. TCP와 UDP 차이점 요약

특징TCPUDP
연결 방식연결 지향 (3-way handshake)비연결형 (Connectionless)
데이터 경계없음있음
신뢰성높음 (재전송 및 순서 보장)낮음 (손실 및 순서 보장 없음)
속도느림빠름
오류 처리오류 검출 및 복구오류 처리 없음
응용 사례파일 전송, 웹 브라우징, 이메일 등스트리밍, 온라인 게임, VoIP 등

7. TCP vs UDP 데이터 흐름

7-1 TCP 흐름 제어

  • 송수신 버퍼를 사용해 데이터를 조절합니다.
  • 수신 버퍼가 가득 차면 송신자는 전송을 중단하고 대기합니다.

7-2 UDP 데이터 흐름

  • 송수신 버퍼 상태와 상관없이 데이터를 무작정 전송합니다.
  • 수신 버퍼가 가득 차면 데이터가 유실될 수 있습니다.

8. 사용 사례 비교

8-1 TCP 사용 사례

  1. HTTP/HTTPS: 웹 브라우징.
  2. FTP: 파일 전송.
  3. 이메일 서비스: 데이터의 정확성과 순서가 중요합니다.

8-2 UDP 사용 사례

  1. 스트리밍 서비스: 데이터의 일부 손실이 허용되지만 빠른 전송이 필요.
  2. 온라인 게임: 빠른 응답 속도가 중요.
  3. VoIP: 음성 데이터의 실시간 전송.

profile
李家네_공부방

0개의 댓글