IT/HTML, CSS, JS

[비전공자를 위한 IT지식] NAT 란?

insight_knowledge 2020. 5. 10. 22:13
728x90
반응형

안녕하세요 비전공자를 위해 IT용어들에 대해 짤막하게 개념적인 부분만 명확히 이해할 수 있게 풀어 설명해주는 지식마블입니다. 


IT용어들을 왜 우리는 알아야할까요? 이미 우리의 삶에 IT가 녹아져 있어 뗄래야 뗄 수 없는 관계이며, 

IT에 대한 기본적인 지식들이 이제는 상식 또는 교양지식이 되어버려, 여러 뉴스나 글들에서 IT용어들을 사용하여 설명하는 경우가 많아져, 이 용어의 개념을 모른다면, 문맥을 이해하지 못하는 상황이 생겨버리기 때문입니다. 


오늘의 주제 NAT에 대해 설명드리겠습니다. 


컴퓨터 사용하시다가 네트워크 설정부분에 혹시 들어가보신 적이 있나요?


그 때 NAT란 것을 보신 적이 있을 겁니다. 


# NAT??? 뭥미??? 


NAT는 Network Address Translation의 약자로, 네트워크 주소 변환 을 이야기합니다. 


그래서 이게 뭐냐구요?


우리가 인터넷을 쓸때에는 공적인 영역(공인 네트워크)과 사적인 영역(사설 네트워크)을 나누어서 쓰게 되는데, 

그 공적인 영역과 사적인 영역의 경계에서 인터넷 주소를 주고 받으면서 네트워크 트래픽을 주고 받게 되는데, 바로 그 역할을 해주는 것이 NAT입니다. 

* 인터넷 주소가 뭐냐구요? 이 글을 참고하세요 -->  인터넷 주소란? 

* 라우터는 또 뭐냐구요? 이 글을 참고하세요 --> 라우터란?

그림으로 보자면 뭐 이런겁니다. 


원래는 각 기기당 IP하나만 받아서 사용하게 되는데, 

여러분들 집에도 인터넷 기사님께서 인터넷 설치하러 오셔서 랜선을 셋톱박스나 여러분들이 가지고 있는, 또는 기사님이 가지고 오신 공유기에 턱~하니 꽂게 되지요. 

그 랜선에 여러분들 가정에 부여된 IP가 있는 겁니다. 


외부의 네트워크에서 여러분들 집에 랜선을 끌어오면서, 이제 여러분 집의 공간은 사설네트워크가 된 것이죠. 

그럼, 여러분들 집에있는 노트북, 아이패드, 휴대폰,  데스크탑 등은 어떻게 인터넷에 접속하죠?

기기당 1개의 아이피만 필요한데, 여러분 집에는 한개의 랜선만 꽂혀져 있어 1개의 IP만 부여받았잖아요?


#NAT를 사용하는 이유

그게 바로 NAT를 이용하는 이유입니다. 

인터넷이 연동되는 기기가 너~~무 많아지면서 IP주소가 전세계적으로 유일하게 할됭되는 것은 불가능해지고 있습니다. 따라서, 

사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속합니다. 

NAT는 IPv4의 주소 부족 문제를 해결하기 위한 방법으로서 고려되었으며, 주로 비공인(사설, local) 네트워크 주소를 사용하는 망에서 외부의 공인망(public, 예를 들면 인터넷)과의 통신을 위해서 네트워크 주소를 변환하는 것입니다. 


#동작원리

NAT는 1:1의 주소 매핑을 수행하기 때문에 NAT라우터로 들어온 inside->outside 패킷(또는 그 반대)만이 주소 전환의 대상이 됩니다. 

즉, IP의 헤더라는 부분을 체크하여 NAT 테이블에 의해 해당 주소로 바꾼다음 checksum ( 클릭--> checksum 이란? )을 다시 계산하여 IP의 헤더를 바꾸는 방법으로 동작하죠. Application layer에서 까지 NAT의 주소 전환이 반영이 되려면 NAT는 IP 주소의 참조내용을 담고 있는 application 데이터 부분을 새로운 주소로 변환해야 합니다. 



#장점

1) 위에서 말했듯이, 인터넷의 공인 IP주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요한데 NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 수 있도록 하여, 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있습니다.

2) 공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있습니다. 이때 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 줍니다. 따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있게 됩니다.


#단점

가장 중요한 단점이라면 end-to-end간의 추적(IP trace)어려워 진다는 것입니다. 

여러 개의 NAT라우터에 의해 multiple NAT가 적용 되었을 경우 경로 추적이 더욱 어려워 지는데 이러한 단점은 반면 헤커가 대상 경로를 추적하기 어렵게 만듦으로써 좀 더 보안성 있는 연결을 하게 된다고 볼 수도 있겠습니다.

또한 NAT 라우터를 거치는 모든 패킷을 scan하므로 switching path delay가 커지게 됩니다. NAT는 IP주소를 이용하는 몇 몇 application을 동작하지 못하게 할 수도 있는데 이러한 경우 static NAT를 이용하여 해결이 가능한 경우도 있습니다. 



이해안되시는 부분들도 많겠으나, NAT가 대충 무슨 역할을 하는거다 라는 것과 사용하는 이유 정도만 알고 넘어가시면 되겠습니다. 


좀 더 자세히 알고 싶으신 분은, 

다른 블로거의 글인 https://5kyc1ad.tistory.com/254  에 잘 나와있으니, 이 글 참고하시면 되겠습니다. 


그럼 도움되셨길 바라며~ 빠이~!











728x90
반응형

'IT > HTML, CSS, JS' 카테고리의 다른 글

atom 전체화면 맥북 단축키  (0) 2020.11.21
[mac작업] mysql 설치 방법  (0) 2020.05.19
소스코드(원시코드)와 목적코드  (0) 2020.03.16
CISA domain 3 정리  (0) 2020.03.15
기능점수분석법(Function Point Analysis) 란?  (0) 2020.03.14