트랜스포트 계층

2024. 10. 3. 14:53·전공 공부/컴퓨터네트워크
728x90

트랜스포트 계층이란 무엇일까?

트랜스포트 계층은 네트워크에서 데이터를 전송할 때 중요한 역할을 담당하는 계층 중 하나로, 애플리케이션 프로세스 간의 논리적인 통신을 제공합니다. 쉽게 말해, 서로 다른 컴퓨터에서 실행되는 프로그램들이 서로 데이터를 주고받을 수 있도록 돕는 계층입니다.

이때 트랜스포트 계층은 네트워크 계층과 함께 작동하는데, 네트워크 계층이 호스트 간의 통신을 담당하는 반면, 트랜스포트 계층은 호스트 내부 프로세스 간 통신을 담당합니다. 따라서 트랜스포트 계층은 호스트 간 논리적인 통신 외에도, 각 호스트 내에서 애플리케이션 프로세스가 데이터를 주고받을 수 있도록 보장합니다.


트랜스포트 프로토콜: TCP와 UDP

트랜스포트 계층에서 사용되는 두 가지 주요 프로토콜은 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)입니다. 각각의 특징을 간단히 설명하자면:

TCP (Transmission Control Protocol)

  • 신뢰성 보장: TCP는 데이터를 정확히 전달하고, 데이터가 손실되지 않았는지 확인합니다. 중간에 데이터가 누락되면 재전송을 요청하여 데이터를 순서대로 전송합니다.
  • 혼잡 제어: 네트워크가 너무 바쁘면 TCP는 전송 속도를 조절하여 혼잡을 방지합니다.
  • 연결 기반: 데이터를 보내기 전에 먼저 연결을 설정한 후 데이터를 주고받습니다.

예시: 이메일 전송, 파일 다운로드 등에서 TCP가 사용됩니다.

UDP (User Datagram Protocol)

  • 비신뢰성: UDP는 데이터를 보낼 때, 데이터가 제대로 도착했는지 확인하지 않으며, 데이터가 순서대로 도착하는지 신경 쓰지 않습니다.
  • 연결 없음: 데이터를 보내기 전에 별도의 연결을 설정하지 않고 바로 전송합니다.

예시: 실시간 스트리밍, 온라인 게임 등에서 UDP가 유리합니다.


트랜스포트 계층의 동작 방식

트랜스포트 계층이 데이터를 어떻게 처리하는지 살펴보면, 먼저 송신자와 수신자 간의 역할이 있습니다:

  • 송신자는 애플리케이션 계층에서 받은 메시지를 트랜스포트 계층에서 처리하여 세그먼트로 나눈 후, 이를 네트워크 계층으로 전달합니다.

  • 수신자는 네트워크 계층에서 받은 세그먼트를 다시 메시지로 재조립하여 애플리케이션 계층에 전달합니다. 이 과정에서 소켓을 통해 메시지가 전달됩니다.


트랜스포트 계층의 역할 요약

  • 통신 지원: 호스트 간뿐만 아니라, 각 호스트 내 프로세스 간의 통신을 지원합니다.
  • 데이터 신뢰성 보장: TCP를 통해 데이터의 신뢰성, 순서 등을 보장합니다.
  • 빠른 데이터 전송: UDP를 통해 신속하게 데이터를 전송하지만, 신뢰성은 다소 희생합니다.
728x90

'전공 공부 > 컴퓨터네트워크' 카테고리의 다른 글

비연결형 트랜스포트 : UDP  (1) 2024.10.03
다중화와 역다중화  (0) 2024.10.03
전자 메일 시스템 완전 정복: SMTP, POP3, IMAP 이해하기  (1) 2024.09.24
P2P 파일 분배와 비디오 스트리밍: 효율적인 데이터 전달의 비밀📁  (4) 2024.09.24
DNS: 인터넷의 주소록  (0) 2024.09.24
'전공 공부/컴퓨터네트워크' 카테고리의 다른 글
  • 비연결형 트랜스포트 : UDP
  • 다중화와 역다중화
  • 전자 메일 시스템 완전 정복: SMTP, POP3, IMAP 이해하기
  • P2P 파일 분배와 비디오 스트리밍: 효율적인 데이터 전달의 비밀📁
튼튼발자
튼튼발자
프론트엔드 개발자입니다. 헬스를 가끔해서인지 몸이 튼튼한거 같습니다. 그래서 튼튼한 개발자 => 튼튼발자입니다. 프론트엔드 및 관련 개발 내용 블로그 글로 정리해서 올려둡니다.
    250x250
  • 튼튼발자
    튼튼발자
    튼튼발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • 튼튼발자의 끄적끄적 (10)
      • 웹개발 (94)
        • HTML (5)
        • CSS (2)
        • JavaScript (40)
        • TypeScript (5)
        • REACT (22)
        • Next.js (13)
        • GIt (7)
      • 기타 (3)
        • 일상 (3)
      • 프로젝트 (27)
        • Componique: UI 컴포넌트 라이브러리 (18)
        • GitHub Profile Viewer (8)
        • 잇핏 (1)
      • 프론트엔드 개발자로 취업준비 (1)
        • 기술 면접 (7)
        • 코딩 테스트 준비하기 (0)
        • 자기소개서&지원서&이력서 (0)
      • 컴퓨터과학 (12)
        • 운영체제 (6)
        • 알고리즘 (6)
      • 전공 공부 (37)
        • AI(인공지능) (2)
        • 컴퓨터네트워크 (19)
        • 네트워크프로그래밍 (3)
        • SW소프트웨어응용설계 (7)
        • 클라우드컴퓨팅 (3)
        • 웹서비스프로그래밍 (3)
      • PT (0)
      • 취준일기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    componique
    프론트엔드개발
    ui컴포넌트
    JavaScript
    프로그래밍
    웹개발
    JS
    네트워크
    프론트엔드
    트랜스포트계층
    tailwind
    코딩
    자바스크립트
    github
    상태관리
    리액트
    react
    TCP
    NextJs
    데이터전송
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
튼튼발자
트랜스포트 계층
상단으로

티스토리툴바