1. 네트워크 주소 변환 (Network Address Translation)
가정이나 회사에 인터넷을 구축한다고 가정한다. 우리는 인터넷 사업자(KT, LG, SKT)로 부터 돈을 내고 공인 IP를 부여 받게 된다.
공인 IP 주소로는 컴퓨터, 휴대폰, 기타 디바이스 등등의 IP를 할당하기에는 부족하다.
이때 우리는 공유기 라는 것을 사용하여 하나의 공인 IP 주소를 여러개의 장치에 IP를 부여할 수 있도록 사설 IP로 바꾼다.
사설 IP를 사용함으로써의 장점은 IPv4의 주소 고갈 문제와 외부IP와 내부IP가 다름으로써 보안의 역할을 할 수 있다. (일석이조)
공유기의 존재 이유는 바로 네트워크 주소 변환 기술이다.
흔히 공인 IP를 사설 IP로 바꾼다. 또는 내부 네트워크 망을 구축한다 등등 이런 개념은 네트워크 주소 변환 기술을 사용한다는 의미이다.
공유기의 NAT을 통한 내부 네트워크의 토폴로지는 BUS형이 된다. 실제로 공인IP라는 하나의 회선을 사용하기 떄문이다. 버스형 토폴로지는 LAN 토폴로지라고도 한다.
버스형 토폴로지는 CSMA/CD(유선)또는 CSMA/CA(무선) 표준방식을 채택하여 데이터 전송간에 충돌 (콜리전 발생)을 막는다는 특징이있다.( 쉽게 여러 개의 IP주소간의 데이터 전송시에 충돌을 방지하는 기술이라고 생각하면 된다. )
네트워크 주소 변환은 NAT 테이블을 만들고 외부 IP와 내부 IP를 포트로 전송을 구분하는 방식이다.
결국 이 포트로 외부IP와 내부IP의 통신을 구분하는 방식으로, 이 방식 때문에 포트포워딩이 필요하게 된다.
2. 포트포워딩(Port Forwarding)
위에서 NAT 기술은 IP를 포트번호로 구분하여 여러 개의 사설 IP로 포워딩하며, 전송계층에서는 상위 어플리케이션의 통신을 구분할 때 포트번호로 구분한다.
공인 IP를 사용하는 서버가 있다고 가정 한다. 이 서버에는 DB가 있고 TCP 3306 포트를 사용한다고 가정한다. 우리가 외부에서 서버의 DB 에 접근하려 할 때 해당 공인 IP에 3306포트로 접근하면 DB에 접근이 가능하다.
그러나 문제는 공유기의 사설IP 주소의 서버 일 경우이다.
외부망(인터넷)에서 내부 사설망의 Server의 DB에 접속하려 할 때 외부의 어떤 포트를 사용해야 사설망의 192.168.0.5의 3306 포트로 접속가능한 지 호스트 입장에서는 알 수 가 없다.
이 때 외부IP의 이 포트로 접근하면 192.168.0.5 의 3306 포트로 접속 시켜 주겠다~ 라는 약속을 흔히 말하는 공유기의 포트포워딩 기능이다.
3. DMZ, TwinIP (포트포워딩 응용 기술)
포트포워딩 기술을 이해 했다면 DMZ와 TwinIP 기술을 이해하는 것은 일도 아니다.
공인IP의 모든 포트를 내부IP(그림에서는 192.168.0.5)의 모든 포트와 대응시킨다.
즉, 내가 외부에서 192.168.0.5의 3306포트 (DB)로 접근하고 싶다면 공인IP의 3306포트로 접근하면 된다.
192.168.0.5 내부IP 주소의 23포트로 접근하고 싶다면 공인IP의 23포트로 접근한다.
이처럼 편리하게 공인IP의 모든 포트를 사설IP의 포트와 대응시키는 포트포워딩 기술을 DMZ라고 한다.
(참고로 비무장지대를 뜻하는 그 단어가 맞다.)
TwinIP 또는 SuperDMZ라는 기술은 공인IP의 모든 포트를 사설 IP의 모든 포트와 대응 (여기까지는 DMZ) 시키고 사설IP를 공인IP로 사용하는 기술이다.
(실제로는 사설IP 192.168.0.5이지만 공인IP를 그대로 사용하는 것과 같다.)
'Network' 카테고리의 다른 글
[L7] DNS(Domain Name System) (0) | 2023.05.30 |
---|---|
[L3~L7] VPN(Virtual Private Network) (0) | 2023.05.27 |
[L3 ~ L4] 공유기(공유기 개요, 역할, NAT) (0) | 2022.12.15 |
[L2] MAC 주소 (1) | 2022.12.01 |
[L3] IP주소(IPv4) / 서브넷 마스크 (0) | 2022.11.28 |