개발(Web)/Web

[Internet] IP주소란 무엇일까?

shinyelee 2021. 12. 19. 12:49

What is IP?

IP(Internet Protocol)

위키백과에서 '송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜)'이라고 설명하고 있는데 배경지식이 부족하다보니 뭔 말인지 알 수가 없다.

송수신 호스트, 패킷 교환 네트워크, 프로토콜을 모르니 당연히 이해가 안 된다.

호스트(Host)

인터넷에 연결된 컴퓨터를 호스트라고 한다. 그러니까 송신 호스트는 정보를 보내는 컴퓨터, 수신 호스트는 정보를 받는 컴퓨터다.

패킷 교환 네트워크(Packet Switching Network)

덩치가 큰 정보는 통으로 전송하는 것보다 쪼개버리는 것이 효율적이고 안정적이다. 이 때 작게 자른 데이터를 패킷이라고 하며, 이렇게 패킷으로 정보를 주고받는 것을 패킷 교환 방식이라고 한다(자세한 내용은 다음에 알아보자).

프로토콜(Protocol)

통신 규약, 그러니까 컴퓨터끼리 정보를 주고받을 때 지키는 양식 및 규칙 체계다.

IP란 컴퓨터끼리 소통할 때 지키는 국룰이라고 이해하면 될 것 같다.


IP 주소(IP address)

컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 특수한 번호. 보통 컴퓨터와 IP 주소의 관계를 전화기와 전화번호에 빗대 설명하는 경우가 많은데, 비슷하긴 하지만 조금 다르다.

휴대전화의 경우 다른 환경에서 사용해도 전화번호는 그대로다.

IP 주소는 컴퓨터(또는 인터넷을 사용하는 통신 기기) 자체에 부여하는 것이 아니라, 기기가 인터넷에 접속한 곳의 네트워크상 위치에 부여한다. 즉, 같은 노트북이라도 우리집 공유기에 연결했을 때의 IP 주소와 카페 와이파이에 연결했을 때의 IP 주소는 서로 다르다. 그러니까 '전화기-전화번호'의 관계보다는 '자동차-도로명 주소'에 가깝다(이것도 완벽한 비유는 아님).


분류 1)

IPv4(IP version 4)

우리가 일반적으로 알고 있는 IP 주소. 대충 123.456.789.012 형태로, 각 파트는 0~255(2진법 단위라 숫자가 애매함) 사이 숫자들로 이루어짐. 약 46억개의 경우의 수가 나오니 숫자만 봐서는 IP가 넉넉해 보인다. 하지만 PC방은? IT 회사는? 대형 포털의 서버는? 투폰 쓰는 사람은? 노트북과 아이패드는? 하고 생각해보면 컴퓨터 및 통신기기 수에 비해 많이 부족하단 걸 알 수 있다.

IPv6(IP version 6)

기존 IPv4가 고갈되며 대안으로 떠오른 IP 주소. 대충 1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0 형태. 알파벳+숫자 조합으로, 아직 널리 쓰이진 않지만 점점 늘어나는 중이다.


분류 2)

공인 IP는 회사 대표 전화번호, 사설 IP는 내선번호 같은 것이다.

공인 IP(Public IP)

통신사와 인터넷 계약을 하며 발급 받은 IP 주소가 바로 공인 IP 주소다(그림의 ISP는 Internet Service Provider, 즉 통신사를 지칭한다).

공유기를 사용하는 가정집, 학교, 회사, 사무실 등에서는 여러 개의 공인 IP를 부여하는게 아니라 하나의 공인 IP로 묶은 후 기기마다 사설 IP를 부여한다. 이러한 방식으로 한정된 (공인)IP 자원을 아낄 수 있다. 사설 IP를 쓰는 기기는 공인 IP를 쓰는 컴퓨터로 접근할 수 있지만, 외부 컴퓨터에서 사설IP를 쓰는 컴퓨터로는 접근할 수 없다. 왜? 싶지만 당연하다. 내선번호만 아는 상태로 다른 회사에 전화를 걸 수는 없는 것이다. 이러한 이유로 서버들은 대부분 공인 IP를 가진다.

사설 IP(Private IP)

공유기와 연결 기기 간 근거리 통신을 위해 부여되는 IP 주소가 바로 사설 IP 주소다.

서버들은 공인 IP를 가지는데 가정집은 사설 IP를 쓰니까 서버를 못 돌리겠네요? ㄴㄴ 아래 방법을 쓰면 외부에서 사설 IP를 쓰는 컴퓨터로 원격접속할 수 있다.

공유기 설정을 통해 공인 IP의 포트를 개방해서 내부 사설 IP에 연결하는 것을 말한다.

첫 번째 방법은 포트 포워딩(port forwarding) 또는 포트 매핑(port mapping)이다. 외부에서 공유기에 연결된 장치에 접속할 때, 어느 IP의 몇 번 포트에 연결할지를 알려 주는 것을 의미한다. 공인IP:포트번호(123.4.5.234:101) 형식이다.

군사용어인 DMZ와 단어는 똑같지만 뜻은 약간 다르다.

두 번째 방법은 DMZ(Demilliterized Zone)라고 한다. 공인 IP의 모든 포트를 내부 특정 사설 IP에 몰아주는 방식이다. 이름값을 하는지 보안상 위험해 추천하지 않는 방법이라고 한다.


분류 3)

고정 IP(Static IP)

서버를 운영하고, 사용자가 서버에 접근하기 용이하려면 고정된 IP를 써야 한다. 유료(비쌈)며, 보통 웹호스팅 또는 클라우드 서비스를 이용한다.

유동 IP(Dynamic IP)

분류 1과 분류 2에서 이미 설명했듯 IP의 개수는 제한적이다. 따라서 ISP는 일반 사용자에게 유동 IP를 줘 돌려막기를 하게 된다. 유동 IP는 고정IP보다 저렴한 동시에, IP가 계속 바뀌니까 상대적으로 해킹에 안전하다는 장점이 있다. 그럼 유동 IP는 서버를 돌릴 수 없나? DDNS(Dynamic Domain Name Service)를 이용하면 된다. 유동IP를 감지해 고정된 도메인 이름에 연결해주는 서비스다(DDNS는 도메인 관련 글에서 더 자세하게 알아보자).


참고

 

비무장지대 (컴퓨팅) - 위키백과, 우리 모두의 백과사전

삼각 방화벽을 사용하는 DMZ를 이용한 일반적인 네트워크의 다이어그램. 컴퓨터 보안에서의 비무장지대(Demilitarized zone, DMZ)는 조직의 내부 네트워크와 (일반적으로 인터넷인) 외부 네트워크 사이

ko.wikipedia.org

 

WEB2 - Home server - 생활코딩

수업소개 이 수업은 자신의 집에서 서버를 운영하는 방법을 알려드리는 수업입니다. 가정에서는 보통 공유기를 이용해서 인터넷을 이용하는 경우가 많습니다. 이런 환경에서 서버를 운영하기

opentutorials.org

반응형