아이피 주소에 사용되는 4byte 곧 32bit를 네트워크와 호스트 주소로 어떻게 나눌 수 있을까?
울란바토르시의 구의 예처럼, 가장 간단히 생각할 수 있는 방법은 첫 번째 byte를 네트워크 주소로 나머지 세 byte를 해당 네트워크에 속한 호스트에게 부여하는 방법이 있을 수 있다.
이 경우 우리가 생성할 수 있는 네트워크의 수는 모두 몇 개가 될까?
정답은 256개이다. (0에서부터 255까지)
그렇다면 각 네트워크에 들어갈 호스트의 개수는 모두 몇 개가 될 수 있을까?
정답은 256*256*256 – 2개이다. 왜 2를 뺐을까? 이 이유는 차차 알게 될 것이다. 여기서 256은 2^8이기 때문에 256*256*256은 2^24이 된다.
네트워크의 수는 256개이지만, 하나의 네트워크에 들어가는 호스트의 수는 2^24 - 2 = 16,777,216 - 2 = 16,777,214개가 된다.
1천 6백만 개가 넘는 컴퓨터가 하나의 네트워크안에 존재하게 된다. 정말 큰 네트워크이다. 앞서 설명한 구를 예로 들면, 하나의 구안에 1천6백만 개의 집주소가 있는 것과 마찬가지이다.
이것이 너무 크다고 생각되면, 네트워크 주소를 2byte, 호스트 주소를 2byte로 하는 것을 어떨까?
이렇게 주소를 구성하면 네트워크의 숫자는 2^16 = 65,536개가 되고, 하나의 네트워크안에 들어가는 컴퓨터의 숫자 또한 2^16 - 65,536개가 된다. 6만 5천여개로 여전히 적지 않은 수이다.
이제 마지막으로 네트워크 주소를 3byte로, 호스트 주소를 1byte로 해보자.
이렇게 구성하면 네트워크의 수는 2^24 = 16,777,216 개가 되고, 각 네트워크에 들어가는 컴퓨터의 숫자는 2^8 - 2 = 256-2 = 254 개가 된다.
하나의 네트워크안에 254개의 컴퓨터가 들어간다. 왠지 괜찮아 보인다.
처음에 아이피 주소를 만든 엔지니어들은 네트워크 주소가 가지는 byte 수에 따라 클래스로 구분하였다. 이는 아이피 주소를 관리하기 편리하도록 하기 위함이었다.
클래스
|
네트워크 주소에 사용되는 byte수
|
호스트 주소에 사용되는 byte 수
|
하나의 네트워크안에 들어갈 수 있는 호스트 수
|
A
|
1
|
3
|
2^24 - 2
|
B
|
2
|
2
|
2^16 - 2
|
C
|
3
|
1
|
2^8 - 2
|
어떤 클래스를 사용하는 것이 적당할까? 그것은 네트워크의 크기에 따라 달라질 것이다.
클래스를 만든 사람들은 아이피주소 4byte의 첫 번째 byte의 값에 따라 클래스를 구분했다.
첫 번째 byte는 0부터 255까지 표현할 수 있다.
그중에서 0부터 127까지를 A 클래스로 하고, 128부터 191까지를 B클래스, 192부터 223까지 C클래스 하기로 했고 224부터 255까지는 일반 아이피로는 사용하지 않기로 했다.
위의 그림처럼 전체 42억개의 아이피 중에 반은 A클래스에 속한다. A클래스에서 사용하고 남은 21억개의 아이피 주소 중에 반인 10.5억개가 B 클래스, 그리고 5.25억개가 C 클래스에 속하게 된다.
그럼 여기서 문제
아이피 192.168.0.2의 클래스는 무엇인가?
정답은 C 클래스. 왜냐하면 첫 번째 byte의 값이 192와 223사이에 있기 때문에.
그렇다면 아이피 192.168.0.2의 네트워크 bit는 몇 bit인가?
정답은 24비트. (C 클래스 이므로)
댓글 없음:
댓글 쓰기