네트워크 엔지니어로 살아가면서 알게된건
네트워크적 업무를 할 때에는 NAT와 라우팅을 매우 많이 사용한다는 것이다.
큰 고객사가 아닌 작은 고객사의 경우는 Default GW만 넣고
운용하기에 라우팅은 크게 신경을 안 써도 되는데
NAT는 인터넷할 때에도 쓰고, 웹 서비스나 DB연동 등등
왠만한 모든곳에서 사용하기 때문에 필수지식이다.
NAT란?
NAT(Network Address Translation)란 말 그대로 네트워크 주소 변환 기능으로
1.1.1.1 의 IP 주소를 2.2.2.2으로 바꾸어주는 그런 기술이다.
NAT를 사용하는 이유
가장 큰점을 꼽으라면 클라이언트(PC)가 인터넷을 하기 위함이 아닐까 싶다.
대개 일반 사무실들은 공유기만 끼우면 인터넷이 자동으로 된다.
그 이유는 공유기는 자동으로 상단 회선라우터(ISP)로 GW를 잡고
IP를 할당받아 내부 사설IP사용자들이 회선라우터와
같은 대역의 IP로 NAT해주는 기능이 있기 때문에 가능하다
간혹 보안때문에 사용한다고 하는경우도 있는데
원래 나의 주소에서 다른 주소로 변환하면서 다른 사람이 원래 내 진짜 IP를 모르게하는
부가적인 기능이라고 볼 수 있다.
예시
IP는 예시라 대충 공인 IP를 넣었다.
위 PC에서 SERVER로 Ping통신을 하려 한다.
Ping 121.254.111.5만 하면 끝일까?
정답은 NO!
192.168.10.1 처럼 사설 IP대역은 NAT로 공인 IP로 바꾸어주지 않으면 통신이 안된다.
당연한 사실이지만 잘 모르는 사람들을 위해 좀 더 설명하면
사설 IP(192.168.0.1)과 같은건 내부 IP에서 엄청 많이 쓰이기 때문에
Ping이 Server까지 어떻게든 가더라도
Server가 출발지와 목적지로 바꾸어서 보낼때 목적지는 192.168.10.1이 되는데
부산의 192.168.10.1인지 미국의 192.168.10.1인지 알 수가 없다.
따라서 부산 우리집에만 딱 부여되는 1개의 공인 IP주소로 변환을 시켜준다.
위 예시의 경우 192.168.10.1 -> 222.111.33.6 이런식으로 해주면 Ping 통신이 된다.
꼭 222.111.33.6 이어야 하나? 222.111.10.6 이면 안되나?
바로 위 Internet로 나가는 문(Gateway)의 IP대역을 맞춰야만 나갈 수 있다.
222.111.10.6이면 아예 Internet망으로 나갈 수 조차 없다.
NAT Dynamic Rule
192.168.10.1 -> 222.111.33.6 으로 NAT를 해주면 해당 장비에서는
NAT Table 이라는 곳에 위 정보가 등록된다.
NAT Table에 위 NAT정보가 반대로도 등록되며, 목적지로 갔던 패킷이 반대로 내 장비까지 다시 오면
해당 NAT Table에 등록된 정보를 보고 바꿨던 출발지 IP를 원래대로 돌려주어 내 PC까지 온다.
위 처럼 NAT를 하면 동적으로 222.111.33.6 -> 192.168.10.1이 NAT Table에 등록되는 것을
NAT Dynamic Rule 이라고 한다 아래는 실제 서비스 장비의 캡쳐본
위 네모칸의 2줄을 보면 NAT 정보가 있다. (모자이크 한 곳은 실제 장비의 IP기 때문에 보안상 모자이크 처리)
조금 잘렸지만 192.168.21.238 -> 192.5.5.241 이 원래 패킷인데 그 패킷을
182.xxx.xxx.xxx -> 192.5.5.241 로 출발지만 바꾼 것이다.
위 처럼 출발지를 바꾸는것을
SNAT (Source NAT) 라고 한다.
아래는 DNAT (Destination NAT) 목적지 NAT에 대한 설명이다.
SNAT - 인터넷을 하는데 많이 사용
DNAT - 고객사들 서비스용 , DB연동 등등
예시
인터넷 사용자들이 위 서버에 접속을 하려면 어떻게 해야할까?
목적지 192.168.100.1로 하면 통신이 안 될 것이다
목적지는 211.10.5.1로 하되 서버와 통신을 하려면 해당 장비에서
목적지 변경 NAT를 설정 해야한다.
211.10.5.1 -> 192.168.100.1 이런식으로
그럼 장비에는 동적으로 NAT Table 에 반대로 된 NAT Dynamic Rule이 적용된다.
192.168.100.1 -> XXX.XXX.XXX.XXX ===> 211.10.5.1 -> XXX.XXX.XXX.XXX
NAVER에 접속할 때도 NAVER 웹 서버 바로 위 장비에서 바로 위에 처럼 DNAT가 걸려 있기 때문에 가능하다.
하지만 NAT에 아주 심한 문제점이 하나 있다.
4차 산업 시대 전 세계는 IP부족이다. 그래서 심하면 건물당 1개의 IP가 주어지는데,
IP 한개당 NAT 1개가 끝이기 때문에 작업 1개가 끝나고 다음꺼 하고 다음꺼 하고 해야한다.
이게 얼마나 말도 안돼는 소리냐면
네이버를 하면서 게임을 하는것은 불가능 게임을 하면서 웹서핑도 불가능
위 처럼 치명적인 문제를 해결하기 위한 개념이 바로 PAT 이다.
유한한 IP 1개로 거의 무한에 가까운 Port만 바꾸어서 통신하는 방식
PAT의 개념은 아래에서 확인 가능
2021.12.04 - [일/Network] - [L3 개념] PAT (Port Address Translation) 개념 정리
'일 > Network' 카테고리의 다른 글
IP 역추적 네트워크 단말기로 역추적 하기 (0) | 2024.10.15 |
---|---|
데이터가 전달되는 과정 TCP/IP 통신 과정 (2) | 2024.07.25 |
[L3 개념] PAT (Port Address Translation) 개념 정리 (0) | 2021.12.04 |
[L2 개념] 치명적인 Network Looping 루핑 원인 , 해결 방법 STP (0) | 2021.11.23 |
[TCP/IP 개념] 세션의 시작과 종료 3way , 4way Handshake (0) | 2021.11.18 |