📚 네트워크 · 패킷 분석 › 01. TCP/IP 구조 이해 — 01편
이전 글: 없음(시리즈 첫 글) · 다음 글: 02. 네트워크의 기본 구성 요소
네트워크(Network) 는 둘 이상의 장치가 전송 매체를 통해 연결되어, 미리 정한 약속(프로토콜)에 따라 데이터를 주고받는 체계입니다. 이 정의에는 세 가지 요소가 들어 있습니다.
| 요소 | 의미 | 예 |
|---|---|---|
| 장치(Node) | 데이터를 보내거나 받거나 전달하는 주체 | PC, 서버, 스마트폰, 스위치, 라우터 |
| 전송 매체(Medium) | 신호가 실제로 이동하는 통로 | UTP 케이블, 광케이블, 무선(전파) |
| 프로토콜(Protocol) | 데이터 형식·순서·오류 처리에 대한 약속 | Ethernet, IP, TCP, UDP, HTTP, DNS |
케이블만 연결되어 있다고 통신이 되는 것은 아닙니다. 양쪽이 같은 약속으로 데이터를 해석할 수 있어야 비로소 네트워크가 됩니다. 오늘날 대부분의 네트워크가 따르는 약속의 묶음이 TCP/IP 이며, 이 영역(01. TCP/IP 구조 이해) 50편은 "네트워크가 어떻게 통신하는가"를 이 약속의 순서대로 따라갑니다.
현대 네트워크는 대부분 패킷 교환(Packet Switching) 방식으로 동작합니다. 보낼 데이터를 작은 조각으로 나누고, 각 조각에 "누가 누구에게 보내는지" 주소 정보를 붙여 보낸 뒤, 받는 쪽에서 다시 조립합니다.
[보내는 쪽] [받는 쪽]
원본 데이터 (예: 웹 페이지 요청)
↓ ① 나누기
[조각1] [조각2] [조각3]
↓ ② 주소·제어 정보 붙이기 (헤더)
[헤더|조각1] [헤더|조각2] [헤더|조각3]
↓ ③ 전송 매체로 내보내기
──→ 스위치 ──→ 라우터 ──→ 라우터 ──→ 스위치 ──→
↓ ④ 헤더 확인·순서 맞추기
↓ ⑤ 조립
원본 데이터
전화망처럼 통화하는 동안 회선 하나를 독점하는 회선 교환(Circuit Switching) 과 비교하면 차이가 분명합니다.
| 구분 | 회선 교환 | 패킷 교환 |
|---|---|---|
| 경로 | 통신 전에 전용 경로를 확보 | 조각마다 그때그때 전달 |
| 자원 사용 | 말하지 않아도 회선 점유 | 여러 사용자가 회선을 나눠 씀 |
| 장애 시 | 경로가 끊기면 통신 중단 | 다른 경로로 우회 가능 |
| 대표 예 | 전통적인 유선 전화망 | 인터넷, 사내 LAN |
헤더에 들어가는 주소와 제어 정보가 계층별로 어떻게 쌓이는지는 24. Encapsulation에서, 계층 모델 자체는 21. OSI 7계층에서 다룹니다.
① 규모에 따라 이름이 달라집니다. 한 사무실·건물 수준은 LAN, 지역·국가를 넘어 LAN들을 잇는 것은 WAN이라고 부릅니다(03편에서 다룸).
② 연결 모양(토폴로지)이 있습니다.
| 토폴로지 | 구조 | 특징 |
|---|---|---|
| 스타(Star) | 모든 장치가 중앙 스위치에 연결 | 현재 사내 LAN의 기본 형태, 중앙 장비가 단일 장애 지점 |
| 버스(Bus) | 한 줄의 공용 선에 여러 장치 연결 | 초기 Ethernet 방식, 현재는 거의 쓰지 않음 |
| 링(Ring) | 장치들이 원형으로 연결 | 일부 산업·통신사 백본에서 사용 |
| 메시(Mesh) | 장치끼리 여러 경로로 연결 | 이중화에 유리, 비용이 큼 (인터넷 백본은 부분 메시) |
③ 계층으로 나뉩니다. 케이블 신호, 옆 장치까지의 전달, 목적지까지의 경로 찾기, 프로그램 간 대화 같은 역할을 계층별로 나누어, 각 계층이 자기 역할만 책임지도록 설계되어 있습니다.
④ 주소가 여러 종류입니다. 같은 링크 안에서는 MAC 주소, 네트워크를 넘을 때는 IP 주소, 한 장치 안의 프로그램을 구분할 때는 포트 번호를 씁니다(06편·07편, 포트는 02 영역에서 다룸).
내 장치가 어떤 네트워크에 연결되어 있는지는 기본 명령어 몇 개로 확인할 수 있습니다.
실습 예시 — Rocky Linux와 Ubuntu 모두 iproute2의 ip 명령을 기본으로 사용합니다.
# 예시(값은 환경마다 다름)
ip -br addr # 인터페이스별 IP 주소 요약
ip route # 다른 네트워크로 갈 때 거치는 경로(게이트웨이)
ping -c 3 192.168.10.1 # 게이트웨이까지 도달 여부 확인
# 출력 형식 예시(값은 환경마다 다름)
lo UNKNOWN 127.0.0.1/8 ::1/128
ens33 UP 192.168.10.25/24
default via 192.168.10.1 dev ens33 proto dhcp metric 100
192.168.10.0/24 dev ens33 proto kernel scope link src 192.168.10.25
Windows에서는 ipconfig /all, route print, ping -n 3 192.168.10.1이 같은 역할을 합니다. 네트워크 설정 도구는 배포판마다 다른데, Rocky는 주로 NetworkManager(nmcli), Ubuntu Server는 netplan(/etc/netplan/*.yaml)으로 설정합니다. 확인용 ip 명령은 양쪽이 같습니다.
네트워크에 연결된다는 것은 곧 다른 장치가 나에게 말을 걸 수 있다는 뜻입니다. 따라서 네트워크 보안은 다음 세 가지를 지키는 일로 요약할 수 있습니다.
| 보안 요소 | 네트워크에서의 위협 예 | 대표적인 통제 |
|---|---|---|
| 기밀성 | 평문 통신 도청 | 암호화(TLS, SSH, VPN) |
| 무결성 | 전송 중 변조, 위조된 응답 | 무결성 검증, 인증 |
| 가용성 | 대량 트래픽으로 서비스 마비(DoS) | 대역폭 관리, 차단 장비 |
또한 네트워크는 공격의 통로이자 흔적이 남는 장소입니다. 공격자는 정찰(스캔), 침투, 내부 확산, 외부 유출의 거의 모든 단계에서 네트워크를 거쳐야 하므로, 호스트 로그가 지워지더라도 네트워크 쪽 기록이 남아 있을 가능성이 있습니다.
관제 업무에서 네트워크는 가장 넓은 관측 지점입니다. 어떤 흔적이 어디에 남는지를 먼저 떠올리는 습관이 중요합니다.
| 흔적이 남는 곳 | 주로 보이는 정보 |
|---|---|
| 방화벽 로그 | 출발지·목적지 IP, 포트, 허용/차단 여부 |
| IDS/IPS Alert | 시그니처에 일치한 패킷과 5-tuple |
| 프록시·웹 로그 | URL, 도메인, User-Agent |
| DNS 로그 | 어떤 호스트가 어떤 도메인을 조회했는지 |
| 패킷 캡처(PCAP) | 위의 모든 정보의 원본 |
알림을 처음 볼 때 관제자가 스스로 던질 질문은 다음과 같습니다.
⚠️ 오탐 주의: "처음 보는 통신"이 곧 "악성 통신"은 아닙니다. 업데이트 서버 변경, 신규 서비스 도입처럼 정상 변화도 많으므로, 네트워크 흐름을 먼저 이해한 뒤 판단해야 합니다. 이 판단 기준을 세우는 것이 이 영역 전체의 목표이며, 전체 흐름은 50. 웹 요청 하나의 전체 경로 — 01 시리즈 종합에서 정리합니다.