TCP/IP 프로토콜을 만들 때 이 프로토콜을 사용하는 모든 장비들을 구분하기 위해 만들어진 것
허브나 스위치에도 관리르 위해 IP 주소가 부여되지만, 배정하지 않아도 통신에는 지장이 없음
IP 주소는 이진수 32자리로 되어있음.(8자리마다 점을 찍음. 8개를 묶어 옥텟이라 부름) 2^32개의 IP 주소를 만들 수 있음
사람이 보기 편하게 2진수 8자리마다 10진수를 만들어서 표현
네트워크 부분과 호스트 부분(노드 부분)
네트워크: 하나의 브로드캐스트 영역. 라우터를 거치지 않고도 통신이 가능한 영역
호스트: 각각의 PC 또는 장비
만약 내부 네트워크가 203.240.100.1~240.100.255까지의 IP 주소를 배정 받았다면, 203.240.100까지가 네트워크 부분이고 그 다음이 호스트 부분이다.
같은 네트워크에 속한다면 IP 주소의 네트워크 부분이 일치해야하고, 호스트 부분이 달라야 한다.
IP 주소의 Class는 네트워크의 크기에 따라 A부터 E까지 구분된다.(하나의 네트워크가 호스트 수를 몇 개까지 가질 수 있는가에 따라)
Class A: IP 주소 중 앞에 8비트가 네트워크 부분이고, 나머지 24비트가(3개의 옥텟) 호스트 부분.
32개의 이진수 중 맨 앞 하나는 0이 무조건 나오고 나머지는 아무거나(0xxx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx -> 1.0.0.0~126.0.0.0(0.0.0.0과 127.0.0.0은 뺌)까지가 네트워크 부분)
1~126으로 시작하는 네트워크는 클래스 A
호스트 개수는 2^24-2(네트워크 자신과 브로드캐스트 주소 제외)
Class B: IP 주소 중 앞에 16비트가 네트워크 부분이고, 나머지 16비트가(2옥텟) 호스트 부분.
32개의 이진수 중 맨 앞이 반드시 10으로 시작하고 나머지는 아무거나(10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx -> 128.0.0.0~191.255.0.0까지가 네트워크 부분)
128~191로 시작하는 네트워크는 클래스 B
호스트 개수는 2^16-2
Class C: IP 주소 중 맨 앞에 24가 네트워크 부분이고, 나머지 8비트가 호스트 부분.
32개의 이진수 중 맨 앞이 반드시 110으로 시작하고 나머지는 아무거나(110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx -> 192.0.0.0~223.255.255.0까지가 네트워크 부분)
192~223로 시작하는 네트워크는 클래스 C
호스트 개수는 2^8-2
Class D: 멀티캐스트 용으로 사용되는 주소. 224~239
Class E: 연구용으로 사용되는 주소. 240~255
많이 사용하는 라우터인 시스코 2501을 예로 들어보자
시스코 2501은 이더넷 인터페이스와 인터넷에 접속하기 위한 시리얼 인터페이스 2개로 구성되어있다.
IP 주소는 이더넷 인터페이스(기본 게이트워이: 내부 네트워크에서 밖으로 나갈 수 있는 문)에 하나 시리얼 인터페이스에 하나 총 두개 부여해야 한다.
이더넷 인터페이스에는 내부 네트워크에서 사용하기 위해 부여받은 IP 주소 중 하나를 배정해야 한다.
예를 들어, 203.120.150.1~203.120.150.255까지의 IP 주소를 내부 네트워크가 배정 받았다면, 보통 맨 앞에 번호를 쓰기 때문에 203.120.150.1이 이더넷 인터페이스의 IP 주소가 된다.
하나의 장비에 무조건 하나의 IP 주소만 배정되므로, IP 주소가 같은 장비가 있어서는 안된다!
시리얼 인터페이스의 IP 주소는 접속하는 ISP 업체에 따라 다르므로 인터넷 제공업체에 문의해서 배정받아야 한다.
서브넷 마스크는 말 그대로 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해 씌우는 마스크
IP 주소를 배정받게 되면 보통은 이 주소를 그대로 사용하지 않고, 자신의 네트워크의 환경에 맞게 나눔
만약 클래스 B의 주소를 배정 받았다면, 이것을 그대로 사용할 경우에는 65,000여 개의 호스트를 가지는데 이렇게 큰 네트워크를 구성하게 되면, 브로드캐스트의 영향이 너무 커 브로드캐스트가 너무 많이 발생 해 정상적인 통신이 어려울 것이다.
이 문제를 해결하기 위해 서브네팅이 필요하다.
서브넷 마스크를 하게 되면 위 그림과 같은 구성이 가능하다.(브로드캐스트 도메인을 작게 나눔)
디폴트 서브넷 마스크 255.255.0.0 -> 255.255.255.0으로 바뀜
각 서브넷 간 통신은 라우터를 통해서만 가능하다.
배정받은 IP 주소를 나누지 않아도 서브넷 마스크는 존재한다.
예를 들어, 210.100.100.1(C 클래스)이란 주소가 있고, 254개의 호스트에 IP 주소를 부여했다고 했을 때, 이는 주어진 클래스를 나누지 않고 그대로 사용한 것이다.
서브넷 마스크를 가지지 않은 네트워크는 없는 것이다.(모든 네트워크에 디폴트 서브넷 마스크가 존재하기 때문에)
이렇게 주어진 클래스를 나누어 쓰지 않고 모두 쓰는 경우의 서브넷 마스크를 디폴트 서브넷 마스크라 한다. 이 경우는 디폴트 서브넷 마스크가 255.255.255.0이다.
정리하면,
210.100.100.1 -> IP 주소
255.255.255.0 -> 서브넷 마스크
210.100.100.0 -> 서브넷 네트워크(IP 주소와 서브넷 마스크를 이진수로 바꾸고 AND 연산)
가 되는 것이다.
210.100.1.0 IP 주소를 받았고, PC가 30대인 네트워크를 최소 4개 이상 만든 후 이들을 라우터를 이용해 서로 통신하게할 떄, 서브넷 마스크는?
답) 클래스 C에 해당하며, 디폴트 서브넷 마스크는 255.255.255.0이다. (210.100.1.0)
210.100.1.0이 네트워크 주소이며, 호스트가 30대라 했으니, 호스트 부분이 최소 5비트는 되어야 한다.(나머지 부분은 1)
이렇게 되면, 서브넷 마스크는 210.100.1.224가 된다.
서브넷들은 다음과 같다.
210.100.1.1~30(원래 사용하지 않았지만 요새 사용하는 추세)
210.100.1.33~62
210.100.1.65~94
210.100.1.97~126
210.100.1.129~158
210.100.1.161~190
210.100.1.193~222
210.100.1.225~254(원래 사용하지 않았지만 요새 사용하는 추세)