Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- AWS 3 Tier Architecture
- AWS 사고 사례 분석
- IAM Federation
- TryHackMe
- AWS 인프라 분석
- AWS
- AWS 보안 사고 사례 모음
- 침입 차단 시스템(IPS)
- AWS Active Directory
- python
- reversing
- 드림핵
- AWS 인프라 아키텍처
- reversing.kr
- terraform
- AWS 침해사고 사례 분석
- 리버싱
- Amazon S3
- 프로그래머스
- programmers
- AWS 보안 아키텍처 분석
- AWS 아키텍처 분석
- AWS 침해 사고 사례 분석
- dreamhack
- C
- operating system
- 네트워크
- AWS IAM Role
- 운영체제
- network
Archives
- Today
- Total
lhywk 님의 블로그
[Network] 전송 계층 본문
데이터 전송 과정

클라이언트(호스트)에서 웹 브라우저, 메일 앱, 파일 전송 앱 등을 통해 특정 서버에 데이터를 요청하면, 이 요청은 포트 번호를 통해 해당 서비스로 전달된다. 데이터는 전송 계층(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판)
'Network' 카테고리의 다른 글
| [Network] 네트워크 보안 (0) | 2026.03.01 |
|---|---|
| [Network] 스니핑(Sniffing), 스푸핑(Spoofing) (1) | 2026.02.27 |
| [Network] 네트워크 계층 (0) | 2026.02.26 |
| [Network] 데이터링크 계층 (0) | 2026.02.26 |
| [Network] 물리 계층(네트워크 인터페이스 계층) (0) | 2026.02.26 |