모든 컴퓨터나 네트워크 장비, 통신기기들은 인터넷을 사용하기 위해 IP주소를 할당받아 이용하게 된다. 이번 포스팅에서는 IP에 대해 알아보고자 한다.
인터넷 프로토콜(Internet Protocol)의 약자로 각 장치를 나타내는 IP 주소를 가리키는 말로 많이 쓰인다.
컴퓨터의 경우 사용하는 운영체제도 서로 다르고, 프로그램의 경우 아예 구현된 언어가 다르기 때문에 네트워크에서 이들이 서로 통신할 수 있도록 하려면 공통된 통신 규약(프로토콜)이 필요해 만들어졌다.
네트워크 상에서 컴퓨터는 다른 컴퓨터와 구별 될 수 있도록 고유번호를 가지게 되는데, 이것은 인터넷에 접속 할 때 컴퓨터 각각에 부여 받는 주소 혹은 전화번호 같은 것이라고 생각하면 된다. 만약 동일한 전화번호가 2개 있다면 서로 충돌이 되면서 혼란이 생길 것이다. 웹(인터넷) 상에서도 이런 현상들을 방지하기 위해서 IP주소를 만들어서 상호 충돌을 방지하고 있다.
이렇게 IP주소를 사용함으로써 각각의 Host들을 구분할 수 있고, 부여받은 IP는 자기 고유의 IP가 되기 때문에 다른 사람이 사용할 수 없다. 그렇다고 하나의 Host에 하나의 IP만 사용되는 건 또 아니다. 한 컴퓨터에 여러 개의 NIC(Network Interface Card / 흔히 랜카드라 불리는 장치)를 장착하여 여러 개의 IP를 사용하는 경우도 있다. 대표적인 예로 라우터가 있다. 지금 언급되는 IP는 모두 공인 IP를 말하는 것이며 이에 대해서는 다시 포스팅을 할 예정이다. 이러한 IP는 각 나라마다 나라의 공인기관에서 할당하고 관리해준다. 우리나라의 경우는 한국인터넷진흥원에서 이를 담당하고 있으며 이것을 다시 SKT, KT, LG U+ 가 부여받고, 우리가 이 3사 중 한 곳에 가입을 함으로써 모뎀을 통해 각 컴퓨터마다 IP를 제공받아 인터넷을 사용하게 되는데 제공받을 때 고정 IP와 유동 IP로 나뉜다.
: IP가 고정되어 있어서 컴퓨터가 부팅되거나 해도 변경이 되지 않는 것을 말한다. 고정IP는 나만이 사용하는 주소이기 때문에 보안성이 우수해서 유동IP에 비해 가격이 비싸지만 보안이 필요한 업체나 기관에서는 주로 고정IP를 사용한다.
: 접속 할 때마다 그때 그때 IP의 주소 값이 변환되는 것으로 일반 가정집이나 대부분은 유동 IP를 사용한다. 이는 주로 IP의 부족현상을 방지하기 위해 사용되는데 예를 들어 SKT에서 보유하고 있는 IP의 갯수가 1만개인데, SKT 가입한 사람의 수가 3만명이면 IP가 그만큼 모자르다. 하지만 모든 회원이 계속 24시간 인터넷에 접속하는 것은 아니기 때문에 해당 기기의 전원이 Off됐을 때 IP주소가 필요없으므로 DHCP Server를 이용해 IP를 회수하여 다른 전원이 켜져있는 기기에 할당해주는 방식으로 계속 돌려가면서 IP를 부여해주는 방식이다. 이는 IP 주소를 공유한다고도 볼 수 있다(동시간대에 여러 기기가 같은 IP를 공유한다는 의미가 아님). 이러한 IP주소 부여는 모뎀에서 이루어진다.
: Internet Service Provider의 약자로 인터넷 서비스 제공자라는 의미이다. 우리나라의 경우 SKT, KT, LG 유플러스 등 대기업 계열의 IT서비스 기업 등이 인터넷 서비스를 제공해준다. 이런 기업들을 ISP라고 부른다.
: DHCP는 Dynamic Host Configuration Protocol의 약자로 호스트(서버)에서 보유하고 있는 IP를 유동적으로 관리하는 프로토콜이다. 즉, IP를 자동으로 할당하고 분배해주는 기능을 하므로 유동 IP를 관리하는데 사용되고 있다. IPv4를 디자인 했을 당시에는 현재처럼 많은 장치들이 인터넷에 연결될 것이라는 걸 고려하지 않았고 전 세계에 스마트폰 등의 휴대 장치, 인터넷 사물 장치(IoT) 등이 연결되어 장치마다 IP를 하나씩 할당하게 되면 IP의 관리 문제도 있고 그 중 사용하지 않는 장치가 있는 경우 IP가 낭비되기 때문에 이러한 문제를 해결하기 위해 고안되었다.
DHCP 서버는 일정한 IP 대역을 가지고 있고 네트워크에 연결된 장치가 IP를 필요로 하는 경우 제한된 대역 안에서 IP를 발급해주며 발급해 준 IP를 일정 시간 동안 사용하지 않는 경우에는 다시 IP를 회수하여 다른 장치에서 요청이 있을 때 발급해준다. 이렇게 DHCP 임대시간(DHCP Lease Time)을 적용해 유동적으로 IP를 관리해서 제한된 자원을 효율적으로 관리하고 분배할 수 있게 하는 역할을 하는 것이다.
출처 : https://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp
그림은 PC라고 되어 있지만 공유기에 연결하면 공유기가 되는 것이다. 임대시간(DHCP Lease Time)이 끝나면 다시 IP를 회수해 다른 장치에서 요청이 들어왔을 때 똑같이 임대해주는 방식으로 계속 유동적으로 운영한다.지금은 IP에 대해서 다루는 것이기 때문에 그림에 대한 자세한 설명은 추후에 따로 다시 포스팅하겠다. 일단은 이런 식으로 유동 IP가 할당되는 것에 초점을 맞추자.
이러한 이유 때문에 가끔 인터넷 업체에서 회선 공사나 점검을 할 때 그 지역을 담당하는 DHCP 서버를 리셋하게 되면 IP가 바뀌게 되는 것이다. 반대로 공유기의 Mac Address(네트워크 장치의 고유 번호)가 변경되면 ISP의 DHCP 서버 입장에서 장치가 바뀌게 되는 것이니 마찬가지로 IP가 변경되게 된다(해당 기기(Mac Address)에 맞춰서 사설IP가 할당되기 때문). 또한 IP를 DHCP 서버에서 관리하기 때문에 클라이언트에서 직접 입력해서 사용하는 고정 IP(DHCP 서버에서 할당해주는 고정 IP와 다른 개념)에 비해 관리가 수월하고 IP 충돌 등의 문제가 없어지는 이점을 갖게 되는 것이다. 이게 무슨 말이냐면 IP를 할당받는 것이 아닌 직접 손으로 입력했을 때(직접 수동으로 IP를 설정하는 경우는 당연히 고정 IP), IP를 잘못 입력한 경우 잘못 입력한 IP를 누군가가 사용하고 있다면 IP는 충돌난다는 말이다.
사실 DHCP 서버는 우리도 모두 운영하고 있다고 할 수 있는데 그게 바로 공유기이다. 집에서 인터넷을 사용할 때 PC, 노트북, 스마트폰 등 여러 장치를 인터넷에 연결하기 위해서는 공유기가 필요한데 이 공유기는 DHCP 서버와 NAT 기능, 스위치 기능, 방화벽 기능을 포함한 라우터로 우리가 여러 장치를 연결해서 인터넷을 사용할 수 있게 도와준다. 공유기의 관리자 페이지로 로그인을 하면 DHCP 서버에 대한 설정이 있고 여기서 IP 대역을 설정하여 다른 장치들에게 192.168.xxx.xxx 등의 내부 IP를 발급해 주게 되고 Mac Address를 기반으로 해당 장치를 DHCP 서버에서 항상 같은 IP로 사용할 수 있게 고정할 수 있는 기능도 사용할 수 있다. 반대로 인터넷을 못하게 막을 수도 있다. 인터넷 서비스 업체에서 운영하는 DHCP 서버와 공유기의 DHCP 서버 기능은 규모만 다를 뿐 똑같은 역할을 하고 있다고 생각하면 된다.
다음 포스팅에서는 IP 클래스들에 대해 알아보도록 하자.
참고 사이트 :