TCP/IP 및 데이터 흐름 소개
Source: Dev.to
번역할 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.
1. 데이터 흐름
데이터 흐름은 컴퓨터 네트워크에서 장치 간에 데이터 패킷이 구조적으로 이동하고 관리되며 변환되는 과정을 의미하며, 효율적이고 오류 없는 전송을 보장합니다.
데이터 흐름은 일반적으로 소스에서 데이터를 준비하고, 네트워크 인프라(라우터 / 스위치)를 통해 이동시킨 뒤, 목적지에서 재구성하는 과정을 포함합니다.
전송 방향
데이터 흐름은 방향에 따라 다음과 같이 구분될 수 있습니다:
| Mode | Description | Example |
|---|---|---|
| Simplex | 단방향만 | Computer → printer |
| Half‑Duplex | 양방향이지만 동시에는 불가 | Walkie‑talkie |
| Full‑Duplex | 동시 양방향 통신 | Telephone call |
캡슐화와 디캡슐화
캡슐화
데이터가 송신자에서 네트워크 스택을 아래로 이동하면서 프로토콜 정보(헤더와 트레일러)를 추가하는 과정입니다.
디캡슐화
수신자에서 수행되는 역과정으로, 각 계층이 해당 헤더/트레일러를 제거하여 원본 데이터를 드러냅니다.
Source: …
2. 네트워크 계층 개요
Layer 1 — 물리 계층

물리 계층은 물리 매체를 통해 원시 이진 데이터(0과 1)를 전송하는 역할을 담당합니다.
전송 유형
- 무선 전송 – Wi‑Fi, Bluetooth(단거리)
- 마이크로파 전송 – 셀룰러 네트워크(4G, 5G)
- 광섬유 전송 – 고속 장거리 통신

