티스토리 뷰
🔷 NAT란 무엇인가
✅ 인터넷과 주소 이야기부터 시작
우리가 집이나 회사에서 인터넷을 사용할 때, 스마트폰, 노트북, 데스크톱 컴퓨터 등 여러 대의 기기가 동시에 인터넷에 연결됩니다. 이때 모든 기기가 인터넷과 대화를 하기 위해서는 각자 고유한 주소를 가져야 합니다. 이 주소를 우리는 흔히 IP 주소라고 부릅니다. 인터넷을 통해 주고받는 모든 데이터는 이 IP 주소를 통해 어디로 보내야 하는지, 어디서 왔는지를 알 수 있습니다.
문제는, 인터넷에서 사용 가능한 이 IP 주소는 숫자가 정해져 있다는 점입니다. 인터넷 초창기에는 컴퓨터 수가 많지 않았기 때문에 전 세계 모든 기기에 고유한 IP 주소를 줄 수 있었습니다. 하지만 지금은 상황이 다릅니다. 스마트폰, 태블릿, 노트북, 스마트 TV, 심지어 냉장고까지 인터넷에 연결되다 보니, 인터넷에서 쓸 수 있는 공인 IP 주소가 턱없이 부족해졌습니다.
✅ IP 주소의 두 가지 종류
여기서 중요한 점은 IP 주소에는 두 가지가 있다는 것입니다.
🔷 공인 IP 주소
- 전 세계 인터넷에서 통용되는 주소
- 유일해야 함 (중복되면 안 됨)
- 인터넷에서 다른 사람과 통신하려면 반드시 필요함
🔷 사설 IP 주소
- 집이나 회사 안에서만 쓰이는 내부 전용 주소
- 외부 인터넷에서는 인식되지 않음
- 무료로 누구나 쓸 수 있고, 중복 가능
즉, 공인 IP는 ‘밖에서 쓰는 주소’, 사설 IP는 ‘안에서만 쓰는 주소’입니다. 집 안에서는 기기마다 사설 IP를 붙이면 되지만, 외부 인터넷에 접속하려면 공인 IP가 필요합니다. 그런데 공인 IP는 한정돼 있고 값도 비싸기 때문에 집이나 회사의 기기마다 하나씩 붙여 줄 수는 없습니다.
✅ NAT가 필요한 이유
여기서 등장하는 것이 바로 NAT(Network Address Translation)입니다. NAT는 말 그대로 네트워크 주소를 변환하는 기술입니다. 즉, 집 안(또는 회사 안)의 기기들이 가진 사설 IP를 하나의 공인 IP로 바꿔서 인터넷에 연결해 주고, 인터넷에서 돌아온 데이터는 다시 각 기기의 사설 IP로 되돌려서 보내 줍니다.
NAT가 없다면 어떤 문제가 생길까요?
- 공인 IP를 기기마다 하나씩 사야 하고, 주소가 모자라 더 이상 기기를 인터넷에 연결할 수 없음
- 집 안의 네트워크 구조가 외부에 그대로 노출돼 보안에 취약해짐
즉, NAT는 하나의 공인 IP로 여러 대의 기기가 인터넷을 쓸 수 있게 해 주고, 외부로부터 내부 네트워크를 숨겨 보안도 강화합니다.
✅ NAT의 역할
NAT의 핵심 역할은 세 가지입니다.
🔷 하나의 공인 IP를 공유
집 안(사설 네트워크)에 있는 여러 기기가 하나의 공인 IP를 통해 동시에 인터넷을 사용할 수 있도록 합니다.
🔷 내부 네트워크와 외부 인터넷 연결
외부 인터넷에서는 사설 IP를 알아보지 못하기 때문에, NAT가 사설 IP를 공인 IP로 바꿔서 외부와 연결해 줍니다.
🔷 기본적인 보안 강화
외부에서는 집 안의 사설 IP를 알 수 없기 때문에 내부 네트워크 구조가 숨겨져서 해킹 위험을 줄입니다.
✅ NAT는 어떻게 동작할까?
NAT는 라우터나 방화벽 같은 네트워크 장비에서 동작합니다. 작동 원리는 매우 단순합니다.
🔷 내부 → 외부
- 집 안의 기기(예: 192.168.0.2)가 외부 인터넷 서버(예: 8.8.8.8)에 데이터를 요청
- 라우터가 패킷의 출발지 IP를 공인 IP(예: 203.0.113.1)로 바꾸어 외부에 보냄
- 라우터는 내부 기기와 포트 번호를 기록해 누가 요청한 것인지 기억
🔷 외부 → 내부
- 외부 서버가 공인 IP로 응답
- 라우터가 기록해 둔 정보를 보고 공인 IP를 사설 IP로 되돌려서 해당 기기에 전달
즉, 외부에서는 항상 하나의 공인 IP만 보이지만, 라우터는 각 기기별로 요청과 응답을 정확하게 대응해 줍니다.
✅ NAT의 종류
NAT에는 몇 가지 형태가 있습니다.
🔷 정적 NAT
하나의 사설 IP를 하나의 공인 IP에 고정적으로 연결하는 방식
🔷 동적 NAT
여러 사설 IP가 요청할 때마다 사용 가능한 공인 IP를 할당받는 방식
🔷 PAT(Port Address Translation)
여러 사설 IP가 하나의 공인 IP를 공유하면서 포트 번호를 이용해 구분하는 방식 (가정용 공유기에서는 거의 항상 PAT가 사용됩니다)
✅ NAT의 장점과 단점
🔷 장점
- 공인 IP를 절약할 수 있음
- 내부 네트워크가 외부에 직접 노출되지 않아 보안이 강화됨
- 네트워크 설정과 관리가 유연해짐
🔷 단점
- 패킷을 변환하는 과정에서 약간의 지연이 생길 수 있음
- 일부 프로그램(예: 화상 통화, 온라인 게임)이 NAT 환경에서 제대로 작동하지 않을 수 있음
- 기기마다 직접 공인 IP를 쓸 수 없어서 P2P 연결이 어려움
✅ 핵심 요약
NAT는 집 안의 여러 기기들이 동시에 인터넷을 쓸 수 있도록, 내부 주소(사설 IP)를 외부 주소(공인 IP)로 바꿔 주고, 응답이 돌아오면 다시 원래대로 되돌려 주는 중간 관리자 역할을 합니다. 외부에서는 집 안의 구조를 알 수 없고, 내부에서는 공인 IP를 여러 대가 나눠 쓸 수 있습니다. IPv4 주소 부족을 해결하고, 보안을 강화하며, 네트워크 운영을 효율적으로 만들어 주는 핵심 기술입니다.
'정보처리기사' 카테고리의 다른 글
데이터베이스 스키마의 3가지 종류(외부, 개념, 내부) (0) | 2025.07.18 |
---|---|
서버 접근 통제의 3가지 방법 — MAC, DAC, RBAC 완전 정리 (0) | 2025.07.16 |
클라우드 서비스의 3가지 모델(IaaS, PaaS, SaaS) (1) | 2025.07.15 |
관계형 데이터베이스, 무결성 제약, 개체 무결성, 참조 무결성, 도메인 무결성 (1) | 2025.07.15 |
소프트웨어 테스트 커버리지 쉽게 암기 정리 (2) | 2025.07.14 |
- Total
- Today
- Yesterday
- 객체지향
- c++알고리즘
- 알고리즘
- 알고리즘문제풀이
- 그리디알고리즘
- 파이썬
- 동적계획법
- 파이썬코딩
- 파이썬문제풀이
- 백준
- 문자열처리
- 그리디
- C++ 알고리즘
- C++
- 코딩테스트
- 그래프 탐색
- python 알고리즘
- 브루트포스
- 알고리즘 문제풀이
- 코딩 테스트
- dfs
- DP
- 알고리즘기초
- 문제 풀이
- 코딩
- 동적 계획법
- 프로그래밍
- 문제풀이
- c언어
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |