IP는 42 억개의 주소가 있지만 IOT 등의 혁신 → 인터넷에 연결하는 수가 기하급수적으로 등장 → IP 주소가 부족해짐.
IP 주소 체계를 완전히 바꿀 수 없기 때문에 나온게 공유기임.
공유기를 사용하면 하나의 IP주소를 여러 대의 컴퓨터가 나눠쓸 수 있음.
IP를 아껴쓸 수 있고 개인은 통신비를 절약할 수 있음.
공유기는 전문용어로 라우터라고 합니다.
🔗 가정용 라우터 연결
통신사와 계약해 얻은 케이블을 꼽거나 와이파이를 연결하면 자동으로 IP가 부여됨
하지만 우리가 연결해야 하는 기기는 여러 개이기 때문에 공유기를 케이블에 연결함.
공유기엔 WAN, LAN이란 케이블이 있음.
통신사와 연결된 건 WAN에 꼽음. 이제 통신사로 부터 발급받은 IP 주소는 공유기것이 됨.
우리가 가진 개별 장치는 LAN에 꼽거나 공유기에 있는 무선으로 와이파이를 연결함.
광역 네트워크로 통신사에서 부여받은 케이블 꽂는 부분을 WAN(Wide Area Network), 지역 네트워크로 각각의 기기를 연결하는 네트워크를 LAN(Local Area Network)이라 함.
공유기는 LAN과 WAN 네트워크 사이 중개자임.
공유기의 네트워크를 부여받은 기기는 각자의 IP주소를 갖고 있으며 공유기 자체 또한 IP주소를 갖고있음.
공유기의 부여된 IP는 특수한 중요하기 때문에 Gateway Address(=Router Address)라고 따로 명칭함.
외부에서 사용하는 것이 공인 IP, 내부에서는 사설 IP를 사용하는 것임.
💡
잠깐 IP에 대하여
42억개 중 다음을 사설 IP로 쓰기로 약속함. 이 범위에 속하지 않으면 public ip.
공인 IP는 2000년대 폭발적인 보급으로 인해 거의 고갈된 상황.
cmd에 inconfig를 치면 사설 IP 주소 확인 가능. Ipv4 주소는 PC의 사설 IP, 기본 게이트웨이는 공유기의 사설 IP임. 참고로 네이버에 내 아아피를 치면 공인 IP 주소가 나옴.
➡️ 내부에서 외부로 - NAT
내부에서 외부 서버로 요청을 보내면 어떻게 될까?
Private IP에서 위키피디아로 접속할 때, 두 가지를 처리를 함.
1) '192.168.0.4' iP 컴퓨터 요청을 기록하고,
2) Private IP 자체는 외부 접속이 불가능하기 때문에, NAT(Network Address Translation) 기술이 외부 서버로 변경해 줌(Private IP -> WAN IP -> 외부(위키피디아) 서버).
요청을 받은 외부(위키피디아) 서버는 WAN IP의 1번 기록을 보고, Private IP에게 해당 데이터 값을 줌.
즉 NAT란 여러대의 컴퓨터가 IP 주소를 공유할 수 있게 하기 위한 기술로, 로컬 네트워크 상의 각각의 컴퓨터에 고유 IP 주소를 부여하고, 데이터를 요청한 컴퓨터가 해당하는 데이터를 가져오고, 내보낼 수 있게 조정하는 역할.
⬅️ 외부에서 내부로 - Port forwarding
그렇다면 외부에서 내부로 통신하려면 어떻게 해야할까? 연결된 여러 기기 중 누가 서버일까?
port
많은 서버 중 누구랑 상호작용 할지를 알려줄 때 사용하는 것이 포트 번호임.
HTTP 웹이 쓰는 포트는 80임(Well-known port).
port forwarding
외부에서 접속하게 하기 위해 공유기 IP 주소로 접속하고, 공유기가 개별 기기 IP로 접속하는 것임.
공유기의 몇번 포트에 접속한 정보를 공유기 내의 어떤 아이피의 몇번 포트로 연결해줄 것인지를 공유기에게 알려줘야 함(포트포워딩). ex) 59.6.66.238:8081 → 192.168.0.4:80
즉, 포트포워딩은 라우터로 들어온 포트 번호에 따라 내부 네트워크에 있는 특정 기기의 특정 포트로 요청을 포워딩할 수 있음.
모든 포트를 통째로 포트포워딩 시키는 DMZ라는 기능도 있음.
💰 부족한 IP를 효율적으로 사용하는 방법
Dynamic IP(동적 IP)
KT, SK브로드밴드, LG U+ 등 인터넷 접속 서비스를 제공하는 기업체를'ISP(Inter Service Provider)'라고 함. 우리가 서비스를 신청하면, IP 주소를 부여받는데 모든 집이 서로 다른 IP를 받는다고 가정하면 IP 주소는 턱없이 부족할 것임.
이떄 장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아 있는 IP 중에서 돌아가면서 부여함(유동 IP).
안쓰는 사람걸 쓰는 사람에게 돌려 막으며 거대한 가입자를 관리하는 것임.
이때 ip가 변경되는데 접속을 종료하면, 내가 썼던 IP를 다른 유저에게 할당할 수 있기 때문에 불안정할 수 있다.
Static IP(정적 IP)
P를 독점적으로 제공받아 내 기기에 IP를 고정시키는 것.
동적 IP에 비해 2~3만원 비용 필요.
🤔 IP 바꾸는 방법 - DHCP
어떻게 공유기에 연결하면 자동으로 겹치지 않는 IP가 부여될까?
IP를 직접 지정하는 방법. 현실에선 어렵기때문에 사용되지 않음.
IP를 직접 지정하지 않고 자동으로 가능하게 하기위해 DHCP 서버가 필요함.
공유기는 DHCP 서버 프로그램과 DHCP 클라이언트 프로그램이 내장되어 있음.
1. 공유기에 연결하면 클라이언트가 IP주소를 찾음.
3. 클라이언트가 IP를 사용함. 공유기는 빌려간 IP 정보를 기록함.
2. 공유기는 IP 주소를 할당함. 다른 할당된 기기에 몇 번을 줬는지 기억하기 때문에 겹치지 않음.
4. 클라이언트에 시간을 할당함.
공유기의 부품마다 공장에서 부여하는 고유식별자번호를 통해 DHCP 클라이언트가 서버에 IP주소를 요청하면, 서버는 IP를 임대해줌. 그래서 우리는 통신장치를 네트워크에 연결하는 순간 IP를 자동으로 할당받을 수 있게 됨.
즉 DHCP(Dynamic Host Configuration Protocol)은 네트워크에 접속한 장치의 ip, subnet mask, gateway address, DNS와 같은 정보를 자동으로 설정해주는 기술임.
💡 공유기 장점 요약
공인 IP 낭비를 방지함.
보안이 강화됨.
포트포워딩, DMZ를 하지 않은 일반적인 상황에서 외부에서 내부로 통신이 불가능함.