DOing
[WEB] 공유기 (Private IP, NAT) 본문
인터넷 위에 있는 컴퓨터간의 통신을 위해서는 IP주소가 필요하다.
그래서 1980년에 IPv4를만들었다.
0.0.0.0~255,255,255,255 약 42억개의 주소를 표현할 수 있었다.
하지만 스마트폰, web, IoT가 등장하면서 인터넷에 연결되는 컴퓨터가 기하급수적으로 증가했고
2011년 2월 4일부터 42억개의 IPv4주소가 모두 소진되어 IPv4의 할당이 중지되었다.
대신 IPv6라는 새로운 주소체계를 만들었다.
하지만 주소체계를 바꾸는 일은 쉽지 않기때문에 당분간의 IPv4를 아껴써야했다.
그 방법 중 하나가 공유기다.
[ 공유기 ]
Home Router. 라우터의 많은 기능들 중 NAT기능을 특화시켜 가정용으로 사용되는 소용량 라우터이다.
ISP에서 할당해주는 하나의 IP를 이용하여 여러대의 컴퓨터가 인터넷을 접속할 수 있도록 해준다.
인터넷을 사용하기 위해서는 컴퓨터가 IP address가 필요하다. 집에서 사용하는 스마트폰, 컴퓨터, 노트북은 모두 IP가 필요하다. ISP에서 각각의 기기에 IP를 부여 하는 방법도 있겠지만 이는 비싸고, IP주소 낭비이다. 때문에 ISP(통신사)와는 하나의 회선을 계약하고 공유기를 이용해서 같은 IP주소를 공유해서 쓴다. 그럼 이제 공유기는 두 개의 네트워크에 속한다. ISP와 공유기의 네트워크인 LAN, 공유기와 집 내부의 기기들의 네트워크인 WAN으로 나눈다.
* LAN : Local Area Network
* WAN : Wide Area Network
[ Private IP ]
WAN 주소는 전세계에 있는 누구나 접속할 수 있다는 의미에서 public IP address라고 한다.
LAN 주소는 지역 네트워크 안에서만 사용가능한 ip주소는 private IP address라고 한다.
집 내부에 있는 스마트폰, 컴퓨터, 노트북은 모두 IP를 부여 받는다. LAN에 소속되어있는 기기 뿐만아니라 공유기도 LAN의 일부이기 때문에 IP가 부여된다. 공유기 부여된 내부 네트워크상 IP는 Gatewary address / Router address라고 부른다.
42억개의 IPv4주소중에서 다음 표안에 속하는 주소는 private IP address로 쓰기로 전세계적으로 약속했다.
10.0.0.0~10.255.255.255 | 16,777,216개 |
172.16.0.0~172.31.255.255 | 1,048,576개 |
192.168.0.0~192.168.255.255 | 65,536개 |
만약 거대한 네트워크를 구축한다고하면 10.0.0.0~10.255.255.255라는 주소체계를 쓰고
작은 네트워크를 구축한다면 192.168.0.0~192.168.255.255 사용한다.
public IP adress는 네이버에 나의 아이피 찾기를 검색해서 알아낼 수 있다.
private IP adress는 cmd창에 ipconfig 명령어를 입력하면 알아낼 수 있다.(윈도우 기준)
[ NAT ]
IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자등을 바꿔 재기록하면서 네트워크 트래픽을 주고 받는 기술
Network Address Translation
공유기를 쓰고 있는 개인 컴퓨터의 IP주소는 private IP이다.
즉, 외부에서는 접근할 수 없는 IP이다. 대신 공유기가 이들 사이에서 주소를 바꿔가며 전달해준다.
1. 개인 컴퓨터가 구글의 ip인 172.217.27.78에 요청을 한다.
2. 공유기(gateway)가 해당 요청 패킷을 받고 판단한다.
"내부 네트워크는 아니군,, WAN을 통해 외부로 보내자" 이때 공유기는 두가지 일을 한다.
1) 공유기 내부에 192.168.0.4가 요청을 보냈다라고 기록한다.
2) private ip주소를 public ip주소로 변경한다.
192.168.0.4는 외부에서는 접속을 못하는 주소이기 때문에 192.168.0.4를 59.6.66.238이라고 바꾸고 변경된 패킷을 구글에게 보낸다.
3. 구글이 요청을 처리한다음에 59.6.66.238으로 응답한다.
4. 공유기는 두가지 일을 한다.
1) 기록을 보고 응답받은 정보가 192.168.0.4이 요청했었던 정보임을 안다.
2) 목적지를 private ip주소(192.168.0.4)로 변경한다.
참고 출처 :
ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EC%A3%BC%EC%86%8C_%EB%B3%80%ED%99%98
'WEB' 카테고리의 다른 글
[WEB] JAR vs WAR 그리고 스프링 부트 (0) | 2021.04.19 |
---|---|
[WEB] Dyanmic IP와 DHCP (0) | 2021.04.14 |
[WEB] 웹 호스팅, 서버 호스팅, 클라우드 (0) | 2021.04.14 |
[WEB] Internet VS Web (0) | 2021.04.12 |
[WEB] Port와 Port Forwarding (0) | 2021.04.12 |