IP란?
- Internet Protocol의 약자
- 인터넷에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜
- 현재 IP는 32비트 체계를 사용 ⇒ 약 40억 개의 주소 표현 가능
192.168.0.1
과 같은 형태의 주소
웹 사이트에 접속할 때
- 실제로 웹 사이트에 접속할 때 IP 주소를 이용해서 통신함
- 네이버에 접속할 때, 우리가 모르는 사이에 DNS Server와 통신함으로써 IP 주소를 얻어냄
- DNS Server: 국가적으로 운영 ⇒ 우리가 관여할 필요 없음
IPv4
- 흔히 사용하는 IP 주소 체계
- 일반적인 의미의 IP
- 가장 큰 단점은 오직 32비트만을 사용함
- 공인 IP 주소 40억 개로는 현재 전 세계의 모든 컴퓨터를 처리할 수 없음
- 이를 해결하기 위해 IPv6이라는 새로운 주소 체계가 등장함
IP의 분류
공인 IP
- 세계에서 단 하나만 존재하는 IP 주소
- 고정 IP 또는 유동 IP
사설 IP
- 공유기를 이용해 만들 수 있는 가상의 IP 주소(= 공유기로 연결된 내부망에 적용되는 가상의 주소)
- 공인 IP만으로는 부족하기 때문(∵ 40억 개의 주소)
- 고정 IP 또는 유동 IP
- 컴퓨터가 다른 컴퓨터와 통신한다 하더라도, 라우터가 가지고 있는 공인 IP를 거쳐야 함
- 즉, 외부에서 사설 IP를 사용하는 컴퓨터에 접속한다 하더라도 반드시 공인 IP를 거쳐야 함
- 사설 IP는 겹칠 수 있음(⇔ 공인 IP는 겹치지 않음)
- ex) H1 → H4
- H1:
10.0.1.2
→ R1: 128.195.4.119
→ Internet → R2: 128.143.71.112.3
→ H4: 10.0.1.3
- 하나의 연결을 할 때도 수많은 라우터들을 거쳐야 함 ⇒ 한 번에 사설 IP에 접근할 수 있는 방법은 없음
고정 IP
유동 IP
공인 IP가 반드시 필요할 때
네이버의 IP로 통신하려고 할 때, IP가 주기적으로 변동되는 유동 사설 IP라고 가정하자.
IP 주소가 변경되었기 때문에, 이전에 접속하던 IP 주소로 접속하려고 하면 오류가 발생한다. 따라서 '서버' 역할을 하는 컴퓨터는 반드시 고유한 주소가 필요하다는 것을 알 수 있다.
그렇다면 유동 IP인 경우에는 서버 구축이 불가능할까?
답은 No, DDNS(dynamic DNS)를 사용하면 된다. DDNS는 사용자가 도메인 주소로 해당 서버에 접근할 때 사용할 수 있다.
- ex)
www.naver.com
으로 접속 ⇒ 컴퓨터가 DNS Server에 접속 ⇒ DNS Server가 실시간으로 바뀐 IP 주소를 가지고 있으므로 접속하는 사람은 아무런 문제가 없음
- 그러나, 서버를 구축할 때는 웬만해서 고정 IP로 하는 것이 좋음
유동 IP의 변경 방식
- 공유기 연결:
121.129.87.55
라는 아이피 받음
- PC 바로 연결:
168.126.35.122
라는 아이피 받음
- 왜 다를까??
- MAC 주소를 토대로 IP를 할당하는 유동 IP의 특성 때문
- 공유기와 PC는 MAC 주소가 다름 ⇒ 장치를 변경하면 다른 유동 IP로 새로 할당해 줌
MAC 주소
- 모든 컴퓨터 장치마다 고유의 주소를 가지고 있는 것
- 각 컴퓨터마다 가지고 있다는 특성 때문에, 물리적 주소라고 부르기도 함
사설 IP의 단점
- 외부에서 내 컴퓨터를 찾을 수 없음
- 사설 IP는 세계에서 하나만 존재하는 공인 IP 주소가 아님
- 따라서 사설 IP는 내부에서만 의미가 있고, 외부에서는 해당 IP로 접속이 불가능함
- 전화기에 비유해 보자
- 전화번호는 단 1개만 존재함
- 일반적으로 공중전화는 전화를 받을 수 없음(고정 번호 X)
- 클라이언트
- 공중전화에서 전화를 검 ⇒ 전화번호를 갖고 있지 않아도 다른 곳에 전화 가능
- 즉, 공인 IP 주소를 갖고 있지 않아도 서버의 IP 주소를 알면 접속 가능
- 서버
- 공중전화에서 걸려오는 전화를 받아야 함 ⇒ 전화번호가 있어야 다른 곳에서 걸려오는 전화를 받을 수 있음
- 즉, 공인 IP 주소를 갖고 있어야 함
사설 IP로 서버 운영하는 방법
- 포트 포워딩 이용
- 특정 포트로 들어오는 패킷을 내부 컴퓨터로 넘겨주는 것
- 단, 공인 IP가 필수적으로 1개는 있어야 함
- ex) 회사에서 부여받은 공인 IP를
219.214.33.125
라고 가정
- 세 대의 컴퓨터는
192.168.0.2
, 192.168.0.3
, 192.168.0.4
를 사용함
- 이때, 공유기가
219.214.33.125
의 80번 포트로 들어오는 패킷을 192.168.0.3
으로 보냄
- 이렇게 하면
192.168.0.3
컴퓨터를 웹 서버 컴퓨터로 사용할 수 있음
NAT(Network Address Translation)
- 공유기가 하나의 공인 IP를 내부 사설 IP로 나누는 기술
- 장점
- 사설 IP의 사용으로 내부망을 보호하는 역할 수행(공유기 내/외부로 나눔)
- 연결된 PC 관리 쉬움
- 한정된 공인 IP 주소를 사설 IP로 늘림으로써, 수없이 많은 컴퓨터 연결 가능
웹 서버의 운용
하나의 공인 IP에서 2대 이상의 웹 서버를 운용하는 방법이 있을까?
- 웹 서버는 80번이라는 이미 정해진 포트를 사용함
- 내부 호스트
192.168.0.2
와 192.168.0.3
이 둘 다 웹 서버라고 가정할 때, 80번 포트를 192.168.0.2
에 연결했다면??
- 81번 포트를
192.168.0.3
에 연결하면 됨
- 이런 식으로 포트를 다르게 분배하면 한 개의 공인 IP에서 여러 개의 웹 서버 운용이 가능함
IP 대역의 중복
- 아래 사설망의 문제점은?
- 사설 IP의 공통된 대역을 사용하지 않고, 공인 IP에 쓰일 법한 하나의 IP 주소를 사용함
- 만약 동일한 IP 주소가 2개 존재한다면, 내부망에 있는 컴퓨터에 접속하게 됨
- 즉, 사설망 내부에서 공인 IP를 사용한다면 외부에서 접근하지 못한다는 문제점이 발생함
- ex) 205.155.32.30
접속 ⇒ 왼쪽의 컴퓨터(= 내부망에 위치)에 접속함
기타
IP 주소를 어떻게 알 수 있을까?
- cmd 창에
nslookup
을 입력
- ex)
nslookup naver.com
입력
- 결과
인터넷 설치 방법
- ISP(Internet Service Provider)
- 설치하면 일반적으로 유동 IP
가장 쉽게 서버를 구축하는 방법
나의 IP 주소 알아보기
- A 클래스 사설 IP 대역: 10.0.0.0 ~ 10.255.255.255
- B 클래스 사설 IP 대역: 172.16.0.0 ~ 172.31.255.255
- C 클래스 사설 IP 대역: 192.168.0.0 ~ 192.168.255.255
- cmd에
ipconfig
입력
- 결과
참고 자료
아이피 주소(IP Address)의 개념을 자세히 이해해보자 (공인 IP, 사설 IP, 고정 IP, 유동 IP와 서버 구축)