생활코딩/WEB2- HomeServer

[WEB_SERVER] 2. NAT

개발자하소서 2022. 9. 23. 10:35
728x90
반응형
SMALL

📌NAT(Network Address Translation)

- NAT

이 기술을 통해 사설 IP를 사용하고 있는 각각의 컴퓨터들이
외부의 인터넷에 접속할 수 있게 된다.


만약 위의 그림처럼 김인턴이
사용하는 컴퓨터가 192.168.0.2라는 IP를 가지고 있고,
위키피디아(https://ko.wikipedia.org/wiki/)에 접속을 한다면

김인턴의 컴퓨터는 GateWayAddress에 해당되는 ip의 머신에게
LAN을 통해 공유기에게 신호를 보내게 된다.
그러면 공유기는 내부 네트워크 연결 요청이 아닌,
위키피디아라는 외부네트워크 연결 요청이라는 것을 확인하고
WAN을 통해 외부로 보낸다.

하지만, 보내기 전에 두 가지 일을 수행한다.

첫번째는,
위키피디아로 가는 요청이
192.168.0.2 라는 IP를 가지고 있는 컴퓨터의 요청이라는 것을
공유기에 기록하는 것이다.

두번째는,
요청한 컴퓨터의 IP는 192.168.0.2를 쓰고 있는데
이는 외부에서 접속을 하지 못하는 사설 IP이다.
그래서 공유기의 NAT 기술을 통해 요청한 데이터를 변경해준다.
즉, 192.168.0.2(사설IP)라고 되어있던 부분을
위의 그림처럼 120.160.10.123(공인IP)로 변경한 다음
그 변경된 데이터를 위키피디아에게 보내는 것이다.

공유기의 요청을 받은 위키피디아는
어떠한 작업을 수행한 뒤
120.160.10.123(공유IP)에게 응답을 한다.

그리고 공유기는 위키피디아로부터 받은 정보를
192.168.0.2라는 IP를 가지고 있는 컴퓨터가
요청했었던 정보라는 사실을 파악한 다음
다시 응답해주는 것이다.



즉, 이러한 과정을 통해서
사설IP를 사용하고 있는 컴퓨터가
퍼블릭IP에 해당되는 외부의 세계에 접속할 수 있게 되는 것이다.
그때 사용되는 기술이 바로
NAT(Network Address Translation)
인 것이다.




📌해당글은 생활코딩 (Home Server)편을 참고하였습니다.

 
728x90
반응형
LIST

'생활코딩 > WEB2- HomeServer' 카테고리의 다른 글

[WEB_SERVER] 1. Router(공유기)  (1) 2022.09.23