일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- HTTP
- 배포
- Container
- 스프링 배치
- spring batch
- spring boot
- JPA
- 데이터베이스
- 컨테이너
- 스프링 시큐리티
- computer science
- Spring Security
- 자바
- 웹 서버
- vm
- web server
- CI/CD
- 스프링 부트
- mysql
- 백엔드
- ORM
- Java
- virtualization
- 영속성 컨텍스트
- 가상화
- 도커
- spring cloud
- Spring
- CS
- 스프링
- Today
- Total
개발 일기
[Computer Network] Public IP와 Private IP 본문
[Computer Network] Public IP와 Private IP
개발 일기장 주인 2024. 6. 25. 06:33이전 글에서 알 수 있듯이 현재 한국이 사용 중인 IPv4는 사용가능한 IP 갯수가 43억개이지만, 세계 인구 수가 79억으로 43억개를 훌 쩍 넘었고 사람마다 가지고 있는 전자기기가 점점 많아지고, 인터넷 수요가 늘어나면서 IPv4 주소가 부족한 문제를 겪고 있다. IPv4의 문제점을 보완한 IPv6가 나오긴 했지만 보통은 기존의 주소체계에서 IPv6로 변경하기엔 천문학적인 비용이 들기 때문에 아직 IPv4를 사용한다. 그러나 중국은 IPv4를 폐지하고 IPv6도입을 추진 중에 있다.
IPv4 주소 부족의 문제를 해결하는 방법들 중 하나인 사설(private) IP가 있다.
공인 IP ( Public IP )
공인 아이피는 공용 IP주소라고도 불리며 외부에 공개되어 있는 IP 주소이다.
( 이름 그대로 신뢰할 수 있는 기관으로부터 공인받은 주소. )
공인 IP 주소가 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 PC로 부터 접근이 가능하다.
이 때문에 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램을 설치 해야 안전하다.
구글이나 네이버에 내 IP 주회를 통해서 현재 내가 사용 중인 Public IP를 조회 가능하다.
공인 IP를 발급받아 우리가 인터넷을 사용하는 과정.
- 전세계적으로 ICANN이라는 기관이 국가별로 사용할 IP 대역을 관리합니다.
- 우리 나라가 사용할 수 있는 IP를 인터넷 진흥원(KISA)에서 받고 주소를 관리합니다.
: 임의로 아무 IP 주소나 내 컴퓨터에 지정한다고 인터넷이 되는 것이 아니라 할당 받은 주소를 부여해야만 인터넷에 접속가능하다. - 인터넷 진흥원KISA에서 관리하는 IP주소를 ISP (인터넷 서비스 공급자 : KT, LG, SKT와 같이 인터넷을 제공하는 통신업체 )가 부여받는다.
- 우리는 그 통신사들 중 하나에 가입해 IP를 제공받아 인터넷을 사용하는 것이다.
사설 IP ( Private IP )
점차 인터넷 주소가 많이 소비됨에 따라 IPv4 주소 부족의 문제를 해결하고자, 하나의 제한적인 공인 IP에 사설망을 구성해 각기 다른 주소로 할당할 수 있도록 만들어졌다.( 일반 가정이나 회사 내 등에 사용할 목적으로 할당된 IP주소 )
사설 IP는 보통 내 컴퓨터에서 사용하는 로컬 IP라고 불립니다.
사설 IP는 외부에서 직접 접근할 수 없어 보안이 용이합니다.

