[네트워크]
NAT랑 포트 포워딩
서버를 구성할 때 NAT랑 포트 포워딩이 필요해서 작성하는 글입니다.
공부한 내용을 작성한 것이어서 빠진 내용과 부족한 부분이 있으면 알려주세요~
NAT는 Network Address Translation의 약자로 1개의 공인 IP 주소를 여러 개의 사설 IP 주소에 매핑하는 1:1 또는 1:다 주소 변환을 하는 방식입니다.
[ NAT를 사용하는 이유 ]
1. IPv4 주소의 부족
2. 공인 IP 주소 사용 시 ISP(KT, SK Broadband, LG U+ 등) 회사를 바꿀 때마다, 모든 컴퓨터 주소를 바꾸어야 하는 단점 해소
3. 내부 사설망 보안
- 주소변환 규칙을 외부에서 알 수 없기 때문에 내부 정보가 외부에 노출이 되지 않음
- 외부망과 사설망간 연결점이 있는 라우터에서 수행됨.
[ NAT 방식 ]
1. 기본 NAT 방식 (IP 주소 변환만 수행함)
1) 정적 NAT - 1:1 매칭, 수동으로 외부 IP → 사설 IP
2) 동적 NAT - 1:다 매칭, 사설 IP pool에서 공인 주소로 자동 매핑 (임의로 매핑)
2. NAPT(Network Address Port Translation) 또는 PAT (Port Address Translation)방식
- IP주소뿐만이 아니라 포트번호까지 포함하여 내부 호스트를 구분
- 기존 NAT 방식은 공인 IP → 사설 IP 주소로만 변경해 주었으나,
- NAPT 또는 PAT 방식은 여러 내부 호스트 주소 및 포트를 연결 가능(IP Masquerading)
- 프로토콜, 응용마다 NAT 구현이 달라짐
- 호스트들은 고정된 포트가 아니기 때문에, 내부에서 외부로 통신을 할 수 있으나, 외부에서 내부로 통신이 불가
[ 포트 포워딩 ]
어떤 포트를 통해 흘러가는 데이터를 다른 포트로 전달시키는 기능
4계층(전송계층)에서 내부망의 여러 호스트들을 외부망과 각각 별도로 연결시킬 수 있음.
- [내부망 IP(사설IP), 포트번호] ---- [공인IP, 포트주소] 로 매핑(해당 매핑 관계가 계속 유지 됨.)
* NAT는 매핑이 임의로 되어 외부에서 접속 시 몇번 포트로 매핑되어 있는지 모름.
- 서비스 포트 번호 별로 내부 사설 IP로 지정된 호스트로 전달
- 고정된 포트를 사용하기 때문에 내부와 외부 서로 통신이 가능
출처 :
정보통신기술용어해설, NAT, http://www.ktword.co.kr/test/view/view.php?m_temp1=1676&id=426
정보통신기술용어해설, 포트 포워딩, http://www.ktword.co.kr/test/view/view.php?m_temp1=686&id=816
이미지 출처 :
영문 위키피디아, Port forwading, https://en.wikipedia.org/wiki/Port_forwarding
영문 위키피티아, Network address translation (NAT), https://en.wikipedia.org/wiki/Network_address_translation