TCP/IP 및 데이터 흐름 소개
Source: Dev.to
1. Data Flow
컴퓨터 네트워크에서 데이터 흐름은 장치 간에 데이터 패킷이 구조적으로 이동, 관리 및 변환되는 과정을 의미하며, 효율적이고 오류 없는 전송을 보장합니다.
데이터 흐름은 일반적으로 소스에서 데이터를 준비하고, 네트워크 인프라(라우터 / 스위치)를 통해 이동시킨 뒤, 목적지에서 재구성하는 과정을 포함합니다.
Direction of Transfer
데이터 흐름은 전송 방향에 따라 다음과 같이 구분될 수 있습니다:
| 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 주소 사용 |
| 오류 제어 | 오류를 감지/수정(예: Frame Check Sequence / 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 보안 결론 – Layer 2는 효율적인 통신을 위해 설계되었으며 보안을 위해 설계되지 않았습니다. 실제 보안은 여러 계층(방어‑깊이)을 통해 구현됩니다.
Layer 3 — 네트워크 계층
네트워크 계층(Layer 3)은 IP 주소 지정 및 라우팅을 사용해 네트워크 간 통신을 가능하게 합니다. 논리 주소 지정, 패킷 라우팅 및 포워딩을 관리하여 데이터가 서로 연결된 다양한 네트워크를 통과하도록 합니다.
주요 측면
| 측면 | 설명 |
|---|---|
| 라우팅 | 출발지에서 목적지까지 가장 효율적인 경로 결정 |
| 논리 주소 지정 | MAC 주소와는 별개로 네트워크 전반에 걸쳐 장치를 고유하게 식별하기 위해 IP 주소 사용 |
| 패킷화 | 전송 계층 세그먼트를 송신 측에서 패킷으로 캡슐화하고 수신 측에서 재조립 |
| 포워딩 | 라우터의 입력 인터페이스에서 적절한 출력 인터페이스로 패킷 이동 |
| 프로토콜 | IP, IC… (이하 내용은 다음 파트에 이어집니다) |
Source: …
MP, IGMP (among others) |
장치
- 라우터 – 네트워크(WAN) 간에 패킷을 전달합니다
주소 유형
- IP 주소 (IPv4 또는 IPv6)
IP 주소 스푸핑 (Layer 3)
MAC 스푸핑과 유사하게, IP 주소도 위조될 수 있습니다.
| 시나리오 | 효과 |
|---|---|
| A – 동일 네트워크 충돌 | 두 장치가 동일한 IP를 사용 → IP 충돌 → 네트워크 불안정 |
| B – 가짜 출발지 IP | 장치가 다른 IP인 척하고 패킷을 전송 → 가장, 서비스 거부(DoS) 또는 중간자 공격 가능 |
정리된 마크다운 끝.
IP 스푸핑 방지 대책
- Layer 3 보안 메커니즘
- Ingress / Egress Filtering – 유효하지 않은 소스 IP 범위의 패킷을 차단합니다.
- Unicast Reverse Path Forwarding (uRPF) – 패킷이 올바른 인터페이스를 통해 도착했는지 확인하고, 스푸핑된 패킷을 차단합니다.
- IPSec – 인증 및 암호화를 추가하고, 송신자 신원을 암호적으로 검증합니다.
- TTL Monitoring – 비정상적인 홉‑거리 값을 감지합니다.
- Firewall Rules –
- 퍼블릭 측에서 사설 IP 주소를 차단합니다.
- 외부 인터페이스에서 내부 IP 주소를 차단합니다.
레이어 4 – 전송 계층
전송 계층은 애플리케이션 간 통신을 제공합니다. 엔드‑투‑엔드 데이터 전송을 가능하게 하며, 신뢰성, 순서 보장 및 오류 없는 전달을 보장합니다. 세그멘테이션, 흐름 제어, 오류 수정 등을 처리하며, TCP와 UDP와 같은 프로토콜을 통해 세션 계층에서 네트워크 계층으로 데이터를 전달합니다.
주요 책임 및 기능
- 세그멘테이션 및 재조립 – 세션 계층에서 온 큰 데이터 단위를 더 작은 세그먼트로 나누고, 목적지에서 이를 재조립합니다.
- 서비스‑포인트 주소 지정(포트) – 포트 번호를 사용해 트래픽을 특정 애플리케이션(예: HTTP, FTP)으로 라우팅합니다.
- 연결 제어 – 신뢰성 있는 전달을 위한 연결‑지향 서비스(TCP)와 빠른 최선‑노력 전달을 위한 비연결 서비스(UDP)를 제공합니다.
- 흐름 제어 – 빠른 송신자가 느린 수신자를 압도하지 않도록 전송 속도를 조절합니다.
- 오류 제어 – 오류를 감지하고 재전송을 트리거하여 데이터 무결성을 유지합니다.
- 다중화 및 역다중화 – 여러 애플리케이션이 하나의 네트워크 연결을 동시에 공유할 수 있게 합니다.
프로토콜
| 프로토콜 | 유형 | 일반적인 사용 사례 |
|---|---|---|
| TCP (Transmission Control Protocol) | 연결‑지향, 신뢰성 보장 | 웹 브라우징, 이메일, 파일 전송 |
| UDP (User Datagram Protocol) | 비연결, 최선‑노력 | 스트리밍, 게임, 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)를 사용하여 페이지를 요청합니다.