Public IP 와 Private IP 차이
public IP (공인 IP)
인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소
이다. 공용 IP 주소라고도 불리며 외부에 공개되어 있는 IP 주소이다.
- 공인 IP 는 전세계에서 유일한 IP 주소를 갖는다.
- 외부에 공개되어 있기에 인터넷에 연결된 다른 PC 로부터의 접근가능. 따라서, 공인 IP 를 사용하는 경우 방화벽 등의 보안 프로그램을 설치할 필요가 있다.
private IP (사설 IP)
일반 가정이나 회사 내 등에 할당된 네트워크 IP 주소, 로컬 IP, 가상 IP 라고도 한다. IPv4의 주소 부족으로 인해 서브넷팅된 IP이기 떄문에 라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다.
사설 IP 주소 대역
3가지 주소 대역으로 고정
- Class A : 10.0.0.0 ~ 10.255.255.255
- Class B : 172.16.0.0 ~ 172.31.255.255
- Class C : 192.168.0.0 ~ 192.168.255.255
차이점
| Public IP | Private IP |
---|
할당 주체 | IPS (인터넷 서비스 공급자) | 라우터(공유기) |
할당 대상 | 개인 또는 회사의 서버 (라우터) | 개인 또는 회사의 기기 |
고유성 | 인터넷 상의 유일한 주소 | 하나의 네트워크 안에서 유일 |
공개 여부 | 내/외부 접근 가능 | 외부 접근 불가능 |
라우터는 중간에서 public IP 와 private IP 변경해주면서 데이터를 전송해 준다.
터미널 nslookup 결과값
nslookup
nslookup
은 name server 관련한 조회를 할 수 있으며, 도메인 이름 서버(DNS)에서 도메인 이름에 해당하는 IP 주소를 찾는 명령어입니다.
코드스테이츠 기본 nslookup 결과값
나타내어지는 정보는 다음과 같다
- 이름 : 검색된 호스트 또는 도메인의 이름
- 검색된 호스트 IP 주소 : 검색된 호스트 또는 도메인의 IP 주소
- 유형 : DNS 레코드 유형, (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT 등)
- DNS 레코드 : 도메인 이름과 관련된 정보를 저장하는 데이터베이스 레코드
- TTL : Time To Live 약자, DNS 레코드의 TTL 값을 나타낸다. 레코드가 캐시 될 수 있는 시간을 의미하며, 이 시간이 지나면 DNS 서버는 레코드를 다시 가져와야 한다.
- 서버 : 쿼리를 보낸 DNS 서버의 이름을 나타낸다.
- 로컬 컴퓨터의 DNS 서버 IP 주소 : 쿼리를 보낸 DNS 서버의 IP 주소
nslookup 정밀 모드 사용하여 코드스테이츠 도메인 검색
nslookup
set debug
도메인 이름
DNS
- 웹 사이트에서는 외우기 어려운 IP 주소 대신 도메인 이름을 사용한다.
- 도메인 이름을 실제 네트워크 상에서 사용하는 IP 주소로 바꾸고 해당 주소로 접속하는 과정이 필요
- 이러한 과정, 전체 시스템을 DNS(Domain Name System) 라고 한다.
- 시스템은 전세계적으로 약속된 규칙을 공유
- 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는
권한
을 부여한다.
- DNS 는 이처럼 상위 기관과 하위 기관 같은 계층 구조를 가지는 분산 데이터베이스 구조이다.
DNS 구성 요소
- 도메인 네임 스페이스 (Domain Name Space)
- 도메인 주소 구조
- 주소 영역을
.
으로 구분 → 라벨 (Lavel)
- 하나의 라벨 : 최대 63개의 문자 (64byte) 사용 가능
- 대소문자 구분 없이
알파벳
, -
만 가능(ASCII 로 표현)
- 전체 도메인 주소 최대 크기 : 255 개의 문자 (255byte)
- 주소 해석은 오른쪽 부터
- 최상위 주소는 항상 가장 오른쪽에 있는
.(root)
- 도메인 네임 스페이스에 포함되는 각각의 노드들
- 루트 도메인
- 최상위 도메인 (Top Level Domain = TLD)
- 국가 코드 최상위 도메인(ccTLD : country code TLD)
- 일반 최상위 도메인 (gTLD : global TLD)
- ARPA : 역방향 조회 시 사용되는 최상위 도메인
- 2차 도메인 (Second Level Domain, Sub Domain)
- TLD 하위에서 관리되는 서브 도메인
- 국가 도메인 하위에 기관 유형에 따른 분류
.co (일반회사)
, .ac (교욱기관)
, .go (정부기관)
등
- 서브 도메인 (Sub Domain)
- 상위 도메인에 소속되는 각 기관 또는 회사별 도메인
- 하위 노드는 무한정 만들 수 있다. 문자수에는 제한 (255byte)
- 도메인 → IP 주소 (정방향 조회)
- IP 주소 → 도메인 주소 (역방향 조회)
- 특수한 상황 (PTR/SPF 레코드를 이용한 스팸메일 필터링)
- 네임 서버 (Name Server)
- 도메인 → IP 주소 : 네임 서비스 (Name Service)
- Resolver (해석기) 로부터 요청받은 도메인 이름에 대한 IP 주소를 다시 Resolver (해석기) 로 전달해주는 역할을 수행
- Primary, Secondary 서버로 구분된다.
- Primary : 도메인을 관리하는 주 네임서버
- Secondary : 주 네임 서버가 고장 등으로 서비스 실패 시 네임 서버 역할 수행
- 리졸버 (Resolver)
- DNS 요청을 네임 서버로 전달하고, 네임 서버로부터 정보를 받아 클라이언트에게 제공하는 기능 제공
검색시 일어나는 일
DNS 동작 과정
- Local DNS 에
[http://google.com](http://google.com)
라는 hostname 에 대한 IP 주소를 요청한다. Local DNS 에 도메인에 대한 IP 주소가 있는 경우 바로 응답한다.
- 없다면 다른 DNS 서버와 통신을 시작한다. 차례대로 최상위 Root DNS 서버에 질의 (DNS Query)
.com
을 관리하는 DNS 서버를 응답해준다.
- Local DNS 는
.com
을 관리하는 DNS 서버에게 질의
[google.com](http://google.com)
을 관리하는 DNS 서버를 응답해준다.
- Local DNS 는
[google.com](http://google.com)
을 관리하는 DNS 서버에게 질의
[google.com](http://google.com)
에 대한 IP 주소를 응답해준다.
- Local DNS 는
[http://google.com](http://google.com)
에 대하여 IP 주소를 캐싱하고 클라이언트에 IP 주소를 알려준다.
출처
https://hanamon.kr/dns란-도메인-네임-시스템-개념부터-작동-방식까지/
https://itsandtravels.blogspot.com/2018/11/dnsdomain-name-system-dns.html
https://susoterran.github.io/other/dns/
https://velog.io/@hidaehyunlee/공인Public-사설Private-IP의-차이점
https://m.blog.naver.com/on21life/221364194092
https://www.lesstif.com/system-admin/nslookup-20775988.html
chat-gpt