lhywk 님의 블로그

[Network] 전송 계층 본문

Network

[Network] 전송 계층

lhywk 2026. 2. 27. 18:03

데이터 전송 과정

클라이언트(호스트)에서 웹 브라우저, 메일 앱, 파일 전송 앱 등을 통해 특정 서버에 데이터를 요청하면, 이 요청은 포트 번호를 통해 해당 서비스로 전달된다. 데이터는 전송 계층(TCP/UDP)  인터넷 계층(IP)  네트워크 인터페이스 계층(물리 네트워크) 순으로 라우터를 거쳐 목적지 서버로 라우팅된다. 서버는 요청을 처리한 후, 동일한 계층 구조를 거쳐 클라이언트로 응답 데이터를 반환한다.

 

 

네트워크 계층 구조

각 호스트(클라이언트, 서버)는 3계층 구조를 통해 데이터를 송수신한다.

  • 전송 계층: TCP/UDP 프로토콜을 사용하여 포트 번호를 기반으로 데이터를 적절한 응용 프로그램으로 분배한다.
  • 인터넷 계층: IP 주소를 기반으로 패킷을 전달한다.
  • 네트워크 인터페이스 계층: 실제 네트워크(유선, 무선)를 통해 데이터를 물리적으로 전송한다.

 

데이터 캡슐화 및 디캡슐화

  • 송신 호스트: 데이터를 전송할 때 각 계층에서 해당 계층의 헤더(Header)를 추가(캡슐화)하여 하위 계층으로 전달한다.
  • 수신 호스트: 데이터를 받을 때 각 계층에서 헤더를 제거(디캡슐화)하여 원래 메시지를 복원한다.

  • 응용 계층(Application Layer): 사용자 데이터(메시지)가 생성된다.
  • 전송 계층(Transport Layer - TCP 프로토콜):
    • TCP 프로토콜이 메시지를 세그먼트(segment)로 변환한다.
    • TCP 헤더를 추가한다 (포트 번호, 순서 번호, 오류 검사 정보 포함).
  • 인터넷 계층(Internet Layer - IP 프로토콜):
    • IP 프로토콜이 세그먼트를 IP 패킷(IP 데이터그램) 으로 변환한다.
    • IP 헤더추가합니다 (송신지/수신지 IP 주소 포함).
  • 네트워크 전송 및 수신 측 처리:
    • 데이터가 네트워크를 통해 전송되면, 수신 측에서는 위와 반대로 디캡슐화된다.
    • IP 헤더 제거  TCP 헤더 제거  원래 메시지 복원 과정을 거친다.

 

4계층: 전송 계층 (Transport Layer)

  • 전송 계층의 대표적인 프로토콜은 TCP(Transmission Control Protocol)이다.
  • TCP는 포트(Port)라는 주소를 사용하며, 0부터 2^16 - 1(65535)번까지 존재한다.

  • 패킷(Packet): 네트워크에서 데이터를 전송하는 단위이다.
  • 포트(Port): 컴퓨터에서 실행 중인 특정 프로세스(응용 프로그램)와 네트워크를 연결하는 논리적인 번호이다.
  • 출발지 포트: 데이터를 보내는 클라이언트가 사용하는 포트로, 보통 1024번부터 65535번 사이의 임의의 포트가 할당된다.
    • 클라이언트가 여러 개의 연결을 만들 수 있도록 1024~65535 사이의 포트를 동적으로 할당한다.
    • 같은 클라이언트에서 여러 웹 사이트에 접속할 경우, 각 연결마다 다른 출발지 포트가 사용된다.
  • 목적지 포트: 데이터를 받을 서버가 사용하는 포트이다. 웹 서버는 기본적으로 80번 포트를 사용한다.

 

패킷 구조

패킷은 여러 계층의 정보를 포함하며, 다음과 같은 단계로 구성된다.

계층 포함 정보
세션 계층 패킷의 세션 정보
전송 계층 출발지 포트(임의 포트), 목적지 포트(80)
네트워크 계층 출발지 IP, 목적지 IP
데이터 링크 계층 출발지 MAC, 목적지 MAC

 

클라이언트는 임의의 포트(예: 3405)를 사용해 서버의 80번 포트로 요청을 보낸다.

  • 클라이언트가 여러 개의 연결을 만들 수 있도록 1024~65535 사이의 포트를 동적으로 할당한다.
  • 같은 클라이언트에서 여러 웹 사이트에 접속할 경우, 각 연결마다 다른 출발지 포트가 사용된다.
  • 목적지 포트는 웹 서버의 기본 포트(80)로 유지된다.

 

TCP

  • 연결 지향형 프로토콜
  • IP와 함께 통신에 반드시 필요한 가장 기본적인 프로토콜이다.

TCP의 특징

  • 높은 신뢰성: 데이터 손실 없이 정확하게 데이터를 전송한다.
  • 가상 회선 연결 방식: 실제 물리적 연결이 아닌 논리적인 연결을 설정한다.
  • 연결의 설정과 해제: 통신 시작 전에 연결을 설정하고, 통신 완료 후에 연결을 해제한다.
  • 데이터 체크섬: 데이터 오류를 감지한다.
  • 시간 초과와 재전송: 일정 시간 내에 응답이 없으면 데이터를 재전송한다.
  • 데이터 흐름 제어: 송신자와 수신자의 속도 차이로 인한 데이터 손실을 방지한다.

 

TCP Three-Way Handshaking

 

 

UDP

  • 비연결 지향형 프로토콜.
  • 상대방이 보낸 응답을 확인하지 않아 네트워크에 부하를 주지 않음.
  • 데이터 자체의 신뢰성이 없어 수신한 데이터의 무결성을 보장받지 못함.

 

출처

  • 양대일, 홍성혁, IT@CookBook,네트워크 해킹과 보안(4판)