IP주소란?
IP주소란 Internet Protocol Address 의 약자로
각각의 컴퓨터가 서로 정보를 주고받기위해 주소가 필요한데 이것을 IP주소라고한다. 가운데 protocol은 규칙을 의미한다.IP주소를 이용해서 서버에 접속할 수 있다.
하지만 우리는 네이버나 구글같은 사이트를 들어가기 위해 IP 주소를 입력하고 들어가지는 않는다. 여기서 단점이나온다.
-IP주소의 단점
기억하기가 어렵다. 전화번호처럼 하나하나 다 외우기 어렵다.
-->도메인네임을 이용해서 접속한다.
그러면 도메인네임을 이용해서 서버에 접속하는것은 어떻게 가능할까?
도메인네임을 이용해서 서버에 접속하는 원리.
사실 컴퓨터는 도메인을 이용해서 서버에 접속할 수 없다. 오직 IP주소를 통해서만 접속할 수 있다.
그럼 어떻게 도메인을 이용해서 우리는 접속을 하는걸까?
DNS(Domain Name System)이 서버에 접속할수있게한다.
이것이 작동하는 원리에 대해 간단하게 살펴보자.
client(컴퓨터) ---------(google.com)------------>server(컴퓨터)
의 방식으로 요청하면 우리가 보여지는 화면은 google.com 서버 컴퓨터가 보여주는 html 파일이 보이게된다.
하지만 실제로는
client(컴퓨터)------(google.com)------>(Name Server) -----------------(172.217.174.110)---------->client(컴퓨터)
↓
client(컴퓨터)--------------------(172.217.174.110)---------------->server(google컴퓨터)
↓
server(google컴퓨터)------------------원하는정보 즉 메인화면 ------------>client(컴퓨터)
의작동원리를 가지고 있는것이다.
IP주소를 이용해 서버를 인터넷에 연결해보기.
1.우선 내 IP주소를 알아내자 ( 구글에 myIP를 검색하고 상단에 뜨는 사이트를 들어가면 내 IP주소가 뜬다.)
2. url에다가 내 IP주소를 입력하고 만들어둔 php 파일 이나 다른 파일을 연결한다.
ex)172.217.174.110/index.php
3. 성공 or 실패한다.
성공? 공인 IP이기 때문에 성공했을거다.
실패? 사설 IP이기 때문에 실패했을거다.
사설 IP는 무엇일까?여기서 IP의 한계점을 살펴보자.
IP주소의 한계
우리가 흔히하는 IP주소는 IPv4 이다.
그것은 0.0.0.0 ~ 255.255.255.255 의 범위를 가지고 있으며 경우의 수 는 42억개의 경우의수를 가진다.
42억개.. 많은거 같지만 우리는 스마트폰,노트북,컴퓨터,사물인터넷 등 엄청난 수의 기기들을 가지고있다.
결코 많은 숫자는 아니다.
이를 해결하기 위한 방법은 무엇이 있을까?
IP주소의 한계를 해결하는 방법1)
새로운 IP주소버전을 만든다. --->IPv6 (근본적인 해결책)
이것의 경우의수는 2의128승이다. 아주아주아주아주아주 큰 숫자의 경우의수를 가지고있어서 모자랄이유가없다.
IP주소의 한계를 해결하는 방법2)
사설IP를 만든다.(Private IP)
사설 IP는 무엇일까?
사설망 또는 프라이빗 네트워크는 인터넷 어드레싱 아키텍처에서 사설 IP 주소 공간을 이용하는 네트워크이며 RFC 1918과 RFC 4193 표준을 준수한다. 이러한 주소는 가정, 사무실, 기업 랜에 쓰인다.
라고 위키백과에는 나와있다.
사실 우리는 사설 IP의 개념을 이미 사용하고 있다. 그것은 공유기이다. 집에 공유기를 이용하고 있을 가능성이 높다.
공유기에는 여러대의 컴퓨터가 연결될 수 있다. 그리고 그 공유기는 공인IP를 가지고 있다!
그런데 왜 우리 컴퓨터에서는 서버가 인터넷에 연결이 되지 않았을까?
우리가 구글에서 알아낸 myip는 사실 공유기의 ip였던것이었다.
공유기 1개 (공인IP) -------------> 여러대의 컴퓨터(각각 다른 사설IP)를 가지고있다.
우리의 컴퓨터는 공유기에 연결해서 사용하고 공유기와는 다른 사설 IP를 가지고 있다. 그래서 우리 컴퓨터의 서버를 인터넷에 연결하려면 어떻게 해야할까?
포트 포워딩을 이용하자.
포트 포워딩이란 비유하자면 공유기의 IP에 접근하려했을때 내 노트북으로 패스해주는 느낌이다.
ex)172.217.25.238 -->(요청) 공유기 ---------192.168.0.1 ---> 나의 노트북(ip=192.168.0.1)
이런 방식으로 토스를 해주는 것이다.
그러면 어떻게 하면 내 컴퓨터의 사설IP를 알 수 있을까??
윈도우 기준으로( 윈도우버튼 + R ---> cmd 입력후 확인 ------->명령프롬포트창에서 ipconfig )
를 하면 얻어낼 수 있다. 그러면 무선LAN어댑터 WIFI에 IPv4가 보일것이다.
그것이 내 컴퓨터의 사설IP이다.
포트는 무엇인가??
포트는 컴퓨터안에 위치한 6만 5천개의 가상의 문이다. 그 문은 고유한 번호를 가지고있다.
공유기에 80번 포트 문을 열어보면 우리의 서버컴퓨터의 웹서버가 있다고 가정하자.
그러면 port번호 80번에 우리의 웹서버가 있다는 것이다.
사실 windows 를 쓰는 사람들은 port번호 80번에 웹서버가 있을것이다. mac은 8080에 있을것이다.
포트포워딩 방법은 각공유기의 통신사마다 다르기 때문에 통신사공유기 포트포워딩이라는 구글검색으로 방법을 알아보자.
IP주소의 한계를 해결하는 방법3)
유동 IP
유동 IP는 어떤 방식으로 IP주소를 할당할까
우리가 여행을 갈때나 장기간으로 컴퓨터를 꺼놓을때가 있다. 이때 통신사에서는 내 IP주소를 가져가서
다른 켜져있는 컴퓨터에게 할당해준다.
그러고 내가 다시 컴퓨터를 켜서 인터넷에 연결하려할때 다른 IP주소를 할당한다.
이렇게 유동적으로 IP주소를 돌려서 쓰는것이다. 이것의 단점은 IP주소가 바뀔수있는것이다.
'코딩 > 컴퓨터 공부' 카테고리의 다른 글
클라우드 컴퓨팅작동원리 ( feat. 웹호스팅 vs 서버호스팅) (0) | 2020.04.22 |
---|---|
서버와 클라이언트 개념 (웹브라우저,웹서버,php,데이터베이스) (0) | 2020.04.20 |