<목차>
1. IP 주소란?
2. IP 주소 구성 및 확인 방법
3. IPv4 형식이란?
4. 공인 IP 와 사설 IP란?
5. 고정 IP 와 유동 IP란?
1. IP 주소란?
IP주소란 Internet Protocol Address로 사전적인 의미는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호라고 나와있습니다.
다시 말해 IP주소는 로컬 컴퓨터가 가지는 고유한 전화번호와 같습니다.
예를 들어보면 뉴스를 보면 사이버 수사과정에서 ip를 추적해서 범인을 잡는 경우를 생각해볼 수 있습니다.
정확하게는 컴퓨터 자체의 식별번호라기 보다는 컴퓨터가 연결된 네트워크의 끝단 주소를 의미합니다.
이는 내가 사용하는 컴퓨터의 IP가 바뀔수도 있다는 것을 의미합니다.
2. IP 주소 구성 및 확인 방법
먼저 IP주소가 어떤 형식으로 구성되었는지 살펴보겠습니다.
<각자의 IP주소 확인하는 법>
윈도우에서는 터미널창에 'ipconfig'
맥에서는 터미널창에 'ifconfig'
라고 검색해보시면 '000.000.000.000' 형태의 주소를 확인할 수 있습니다.
각각의 자리에는 0~255사이의 숫자들이 들어갑니다.
3. IPv4 형식이란?
이런 IP를 IPv4 형식이라고 합니다.
IP로서 처음 대중화된 규약인데 아직까지도 사용이 되고 있는 형식입니다.
하지만 이런 IPv4형식에 문제점이 있습니다.
위에서 말씀드린대로 IP주소는 0~255사이의 숫자 4개로 구성되어있습니다.
바꿔 말하면, 현재 방식으로 구현할 수 있는 IP주소의 총 갯수는 256 ^ 4(256의 4승)개 입니다.
계산해보면 대략 43억개(정확히는 4,294,967,296개)의 주소가 나옵니다.
현재 전세계 인구는 2022년 3월 20일 08시 10분 기준으로 79억명 정도로 추산되고 있습니다.
(출처 : https://ko.wikipedia.org/wiki/세계_인구)
산술적으로도 부족하지만, 우리가 데스크탑/ 노트북/ 스마트폰만해도 한명이 세개를 사용하는 셈이 되기 때문에
이를 감당하기에는 턱없이 부족한 숫자인 것입니다.
4. 공인 IP 와 사설 IP란?
이런 문제를 해결하기 위해 IP는 공인 IP와 사설 IP로 나눠집니다.
예를 들어보면 우리의 주소체계로 이해해볼수 있습니다.
조금더 생각해보면 아래와 같은 방식으로 생각해볼 수 있습니다.
하나의 공통된 공인 IP로 묶어서 그 안에서만 안겹치는 사설 IP를 각각 주면 한정된 IP로도 부족하지 않게 나눠줄 수 있습니다.
내 컴퓨터의 공인IP를 알아보려면 아래와 같이 'my ip'라고 검색하면 알아볼 수 있습니다.
여기서 알아야할 점은 사설 IP를 사용하는 컴퓨터에서 공인 IP를 쓰는 서버등의 다른 컴퓨터로는 접근이 가능하지만,
다른 컴퓨터에서 사설 IP를 쓰는 컴퓨터로는 접근하지 못한다는 점입니다.
그래서 웹서비스를 하는 서버들은 절대 고유한 IP를 가져야 정확한 주소로 언제든지 누구든지 접근이 가능하기 때문에
공인 IP를 가지고 있습니다.
하지만 사설IP에도 접근이 가능하게 하는 방법은 크게 두가지가 있습니다.
첫째, 많이 사용하는 방법으로는 내부 IP를 포트로 연결하는 '포트 포워딩'방법입니다.
공유기 설정으로 공인 IP에 포트들을 개방해서 내부에 사설 IP마다 하나씩 연결할 수 있습니다.
이렇게 되면 '공인 IP : 연결된 포트번호' 를 통해서 외부에서도 내 컴퓨터에 접근할 수 있습니다.
둘째, DMZ방법입니다.
이것은 공인 IP의 모든 포트를 내부의 특정 사설 IP에 몰아주는 방식입니다.
하지만 이 방법은 모든 포트를 개방하는 것이라서 보안상의 위험이 있기때문에 권장되는 방식은 아닙니다.
5. 고정 IP 와 유동 IP란?
또한 IP는 기준에 따라 고정 IP와 유동 IP로도 나누어집니다.
(총 4종류의 IP 형태가 나올수 있는 것입니다!!)
이렇게 다른 방식으로 나누어지는 이유도 사설/공인 으로 나누어진 이유와 비슷합니다.
바로 활용할 수 있는 IP에 제한이 있기 때문입니다.
IPv4방식의 IP 43억개 중에서 1억이 조금 넘는 갯수가 대한민국에 할당되어 있는데,
서버의 경우, IP가 계속 바뀌면 곤란하기 때문에 바뀌지 않지만 값이 비싼 고정 IP를 사용합니다.
일반 가정의 경우, 주기적으로 안쓰고 있는 IP를 회수해서 인터넷을 사용중인 곳에만 나눠주는 유동 IP방식을 사용합니다.
그렇다면 위에서 개인 가정집에서 웹서비스를 만들려고 하는데 기껏 포트포워딩으로 사설 IP에 서버 구축해봤자
유동 IP로 인해서 IP주소가 바뀌어버리면 '접근을 다시 못하는 것이 아닐까?' 하는 의문이 생깁니다.
이를 해결하기 위해서는 추가적인 조치가 필요한데, 'DDNS(Dynamic DNS)'가 바로 그것입니다.
여기서 DNS를 간단하게 설명하자면 IP를 'naver.com' 과 같은 도메인과 연결해주는 것입니다.
우리가 'www.naver.com'이라는 문자를 검색했을때 거기에 해당하는 IP로 찾아가게끔 연결해주는 것입니다.
다시 돌아와서 DDNS는 수시로 바뀌는 유동 IP를 감지해서 고정된 도메인에 연결시켜주는 동적 DNS입니다.
이것을 사용하여 개인적으로 구축한 서버에서도 IP가 유동적으로 바뀌더라도 서비스를 제공할수 있습니다.
이것으로 IP에 대해 설명드렸습니다.
궁금하신 사항이나 지적은 댓글로 환영합니다!
긴글 읽어주셔서 감사합니다! :)
오늘도 즐코하세요!!
'Web' 카테고리의 다른 글
javaScript Coupling Decoupling 디자인 패턴 / 객체간 의존성 결합도 (0) | 2022.04.03 |
---|---|
DNS는 뭔가요? DNS / 도메인에 관한 설명 정리 (0) | 2022.04.01 |
REST API / RESTful API 간단 요약 정리 (0) | 2022.03.16 |
JWT(Json Web Token)란? (0) | 2022.03.13 |
[토이프로젝트] 웹사이트 로고 (0) | 2022.03.01 |