사설 IP 주소만으로는 인터넷에 직접 연결할 수 없다.
라우터를 통해 1개의 공인(Public) IP만 할당하고, 라우터에 연결된 개인 PC는 사설(Private) IP를 각각 할당 받아 인터넷에 접속할 수 있게 되는 것이다.
예를 들어, 공유기를 사용한 인터넷 접속 환경일 경우 공유기까지는 공인 IP 할당을 하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당한다. 가정이나, 소규모 사무공간에서 공유기 / 라우터 등의 장비가 하나의 공인 IP를 할당 받고 NAT방식을 통해 여러 컴퓨터가 나누어 쓰는 방식으로 사용될 때 주로 사용되며, 사설IP 주소는 다음 3가지 주소대역으로 고정된다.( Class B, Class C를 주로 사용 )
지정된 사설 IP 범위는 딱 Private IP 용도로만 쓰이게 된다.
원래는 장치에서 사설 IP를 설정하지만 DHCP를 통해 장치가 연결된 라우터에서 사용하지 않는 주소를 자동으로 부여해줄 수 있다.
NAT란?
Network Address Translation의 약자로 하나의 공인 ip를 여러 개의 사설 ip로 변환하는 시스템
내 IP 조회를 통해 IP를 조회하면 Public IP가 XXX.133.146.1XX임을 확인할 수 있었지만
내 아이피 확인 (My ip address) - ip.pe.kr
27.0.238.116 당신의 공인 아이피 주소는 위와 같습니다. 접속하신 국가는 대한민국 (KR) 입니다. 자세히 알아보기 서버를 이전 했습니다! NEW -->
ip.pe.kr
ifconfig를 통해 Private IP를 조회한 결과
로 다른 것을 확인할 수 있었다.
공인 IP 와 사설 IP의 차이점
공인 IP | 사설 IP | |
할당 주체 | ISP(인터넷 서비스 공급자) | 라우터(공유기) |
할당 대상 | 개인 또는 회사의 서버(라우터) | 개인 또는 회사의 기기 |
고유성 | 인터넷 상에서 유일한 주소 | 하나의 네트워크 안에서 유일 |
공개 여부 | 내/외부 접근 가능. | 외부 접근 불가능 |
즉, 공인 IP는 전 세계에서 유일하지만, 사설 IP는 하나의 네트워크 안에서 유일하고
공인 IP는 외부, 내부 상관없이 해당 IP에 접속할 수 있으나, 사설 IP는 내부에서만 접근이 가능합니다.
예시
가정해봅시다. 내 휴대폰의 사설 IP는 192.168.1.2이고, B라는 공인 IP는 203.0.113.1입니다. 라우터 설정에서 포트 8080을 192.168.1.2의 포트 80으로 포워딩하도록 설정했습니다.
외부의 A는 203.0.113.1:8080으로 요청을 보냅니다. 라우터는 이 요청을 받아 NAT 테이블을 참조합니다. NAT 테이블에서 8080 포트 요청이 192.168.1.2:80으로 포워딩되도록 설정된 것을 확인합니다. 라우터는 요청을 192.168.1.2:80으로 전달합니다. 내 휴대폰(192.168.1.2)은 이 요청을 받고 처리한 후 응답을 보냅니다. 라우터는 응답을 받아 NAT 테이블을 참조하여, 응답을 A로 전달합니다.
고정 IP와 유동 IP
고정 IP
컴퓨터에 고정적으로 부여된 공인 IP로 한번 부여되면 IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 IP 주소를 말한다.
인터넷 사이트를 운영할 때, 고정 IP를 사용하며, 이때 고정 IP를 사용하지 않으면, 외부에 알려진 IP가 자칫 다른 사이트에서 사용될 수 있다. 한번 부여되면 IP 반납을 하기 전까지는 다른 장비에 부여할 수 없는 고유의 IP로 보안성이 우수하기 때문에 보안이 필요한 업체나 기관에서 사용한다.
유동 IP
장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아 있는 IP 중에서 돌아가면서 부여하는 IP를 뜻합니다. ( 대부분의 사용자는 유동 IP를 사용)
기기에 고정적으로 IP를 부여하지 않고 IP 갱신주기가 되었을 때 기기를 껐다가 키면 ISP(인터넷 서비스 공급자)에서 남아 있는 IP를 골라 기기에 IP를 할당해준다.
유동 IP를 사용하는 이유는 IPv4에서 사용가능한 43억개의 IP 중에 1억이 조금 넘는 IP가 한국에 할당되어 있고 이것을 ISP(Internet Service Provider)들이 인터넷 사용 주체들에게 나눠주는데 서버의 경우 IP가 계쏙 바뀌면 곤란해서 고정 IP를 사용하지만 비싸고 일반 가정이나 기기들에는 주기적으로 IP들을 회수해서 인터넷을 사용 중인 곳에만 분배해준다.
즉, 인터넷을 사용하는 기기가 꺼져있는데도 IP를 할당받고 있으면, IP가 부족할 경우 IP를 필요로하는 사용자에게 제공해줄 수 없으니까 기기가 켜져있을 땐 IP를 유지해주지만 종료하면 IP를 수거해 다른 사용자에게 재 할당해 주는 것이다.
'Computer Science > Computer Network' 카테고리의 다른 글
[Computer Network] NAT & CIDR (0) | 2024.07.07 |
---|---|
[Computer Network] 서브넷, 서브넷 마스크, 서브네팅 (0) | 2024.06.28 |
[Computer Network] IPv4와 IPv6 (0) | 2024.06.25 |
[HTTP] HTTP METHOD PUT과 PATCH 차이 (0) | 2024.05.30 |
[HTTP] REST API란? (0) | 2024.05.30 |