[네트워크] 3-3 트랜스포트 & 애플리케이션 계층

2026. 6. 17. 16:13·여러가지

 

1. 트랜스포트층 (Transport Layer)

양 끝단의 프로세스 간 통신을 담당하며, 데이터를 어떻게 전달할지(신뢰성 vs 속도) 결정하는 계층입니다. 데이터 단위는 세그먼트(Segment)입니다.

TCP (Transmission Control Protocol): 신뢰성 중시

  • 연결 방식: 3-Way Handshaking(연결 개설) 및 4-Way Handshaking(연결 종료)을 통해 안전한 통로를 확보합니다.
  • 신뢰성: 데이터 순서 보장, 에러 검출, 그리고 미도착 데이터의 재전송을 통해 데이터 유실을 방지합니다.
  • 흐름 제어: 수신자의 버퍼 여유 상황에 맞춰 데이터 전송량을 조절합니다(슬라이딩 윈도우).
  • 혼잡 제어: 네트워크 대역폭의 상황을 파악하여 전송량을 조절합니다(슬로우 스타트 등).

UDP (User Datagram Protocol): 속도 중시

  • 비연결형: 연결 설정 없이 즉시 데이터를 전송하며, 확인 응답이나 재전송 과정이 없습니다.
  • 경량성: 헤더 크기가 TCP의 1/2 정도로 작아 오버헤드가 적습니다.
  • 용도: 실시간 스트리밍, 온라인 게임 등 약간의 데이터 유실보다 '지연 없는 실시간성'이 중요한 서비스에 사용됩니다.

2. 애플리케이션층 (Application Layer)

사용자가 직접 서비스를 이용하는 최상위 계층입니다. 데이터 단위는 메시지(Message)입니다.

  • 주요 프로토콜:
  • 웹 서비스: HTTP (80), HTTPS (443 - 보안 강화)
  • 원격 관리: SSH (22 - 보안), Telnet (23 - 취약)
  • 메일/네트워크: SMTP (25), DNS (53), DHCP (67/68)
  • 운영 및 보안 설정:
  • 로컬 보안: 암호 복잡성 및 계정 잠금 정책을 통해 비인가 접근 차단.
  • 서비스 제어: services.msc 등을 통해 불필요한 서비스 중지.
  • 웹 서버 바인딩: IIS 등에서 특정 포트와 도메인을 연결(Host Header 설정)하여 효율적인 서비스 운영.

3. 실무형 핵심 Q&A (왜?)

Q1. TCP는 왜 처음부터 최고 속도로 보내지 않고 '슬로우 스타트'를 할까요?

  • 답변: 송수신 장비의 스펙은 좋아도, 그 사이를 연결하는 '인터넷 회선과 라우터'의 상태는 알 수 없기 때문입니다. 처음부터 최대치로 보냈다가 중간 경로의 라우터 큐가 넘치면 패킷이 대량 유실되어 네트워크 마비가 발생합니다. 이를 방지하기 위해 안전한 탐색 과정을 거치는 것입니다.

Q2. HTTPS(443)는 왜 TCP 연결만으로 충분하지 않을까요?

  • 답변: TCP 연결은 단순히 '길'을 만드는 과정일 뿐입니다. HTTPS는 그 길 위에서 데이터를 안전하게 암호화하기 위해 'TLS 핸드셰이크'라는 추가적인 보안 통신 과정이 필요합니다. 그래서 TCP 연결 후 추가 지연 시간이 발생합니다.

Q3. 하나의 IP에서 여러 HTTPS 웹사이트를 띄우려면? (SNI)

  • 답변: HTTPS는 통신 시작부터 암호화가 적용되므로 서버가 헤더를 읽을 수 없습니다. 이를 위해 SNI(Server Name Indication) 기술을 사용합니다. 통신 초기에 클라이언트가 접속할 도메인명을 먼저 알려주면, 서버는 올바른 인증서를 매칭하여 한 포트에서 여러 사이트를 서빙할 수 있습니다.

핵심 용어 요약

  • 포트 바인딩: 특정 소프트웨어가 운영체제의 포트 번호를 독점하여 입구로 사용하는 것.
  • 핸드셰이크: 송수신 장비 간 연결 상태를 맺거나 끊기 위해 약속된 신호를 주고받는 과정.
  • 오버헤드: 실제 데이터 전송 외에, 통신을 유지/관리하기 위해 발생하는 추가적인 제어 비용(데이터).

 

저작자표시 (새창열림)

'여러가지' 카테고리의 다른 글

[네트워크] 3-5 데이터 수신, 전송 시 규칙  (0) 2026.06.17
[네트워크] 3-4 데이터 송수신 규칙  (0) 2026.06.17
[네트워크] 3-2 TCP/IP 네트워크 & 인터넷 계층  (0) 2026.06.17
[네트워크] 3-1 네트워크의 공통언어  (0) 2026.06.17
테스트의 종류  (0) 2021.12.16
'여러가지' 카테고리의 다른 글
  • [네트워크] 3-5 데이터 수신, 전송 시 규칙
  • [네트워크] 3-4 데이터 송수신 규칙
  • [네트워크] 3-2 TCP/IP 네트워크 & 인터넷 계층
  • [네트워크] 3-1 네트워크의 공통언어
hyeseong-dev
hyeseong-dev
안녕하세요. 백엔드 개발자 이혜성입니다.
  • hyeseong-dev
    어제 오늘 그리고 내일
    hyeseong-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (342) N
      • 여러가지 (11) N
        • 알고리즘 & 자료구조 (73)
        • 오류 (4)
        • 이것저것 (29)
        • 일기 (1)
      • 프레임워크 (39)
        • 자바 스프링 (39)
        • React Native (0)
      • 프로그래밍 언어 (39)
        • 파이썬 (31)
        • 자바 (3)
        • 스프링부트 (5)
      • 컴퓨터 구조와 운영체제 (3)
      • DB (17)
        • SQL (0)
        • Redis (17)
      • 클라우드 컴퓨팅 (21)
        • 도커 (2)
        • AWS (19)
      • 스케쥴 (65)
        • 세미나 (0)
        • 수료 (0)
        • 스터디 (24)
        • 시험 (41)
      • 트러블슈팅 (1)
      • 자격증 (2) N
        • 정보처리기사 (0)
        • 정보보안기사 (1)
        • 네트워크관리사 (1) N
      • 재태크 (0)
        • 암호화폐 (0)
        • 기타 (0)
      • 피지컬AI (26)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    AWS네트워크계층으로읽기
    Python
    FastAPI
    클라우드
    rclpy
    Spring Boot
    프로그래머스
    자바
    java
    그리디
    운동학
    완전탐색
    celery
    동차변환행렬
    WebFlux
    docker
    AWS
    역운동학
    피지컬ai
    네트워크
    항해99
    취업리부트
    ROS2
    SAA
    EC2
    로봇팔
    moveit
    Redis
    TF
    Spring WebFlux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeseong-dev
[네트워크] 3-3 트랜스포트 & 애플리케이션 계층
상단으로

티스토리툴바