Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 뉴턴역학
- 역학
- 인프라
- 자바
- 유닉스
- Spring boot
- oracle
- kotlin
- 자바암호
- 웹 크롤링
- 코틀린
- 소프트웨어공학
- chatGPT's answer
- Java
- NIO
- 파이썬
- 자바네트워크
- Database
- 고전역학
- flet
- GPT-4's answer
- android
- write by GPT-4
- python
- lombok
- write by chatGPT
- 리눅스
- 시스템
- GIT
- JVM
Archives
- Today
- Total
Akashic Records
NAT [Network Address Translation] 본문
728x90
NAT를 사용하는 목적에는 2가지가 있는데, 첫째는 인터넷의 공인 IP주소를 절약할 수 있다는점이고 둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터보호할 수 있다는 점이다.
NAT의 목적
Global IP address가 부족할 때 사용합니다.
인터넷의 공인 IP주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요한데 NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 수 있도록 하여 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있는 것이다.
외부에 대하여 내부 network를 숨기고 싶을때 ; 보안성 향상을 위해
공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의통신망을 보호하는 기본적인 수단으로 활용할 수 있다. 이때 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 준다. 따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있다.
ISP를 변경할 경우
A라는 ISP를 사용하다 B라는 ISP로 service 업체를 옮길 경우, internet의 global ip address는 ISP업체에 따라서 변경되어야 한다. 그런데, 서버 수가 많은 대규모 사업장의경우 DHCP를 사용하지 않고 Static하게 setting을 하여 사용하고 있었다면, 서버들의setting을 변경해주는 일은 결코 수월한 일이 아니다. 이 경우 NAT기능을 사용하면, 내부에서는 network의 변경없이 router에서만 A ISP업체의 IP address를 B ISP업체의 IP address로 translation하도록 setting을 변경하면 되므로 작업이 수월해진다. 하지만Router에 많은 부하가 발생하므로 권장하지 않는다.
Load sharing기능을 이용할때
외부 서비스를 제공하는 서버의 수를 확장할 때 NAT을 사용한다면 확장이 쉽다. Router IP는 200.0.0.225 서비스 서버는 3대(192.0.0.1, 192.0.0.2, 192.0.0.3)을 사용하고 있는 시스템에서 서비스 서버를 1대 추가할 경우(192.0.0.4) Router의 설정만으로 쉽게 확장할수 있다.
NAT 방식
Dynamic NAT
내부의 사설IP가 라우터 또는 NAT 소프트웨어에 의해서 미리 정해진 공인IP로 랜덤하게매핑됩니다.
위에서 192.168.10.1와 192.168.10.2는 200.100.10.1 ~ 4의 어떤 공인IP와도 매핑이 가능하다. 하지만 Dynamic NAT의 경우 정해진 공인IP가 이미 다 사용중일 경우엔 나머지 사설IP는 공인IP를 사용할 수없다. 예를 들어서 192.168.10.1 ~ 4 가 200.100.10.1 ~ 4를각각 사용중일 때 192.168.10.2는 자리가 빌 때까지 대기해야 한다.
Static NAT
특정 사설IP가 특정 공인IP만 사용하도록 관리자가 미리 정해놓는 방식, 외부로 서비스하는서버는 대부분 Static NAT방식을 사용한다.
위에서 192.168.10.1은 200.100.10.1로만 무조건 매핑이 된다. 192.168.10.2는 나머지200.100.10.2 ~ 4 중에서 하나를 사용하게 된다.
PAT( Port Address Translation)
포트 변환을 통해서 NAT를 실행한다. Static NAT나 Dynamic NAT의 경우 사용할 수 있는 공인IP보다 사설IP의 수가 많다면 모자라는만큼 외부로 나갈 수 없는 사설IP가 많아진다. 하지만 PAT는 포트 변환을 하기때문에 공인IP가 하나만 있어도 많은 수의 사설IP가 외부로 나갈 수 있다.
위 경우 사용할 수 있는 공인IP는 한 개이지만 내부의 사설IP들은 각각 포트를 달리함으로써 개별적으로 외부로 나갈 수 있게 된다.
서비스 구성예
실제 서버에서는 TCP/IP를 지원하는 어떠한 OS도 사용할 수 있으며, 실제 서버의 default route 는 가상 서버로 설정해야한다. (위 예에서는 172.16.0.1이다)
Protocoll | Virtual IP Address | Port | Real IP Address | Port | Weight |
TCP | 202.103.106.5 | 80 | 172.16.0.2 | 80 | 1 |
172.16.0.3 | 8000 | 2 | |||
TCP | 202.103.106.5 | 21 | 172.16.0.3 | 21 | 1 |
IP 주소 202.103.106.5 포트 80을 향하는 모든 트래픽은 실제 주소가 172.16.0.2 포트80과 172.16.03 포트 8000로 부하분산된다. IP 주소 202.103.106.5 포트 21로 향하는 모든 트래픽은 실제 IP 주소 172.16.0.3 포트 21로 포트-전송된다.
728x90
'Infrastructure' 카테고리의 다른 글
OWL(Web Ontology Language) (0) | 2018.04.18 |
---|---|
OSGi Alliance (0) | 2018.04.18 |
Middle Ware (0) | 2018.04.18 |
MEAP: Mobile Enterprise Application Platform (0) | 2018.04.18 |
M-Commerce(Mobile Commerce) (0) | 2018.04.18 |
Comments