네트워크 기초
한 줄 요약
네트워크는 주소(MAC/IP) 를 가진 노드들이 데이터를 주고받는 구조이며, 공유기·NAT·DHCP 같은 메커니즘이 이 흐름을 제어한다.
1. 노드와 주소
네트워크에서 노드란 주소를 가진 장치(서버, PC, 스마트폰 등)를 의미한다.
| 주소 종류 | 통신 범위 | 특징 |
|---|---|---|
| MAC 주소 | 같은 네트워크(LAN) 내부 | 하드웨어에 고정된 물리 주소 |
| IP 주소 | 다른 네트워크(WAN) 간 | 논리 주소, 변경 가능 |
2. 공유기 — 올인원 네트워크 장비
가정용 공유기는 여러 역할을 동시에 수행한다.
| 역할 | 설명 |
|---|---|
| AP (Access Point) | 무선 신호(Wi-Fi)를 뿌려주는 안테나 |
| Router | 외부 인터넷(WAN)과 내부 네트워크(LAN)를 연결하는 길잡이 |
| Switch | LAN 안에서 기기들끼리 데이터를 주고받게 연결 |
| DHCP Server | 연결되는 기기에 IP 주소를 자동으로 할당하는 번호표 발행기 |
3. DHCP — 자동 IP 할당
노드가 공유기에 연결되면 DHCP(Dynamic Host Configuration Protocol)가 자동으로 사설 IP를 부여한다.
- 프로토콜: UDP 67번(서버) / 68번(클라이언트), 브로드캐스트 방식
- IP를 임대(lease) 하는 방식이므로, 일정 시간이 지나면 갱신하거나 반환한다.
고정 IP가 필요한 경우
| 방법 | 설명 |
|---|---|
| Static IP | 기기에 직접 고정 IP를 수동 설정 |
| IP 예약 | 공유기 설정에서 특정 MAC 주소에 특정 IP를 매핑 |
| DNS 등록 | 도메인 이름을 붙여 주소를 고정적으로 참조 |
DHCP Pool 소진
Wi-Fi 연결은 됐는데 인터넷이 안 되거나 “IP 구성 오류”가 뜬다면, DHCP 서버가 나눠줄 수 있는 IP 주소(Pool)가 바닥났을 수 있다.
클라우드에서의 DHCP
요즘 개발자는 물리 공유기보다 VPC(Virtual Private Cloud)나 쿠버네티스 환경을 더 많이 접한다. 내부 네트워크 엔진이 IP를 어떻게 할당·회수하는지 이해해야 서브넷 설계를 올바르게 할 수 있다.
4. 공인 IP vs 사설 IP
| 구분 | 공인(Public) IP | 사설(Private) IP |
|---|---|---|
| 인터넷 직접 연결 | O | X (중개자 필요) |
| 할당 주체 | ISP | 공유기(DHCP) |
| 예시 | 203.0.113.1 | 192.168.0.x, 10.x.x.x |
5. NAT — 사설 IP의 인터넷 접속 원리
사설 IP를 가진 기기가 인터넷에 접속하는 과정:
맥북(192.168.0.5) → 패킷 전송 → 라우터가 가로챔
→ 출발지를 공인 IP로 변환(NAT) → 인터넷으로 전송
→ 웹서버 응답 → 라우터가 기록 장부(NAT Table)로 원래 기기에 전달
NAT(Network Address Translation)는 기본적으로 안→밖 통신에 최적화되어 있다. 나갈 때 기록해둔 장부가 있어야 돌아오는 패킷을 올바른 사설 IP로 전달할 수 있다.
6. LAN 통신
같은 공유기에 연결된 기기들은 서로의 사설 IP를 알고 있어 외부 인터넷을 거치지 않고 LAN을 통해 빠르게 데이터를 주고받을 수 있다.
공유기 없이 LAN 통신
랜선으로 직접 연결하거나 단순 스위치에 연결해도 통신은 가능하다. 단, DHCP 서버가 없으므로 수동으로 사설 IP를 설정해야 한다.
7. VPN — 가상 사설망
VPN에 연결하면 물리적으로는 외부에 있지만, 논리적으로는 해당 LAN 안에 있는 것처럼 사설 IP를 하나 더 부여받는다. 즉 ‘가상’으로 사설망을 확장하는 기술이다.
8. 외부에서 사설 네트워크로 접속하는 방법
NAT는 안→밖에 최적화되어 있기 때문에, 밖→안 접속은 별도 설정이 필요하다.
| 방법 | 원리 | 비고 |
|---|---|---|
| 포트포워딩 | ”80번 포트로 오면 192.168.0.5로 보내라”는 고정 규칙 설정 | 공유기 설정에서 직접 지정 |
| 터널링 서비스 | Ngrok, Cloudflare Tunnel 등으로 역방향 터널을 미리 구성 | DevOps 환경에서 많이 사용 |
| DMZ | 특정 기기를 ‘비무장 지대’로 설정해 모든 외부 접속을 해당 기기로 전달 | 보안 위험이 크므로 주의 |
터널링 서비스 동작 방식
내 기기에서 외부 서비스 업체로 미리 역방향 터널을 뚫어놓으면, 외부 사용자는 업체가 제공하는 주소로 접속하고 업체가 터널을 통해 사설망 기기로 데이터를 전달한다.