2026. 6. 22. 18:31ㆍComputer Science/네트워크
3편에서 데이터가 라우팅과 DNS를 통해 목적지 근처까지 도달하는 과정을 배웠다.
그런데 목적지 근처에 도착한 데이터는 그 다음에 어디로 가는 걸까?
이제부터는 내부망의 영역이다.
모든 기기마다 자기만의 IP가 있어야 할까?
언뜻 생각하면, 노트북도 휴대폰도 스마트워치도 각자 고유한 IP 하나씩 가지면 깔끔할 것 같다.
하지만 실제로는 그렇게 하지 않는다. 두 가지 문제가 있기 때문이다.
첫째, 전 세계에서 쓸 수 있는 공인 IP는 한정된 자원이다.
IPv4 기준으로 약 43억 개 정도가 전부다. 지구상의 모든 기기 하나하나에 공인 IP를 부여한다면 턱없이 부족하다.
둘째, 모든 기기가 인터넷에 직접 노출되면 보안에 취약해진다.
기기 하나하나가 전부 외부에서 직접 접근 가능한 상태가 되면, 그만큼 공격 경로도 늘어난다.
그래서 공간을 하나로 묶어 관리한다 - 내부망과 사설 IP
이 두 문제를 해결하기 위해 나온 방식이 내부망이다.
집이든 회사든, 하나의 공간을 통째로 묶어서 인터넷에는 공인 IP 하나만 내보이고,
그 공간 안의 기기들은 사설 IP로 자기들끼리 관리하게 만든 것이다.
말하자면 "대문은 하나만 열어두고, 그 안의 방들은 외부에서 직접 들여다볼 수 없게" 만드는 구조다.
그렇다면 그 "대문" 역할을 하는 것이 무엇일까?
게이트웨이: 내부망으로 들어오는 문
게이트웨이는 내부망과 외부망 사이의 경계에 위치하는 출입구다.
게이트웨이라는 이름 자체가 "문(gate) + 길(way)"이라는 뜻으로, 내부망에서 외부망으로 나가는 통로라는 의미를 그대로 담고 있다.
규모가 커지면 게이트웨이의 형태도 달라진다.
- 집에서는 공유기가 바로 그 게이트웨이 역할을 한다. 외부에서 들어오는 데이터는 반드시 게이트웨이를 거쳐야 내부망으로 전달되고, 내부망에서 나가는 데이터도 마찬가지로 게이트웨이를 거쳐야 외부로 나갈 수 있다.
- 회사에서는 별도의 라우터/방화벽 장비가 게이트웨이 역할을 한다.
여기서 한 가지 헷갈리기 쉬운 부분이 라우터와 게이트웨이의 차이다.
- 라우터는 "다음 경로를 결정해주는 물리적 장치"를 가리키는 말이고
- 게이트웨이는 "네트워크 경계에서 나가는 출입구"라는 역할을 가리키는 말이다.
- 가정용 공유기는 이 두 역할을 동시에 수행하기 때문에 같은 장치처럼 느껴지지만,
회사처럼 라우터가 여러 대인 환경에서는 그중 "외부망과 맞닿아 있는 그 라우터"만 특별히 게이트웨이라고 부른다.
공인 IP와 사설 IP, 그리고 그 둘을 잇는 NAT
게이트웨이가 "문" 역할을 한다면, 그 문에서 실제로 어떤 일이 일어나는 걸까?
바로 공인 IP와 사설 IP를 서로 바꿔주는 작업, NAT(Network Address Translation)다.
(1) 공인 IP와 사설 IP
내부망의 존재를 알았으니, 이제 IP 주소에 두 종류가 있다는 것을 알 수 있다.
- 공인 IP: 인터넷 전체에서 고유한 주소. 외부에서 직접 접근 가능하다.
- 사설 IP: 특정 내부 네트워크 안에서만 쓰는 주소. 외부에서 직접 접근할 수 없다.
인터넷에 가입하면, 통신사는 집마다 공인 IP 하나를 부여한다(예: 123.45.67.89).
이 주소는 전 세계에서 유일한 주소로, 인터넷이라는 거대한 망에서 우리 집을 찾아오는 입구 역할을 한다.
그런데 집 안에는 노트북, 휴대폰, 스마트TV처럼 기기가 여러 대 있다.
이 공인 IP 하나를 여러 기기가 나눠 쓸 수는 없으니, 공유기가 그 공인 IP를 내부적으로 여러 사설 IP로 분산시킨다.
노트북은 192.168.0.2, 휴대폰은 192.168.0.3처럼 각자 사설 IP를 받는다.
이 사설 IP는 우리 집 안에서만 의미가 있고, 외부 인터넷에서는 직접 찾아올 수 없다.
참고로 사설 IP로 쓸 수 있는 주소 범위는 전 세계적으로 미리 약속되어 있다(10.x.x.x, 172.16~31.x.x, 192.168.x.x).
이 범위에 속하는 IP는 인터넷에서는 절대 등장하지 않기 때문에, 우리 집과 옆집이 똑같이 192.168.0.5를 써도 서로 마주칠 일이 없다.
그렇다면 게이트웨이는 어떻게 내부망의 사설 IP를 공인 IP로 변환할까?
(2) NAT 테이블, 기기와 프로그램을 한 번에 구분하는 기록부
사설 IP와 공인 IP를 변환하는 데 있어 핵심 문제는 이것이다.
공인 IP 하나로 여러 기기가 동시에 인터넷을 쓰고,
하나의 기기 안에서도 여러 프로그램이 동시에 통신한다.
그렇다면 응답이 돌아왔을 때, 어떻게 알고 어느 기기의 어느 프로그램으로 전달하는 걸까?
답은 포트 번호다.
그런데 한 가지 중요한 점은, 우리가 알던 포트 번호 말고도 게이트웨이가 따로 부여하는 포트 번호가 존재한다는 것이다.
- 내부 포트 (출발지): 유튜브가 요청을 보낼 때, 운영체제(OS)가 현재 사용 중이지 않은 번호 중 하나를 임의로 골라서(보통 49152~65535 사이) 붙인다. 기기 안에서 프로그램을 구분하기 위한 번호다.
- 공용 포트: 그 요청이 게이트웨이에 도착하면, 게이트웨이가 공인 IP에 붙일 포트 번호를 새로 배정한다. 응답이 돌아왔을 때 어느 기기의 어느 프로그램으로 돌려줄지 구분하기 위한 번호다.
게이트웨이는 기존에 사용 중인 공용 포트와 겹치지 않도록 직접 선택해서 배정하고,
아래와 같이 IP와 포트 쌍을 묶어서 NAT 테이블에 기록한다.
// NAT 테이블 (공유기의 기록부)
[내부/출발지] [공용] [목적지]
192.168.0.2 : 49201 ←→ 123.45.67.89 : 55123 ←→ 208.65.153.238 : 443 (유튜브)
192.168.0.2 : 49202 ←→ 123.45.67.89 : 55124 ←→ 125.209.222.141 : 443 (카카오톡)
192.168.0.3 : 51000 ←→ 123.45.67.89 : 55200 ←→ 157.240.2.35 : 443 (인스타그램)
이렇게 사설 IP·내부 포트(기기와 프로그램 구분)와 공용 포트(응답 전달 경로 구분), 그리고 목적지까지 한 쌍으로 기록해두면,
응답이 돌아왔을 때 어느 기기의 어느 프로그램으로 전달해야 하는지를 한 번에 정확히 찾아갈 수 있다.
(3) 실제 흐름
// 내부 → 외부 (노트북의 유튜브가 요청을 보낼 때): 아웃바운드
① 운영체제가 내부 포트(49201) 부여
② 노트북(192.168.0.2 : 49201)에서 요청 전송
→ 게이트웨이가 사설 IP를 공인 IP(123.45.67.89)로 변환
→ 공용 포트(55123)를 새로 배정
→ "192.168.0.2 : 49201 ↔ 123.45.67.89 : 55123 ↔ 유튜브 서버"를 NAT 테이블에 기록
→ 인터넷으로 나감 (외부에는 공인 IP + 공용 포트만 보임)
// 외부 → 내부 (응답이 돌아올 때): 인바운드
③ 공인 IP(123.45.67.89) + 공용 포트(55123)로 응답 도착
→ 게이트웨이가 NAT 테이블 확인
→ "공용 포트 55123은 노트북(192.168.0.2)의 내부 포트 49201, 즉 유튜브 요청이었지"
→ 노트북의 유튜브로 정확히 전달
한 가지 중요한 점은, 이 매핑은 "내부에서 먼저 요청을 보낸 경우"에만 만들어진다는 것이다.
만약 외부에서 먼저(요청 없이) 내부망으로 연결을 시도하면, 공유기는 NAT 테이블에 매핑 정보가 없어서 어디로 보낼지 몰라 차단한다.
그래서 가정용 공유기가 기본적으로 게이트웨이이자 방화벽 역할도 동시에 하게 된다.
이 원리는 규모만 커지며 그대로 반복된다
이 구조는 집이든 회사든 클라우드든 똑같이 적용된다.
- 집: 공유기 하나가 노트북, 휴대폰 등 3~4대의 기기를 내부망으로 관리한다.
- 회사: 여러 대의 라우터와 스위치가 수백~수천 대의 기기를 내부망으로 나눠 관리한다.
- AWS 클라우드: VPC가 가상의 공유기 역할을 하면서, 그 안의 EC2, RDS 같은 리소스들을 내부망으로 관리한다.
결국 집의 공유기든, 회사의 사내망이든, AWS의 VPC든 본질은 같다.
"외부에 직접 노출시키지 않고, 내부에서 먼저 관리·통제한 뒤 필요한 것만 선별해서 외부로 내보낸다"는 원리가
규모만 달라지며 똑같이 반복되고 있는 것이다.
외부망과 내부망, 무엇이 다른가
지금까지 외부망(인터넷)과 내부망을 모두 배웠다. 돌아보면, 이 둘은 목적 자체가 다르다.
비유하면, 외부망은 "전국 고속도로망"이다. 목적은 오직 "A에서 B로 가장 빠르게"이고, 도로(라우터)와 이정표(라우팅 테이블)만 있으면 된다. 내부망은 "회사 건물 안의 동선 설계"다. 단순히 길을 연결하는 것을 넘어서, "이 층은 누가 들어올 수 있는지(방화벽)", "외부 손님은 로비까지만(DMZ)", "각 부서 사무실은 어떻게 나눌지(서브넷)"까지 고려해야 하니, 자연히 더 많은 장비와 개념이 필요하다.
외부망
- 목적: "출발지에서 목적지까지, 가장 효율적인 경로를 찾아서 데이터를 전달한다"는 한 가지 목적만 있다.
- 장비: 그래서 장비도 라우터 하나의 반복이면 충분하고, 라우터들이 BGP로 서로 정보를 교환하며 길을 찾아가는 게 핵심이다.
- 구조: 구조가 수평적이다. 수많은 라우터들이 옆으로 옆으로 연결된 그물망 구조다.
내부망
- 목적: "이 공간 안에서 누가 누구와 통신할 수 있는지, 어떤 구역은 보호해야 하는지, 외부에는 어떻게 보일지"까지 설계해야 한다.
- 장비: 그래서 역할이 세분화된 장비들이 필요하다.
스위치(같은 구역 안 연결), 라우터(구역 간 연결), 방화벽(통행 규칙), NAT(외부와의 변환), 게이트웨이(외부로 나가는 문) - 구조: 구조가 계층적이다. 게이트웨이 → 코어 스위치 → 액세스 스위치 → 기기, 이런 식으로 위에서 아래로 단계가 나뉜다.
참고: LAN과 WAN, 내부망/외부망의 공식 용어
지금까지 "내부망"과 "외부망"이라는 표현을 써왔는데, 실제 기술 용어로는 각각 LAN과 WAN이라고 부른다.
- LAN(Local Area Network) = 내부망. 특정 공간 안에 한정된 네트워크. 집의 와이파이 네트워크, 회사 사내망이 모두 LAN이다.
- WAN(Wide Area Network) = 외부망. 더 넓은 범위의 네트워크. 인터넷 전체가 WAN의 가장 대표적인 예시다.
가정용 공유기를 보면 포트가 두 종류로 나뉘어 있는데,
"WAN 포트"는 통신사 회선(인터넷)이 꽂히는 곳이고, "LAN 포트"는 집 안의 기기들이 꽂히는 곳이다.
이 물리적인 구분 자체가 "외부망(WAN) ↔ 게이트웨이 ↔ 내부망(LAN)"이라는 구조를 그대로 보여주는 것이다.
다만 WAN이 반드시 "인터넷 전체"만을 가리키는 건 아니다.
예를 들어 대기업이 서울 본사와 부산 지점을 전용 회선으로 연결한 경우도 WAN이라고 부른다.
즉 WAN은 "LAN과 LAN을 연결하는 더 넓은 범위의 네트워크"라는 의미에 가깝고, 인터넷은 그 WAN의 가장 큰 형태다.
내부망은 IP 부족과 보안이라는 두 가지 문제를 해결하기 위해 만들어진 구조다. 공인 IP 하나로 수많은 내부 기기를 관리하고, 외부에는 최소한만 노출하는 이 원리가, 집의 공유기부터 회사의 사내망, 클라우드의 VPC까지 규모만 달라지며 반복된다.
그렇다면 내부망 안에서는 수백, 수천 대의 기기를 어떻게 체계적으로 관리할까?
다음 편에서는 내부망을 더 작은 단위로 나누어 관리하는 서브넷, 그리고 그 사이의 통행을 통제하는 방화벽과 DMZ를 다룬다.