광섬유 스플라이싱 기계는 전기 아크를 이용해 두 개의 광섬유 케이블을 영구적으로 연결하여 신호 손실을 최소화합니다.
Layer 2 — 데이터 링크 계층
데이터 링크 계층(OSI 모델의 Layer 2)은 로컬 네트워크 통신을 담당하며 MAC 주소를 사용해 장치를 식별합니다. 물리 계층에서 받은 원시 비트를 프레임으로 조직하고 노드 간 신뢰성 있는 전송을 보장합니다.
주요 측면
| 측면 | 설명 |
|---|---|
| 하위 계층 | LLC – 네트워크 프로토콜 및 흐름 제어 담당; MAC – 하드웨어 주소 지정 및 매체 접근 관리 |
| 프레이밍 | 네트워크 계층 패킷을 헤더(출발지/목적지 MAC)와 트레일러(오류 검사)를 포함한 프레임으로 캡슐화 |
| 물리 주소 지정 | LAN에서 장치를 식별하기 위해 48비트 16진수 MAC 주소 사용 |
| 오류 제어 | 오류 감지/수정(예: 프레임 체크 시퀀스/CRC) |
| 흐름 제어 | 빠른 송신자가 느린 수신자를 압도하지 않도록 데이터 전송 속도 조절 |
| 접근 제어 | 특정 시점에 어느 장치가 물리 매체를 사용할 수 있는지 결정 |
빠른 참고
| 항목 | 상세 |
|---|---|
| 장치 | 스위치 |
| 주소 유형 | MAC 주소(48비트 16진수) |
| 프레임 형식 | 이더넷 헤더 |
| 범위 | 로컬 네트워크(LAN) |
중요한 참고 사항
- MAC 주소는 전송을 위해 설계된 것이며 보안을 위한 것이 아닙니다.
- MAC 주소는 스푸핑될 수 있습니다.
MAC 주소 스푸핑
- 다른 MAC을 주장할 수 있나요? 예 – 이를 MAC 스푸핑이라고 합니다.
- 스위치가 이를 허용하는 이유: 스위치는 Layer 2에서 동작하며 MAC 출처를 인증하지 않기 때문입니다.
Layer 2 보안 메커니즘
| 메커니즘 | 기능 |
|---|---|
| 포트 보안 | 포트당 MAC 주소 수 제한; MAC을 특정 포트에 바인딩; 위반 시 포트 비활성화 가능 |
| 802.1X 인증 | RADIUS 서버를 통한 장치 인증 요구; MAC 기반 보안보다 강력 |
| DHCP 스누핑 | 정상적인 DHCP 할당을 추적; 악성 DHCP 서버 차단 |
| 동적 ARP 검사(DAI) | ARP 패킷을 검증; ARP 스푸핑 방지 |
| 네트워크 접근 제어(NAC) | 장치 준수 여부 확인; 보안 정책 적용 |
Layer 2 보안… (이하 내용은 다음 파트에 이어집니다)
Source: …
Layer 3 — 네트워크 계층
네트워크 계층(Layer 3)은 IP 주소 지정 및 라우팅을 사용하여 네트워크 간 통신을 가능하게 합니다. 논리 주소 지정, 패킷 라우팅 및 포워딩을 관리하여 데이터가 서로 연결된 다양한 네트워크를 통해 전달되도록 합니다.
핵심 측면
| 측면 | 설명 |
|---|---|
| 라우팅 | 출발지에서 목적지까지 가장 효율적인 경로를 결정 |
| 논리 주소 지정 | MAC 주소와 구별되는 IP 주소를 사용해 네트워크 전반에 걸쳐 장치를 고유하게 식별 |
| 패킷화 | 전송 계층 세그먼트를 송신 측에서 패킷으로 캡슐화하고 수신 측에서 재조립 |
| 포워딩 | 라우터의 입력 인터페이스에서 적절한 출력 인터페이스로 패킷을 이동 |
| 프로토콜 | IP, ICMP, IGMP 등 |
장치
- 라우터 – 네트워크 간(와이드 에어리어 네트워크, WAN) 패킷을 전달
주소 유형
- IP 주소 (IPv4 또는 IPv6)
IP 주소 스푸핑 (Layer 3)
MAC 스푸핑과 유사하게 IP 주소도 위조될 수 있습니다.
| 시나리오 | 효과 |
|---|---|
| A – 동일 네트워크 충돌 | 두 장치가 같은 IP를 사용 → IP 충돌 → 네트워크 불안정 |
| B – 가짜 출발지 IP | 장치가 다른 IP인 척 패킷을 전송 → 사칭, 서비스 거부(DoS) 또는 중간자 공격 가능 |
IP Spoofing Countermeasures
- Layer 3 Security Mechanisms
- Ingress / Egress Filtering – 잘못된 출발지 IP 범위의 패킷을 차단합니다.
- Unicast Reverse Path Forwarding (uRPF) – 패킷이 올바른 인터페이스를 통해 들어왔는지 확인하고, 스푸핑된 패킷을 차단합니다.
- IPSec – 인증 및 암호화를 추가하고, 송신자 신원을 암호적으로 검증합니다.
- TTL Monitoring – 비정상적인 홉 거리 값을 감지합니다.
- Firewall Rules –
- 공용 측에서 사설 IP 주소를 차단합니다.
- 외부 인터페이스에서 내부 IP 주소를 차단합니다.
레이어 4 – 전송 계층
전송 계층은 애플리케이션 간 통신을 제공합니다. 엔드‑투‑엔드 데이터 전송을 가능하게 하며, 신뢰성, 순서 보장 및 오류 없는 전달을 보장합니다. 세그멘테이션, 흐름 제어, 오류 수정 등을 처리하며, TCP와 UDP와 같은 프로토콜을 통해 세션 계층에서 네트워크 계층으로 데이터를 전달합니다.
주요 책임 및 기능
- 세그멘테이션 및 재조립 – 세션 계층에서 온 큰 데이터 단위를 작은 세그먼트로 나누고, 목적지에서 다시 조립합니다.
- 서비스‑포인트 주소 지정(포트) – 포트 번호를 사용해 트래픽을 특정 애플리케이션(예: HTTP, FTP)으로 라우팅합니다.
- 연결 제어 – 신뢰성 있는 전달을 위한 연결‑지향 서비스(TCP)와 빠른 최선‑노력 전달을 위한 비연결 서비스(UDP)를 제공합니다.
- 흐름 제어 – 빠른 송신자가 느린 수신자를 압도하지 않도록 전송 속도를 조절합니다.
- 오류 제어 – 오류를 감지하고 재전송을 트리거하여 데이터 무결성을 유지합니다.
- 다중화 및 역다중화 – 여러 애플리케이션이 하나의 네트워크 연결을 동시에 공유할 수 있게 합니다.
프로토콜
| 프로토콜 | 유형 | 일반적인 사용 사례 |
|---|---|---|
| TCP | 연결 지향, 신뢰성 있음 | 웹 브라우징, 이메일, 파일 전송 |
| UDP | 비연결, 최선 노력 | 스트리밍, 게임, VoIP |
핵심 개념: 포트 번호는 트래픽을 처리하는 애플리케이션 또는 서비스를 식별합니다.
레이어 5 – 세션 계층
세션 계층은 서로 다른 장치의 애플리케이션 간 연결(세션)을 관리, 유지 및 종료합니다. 대화를 설정하고, 복구를 위한 체크포인트를 생성하며, 단방향, 반이중, 전이중 모드에서 데이터 교환을 지원합니다.
주요 측면
- 세션 관리 – 연결을 설정하고, 유지하며, 종료합니다.
- 대화 제어 – 통신 흐름을 제어하여 전이중 또는 반이중 교환을 가능하게 합니다.
- 동기화 및 복구 – 체크포인트를 삽입합니다; 장애 발생 시 마지막 체크포인트 이후의 데이터만 재전송하면 됩니다.
- 프로토콜 – NetBIOS, RPC (원격 프로시저 호출), PPTP.
레이어 6 – 프레젠테이션 계층
프레젠테이션 계층은 네트워크의 “번역가” 역할을 하여, 한 시스템의 애플리케이션 계층에서 전송된 데이터가 다른 시스템에서도 이해될 수 있도록 합니다.
주요 역할
- 데이터 변환 – 상호 운용 가능한 통신을 위해 형식 간 변환을 수행합니다 (예: EBCDIC ↔ ASCII).
- 암호화 및 복호화 – SSL/TLS와 같은 프로토콜을 사용해 데이터를 보호합니다.
- 데이터 압축 – 데이터 크기를 줄여 전송 속도를 향상시킵니다 (예: JPEG, MPEG, GIF).
일반적인 프로토콜 및 표준
| 카테고리 | 예시 |
|---|---|
| 텍스트/데이터 | ASCII, EBCDIC, XML, JSON |
| 보안 | SSL, TLS |
| 이미지 | JPEG, PNG, GIF, TIFF |
| 비디오/오디오 | MPEG, AVI, MIDI |
레이어 7 – 응용 계층
응용 계층은 OSI 모델의 최상위 계층으로, 최종 사용자 소프트웨어(웹 브라우저, 이메일 클라이언트 등)와 직접 인터페이스하여 네트워크 통신을 시작합니다. 사용자의 의도를 해석하고 응용 수준 프로토콜을 관리하여 데이터 교환, 인증, 자원 공유를 가능하게 합니다.
주요 측면
- 기능 – 응용 프로그램에 직접 서비스를 제공하여 소프트웨어가 자체가 응용 프로그램이 아니면서도 데이터를 송수신할 수 있게 합니다.
- 프로토콜 – HTTP/HTTPS(웹), SMTP/IMAP(이메일), FTP(파일 전송), DNS(이름 해석).
- 상호 작용 – 사용자 요청을 네트워크 호환 형식으로 변환하고 그 반대도 수행합니다.
- 보안 및 로드 밸런싱 –
- 웹 응용 방화벽(WAF)은 응용 수준 공격(예: HTTP 플러드)으로부터 보호합니다.
- 콘텐츠 기반 로드 밸런싱은 요청 특성에 따라 트래픽을 분산시킵니다.
예시: 사용자가 링크를 클릭하면 웹 브라우저가 HTTP/HTTPS(레이어 7)를 사용하여 페이지를 요청합니다.