우테코 - [10분 테코톡] 👨‍🏫르윈의 TCP UDP

Kkd·2024년 12월 2일

코딩 영상 후기

목록 보기
16/34

movie

1. Transport Layer (전송 계층)


🔎 전송 계층이란?
전송 계층(Transport Layer)은 End Point 간 신뢰성 있는 데이터 전송을 담당하는 계층입니다.

  • 신뢰성: 데이터를 순차적이고 안정적으로 전달.
  • 전송: 데이터를 포트 번호에 해당하는 프로세스로 정확히 전달.

전송 계층이 없으면 다음과 같은 문제들이 발생할 수 있습니다:

  1. 데이터의 순차적 전송 문제

    • 송신자가 의도한 순서대로 데이터를 전달할 수 없게 됩니다.
    • 데이터가 누락되거나 순서가 뒤바뀌게 됩니다.
  2. 흐름 문제(Flow)

    • 송신자와 수신자의 데이터 처리 속도 차이로 인해 발생.
    • 수신자가 처리할 수 있는 데이터량을 초과하면 데이터 손실이 발생할 수 있습니다.
  3. 혼잡 문제(Congestion)

    • 네트워크의 데이터 처리 속도 제한으로 인해 발생.
    • 네트워크가 혼잡해지면 통신 장애나 데이터 손실이 발생할 수 있습니다.

2. TCP와 UDP의 개념 및 특징

  • TCP (Transmission Control Protocol)

    • 연결 지향적 프로토콜(Connection-oriented): 송신자와 수신자 간 연결을 설정한 후 데이터 전송.
    • 데이터 신뢰성 보장: 데이터 전송 중 손실된 패킷을 재전송하고, 수신자가 데이터를 순서대로 받을 수 있도록 조정.
    • 흐름 제어 및 혼잡 제어: 네트워크 상태를 파악하여 데이터를 효율적으로 전송.
    • 특징: 안정성, 순서 보장, 오류 검출 및 수정.
    • 사용 사례: 웹 브라우징(HTTP/HTTPS), 이메일(SMTP), 파일 전송(FTP).
  • UDP (User Datagram Protocol)

    • 비연결적 프로토콜(Connectionless): 송신자와 수신자 간 연결 없이 데이터를 전송.
    • 데이터 신뢰성 비보장: 데이터 손실이나 순서 변경 가능.
    • 속도 우선: 빠른 데이터 전송이 필요한 상황에서 유용.
    • 특징: 간단한 구조, 오버헤드가 적어 속도가 빠름.
    • 사용 사례: 실시간 스트리밍, 온라인 게임, VoIP(음성 통화).

3. TCP와 UDP의 차이점

특징TCPUDP
연결 방식연결 지향(Connection-oriented)비연결(Connectionless)
신뢰성보장 (데이터 손실 시 재전송)보장하지 않음
속도느림 (연결 설정과 확인 과정)빠름 (추가 과정 없음)
데이터 전달 순서 보장순서 보장순서 보장하지 않음
사용 사례HTTP, FTP, 이메일스트리밍, 게임, VoIP

4. 실생활 비유

  • TCP:

    • 택배 서비스에 비유.
      송신자가 수신자에게 정확히 전달되었는지 확인하고, 손실된 물품은 다시 보내는 방식.
  • UDP:

    • 편지를 비둘기로 보내는 방식에 비유.
      빠르지만, 중간에 누락되거나 순서가 바뀌어도 확인할 수 없음.

5. TCP와 UDP의 동작 과정

  • TCP

    1. 3-way Handshake로 연결 설정: 송신자와 수신자가 서로 연결 상태를 확인.
    2. 데이터 전송 후, ACK(수신 확인) 메시지를 통해 손실 여부를 검증.
    3. 연결 종료는 4-way Handshake를 통해 이루어짐.
  • UDP

    1. 연결 설정 과정 없이 데이터를 송신자가 바로 전송.
    2. 데이터 손실 여부를 확인하거나 재전송하지 않음.

6. TCP와 UDP의 장단점

  • TCP 장점:

    • 안정적이고 신뢰성 있는 데이터 전송.
    • 데이터 순서와 무결성 보장.
  • TCP 단점:

    • 연결 설정 및 검증으로 속도가 느림.
    • 네트워크 오버헤드가 큼.
  • UDP 장점:

    • 빠르고 간단한 데이터 전송.
    • 네트워크 부하가 적음.
  • UDP 단점:

    • 데이터 손실과 순서 보장이 되지 않음.
    • 안정성을 요구하는 서비스에 부적합.

  • TCP는 높은 신뢰성을 요구하는 애플리케이션(예: 금융 서비스)에 적합.
  • UDP는 빠른 응답낮은 지연 시간이 중요한 서비스(예: 실시간 영상 통화)에 적합.

추가 학습 자료

profile
🌱

0개의 댓글