2016-12-13 7 views
1

Ниже приведены начальные биты (из 32) для различных классов адресов в IPv4: enter image description hereКакое количество блоков для разных классов в классной адресации определено в IPv4?

и следующие числа блоков и размеров блоков, соответственно, для каждого класса: enter image description here

Для класса A я вижу, что число блоков равно 2^7 = 128, а размер блока - 2^24 = 16777216. Но я не могу понять следующее:

  • Как число блоков в классе B (16384), и в классе С (2097152) вычисляются.

  • Как рассчитывается размер блоков для классов D и E.

  • Как класс D и класс E имеют одинаковое количество блоков и размер блока, даже если их начальные четыре бита не совпадают?

Пожалуйста, помогите мне понять это, поскольку расчет, который я использовал для класса А, для них не работает.

+0

И что, что делать с Java? – GhostCat

+0

@GhostCat Stackoverflow popup дал мне это предложение. Поэтому я принял это предложение и добавил. – Meathead

+0

Система не всегда идеальна. Он по-прежнему требует от вас, как человека, проверить, что происходит ;-) – GhostCat

ответ

1

Имейте в виду: у вас есть 32 бита в целом.

Класс A использует один бит 32; поэтому 31 осталось. И угадайте, что ... 2^и 2^приводит к ... 31 бит слева для данных блока.

Классы D и E ... оба с использованием бит; поэтому осталось 28 бит. 2^28 is ... surprise 268.435.456

Теперь просто пойдите и проверьте, сколько бит осталось для других классов!

Дело в том, что эти первые биты являются взаимоисключающими.

Когда 32 бита начинаются с 0, вы знаете: класс A; и так далее.

+0

Спасибо GhostCat, теперь все имеет смысл. – Meathead

+0

Добро пожаловать. – GhostCat

0

NetID = число блоков HOSTID = размер блока

IP-адрес имеет в общей сложности 4 байта и делится на 5 классов, в зависимости от начального бита (ов).

В классе A один байт определяет netid и 3 байта определяет hostid.
В классе B два байта определяют netid, а 2 байта определяют hostid.
В классе C три байта определяют netid, а 1 байт определяет hostid.
Следовательно;
для A
Число блоков = 2^7, поскольку 1 бит зарезервирован для идентификации класса. (0)
размер блока = 2^24
для B
Число блоков = 2^14, поскольку 2 бита зарезервированы для идентификации класса.(10)
размер блока = 2^16
для C
количество блоков = 2^21, поскольку 3 бита зарезервированы для идентификации класса. (110)
размер блока = 2^8

Система NetID и blockid не относится к классу D и класса Е.

+1

Сетевые классы _were_ определены (до того, как они были устаревшими в 1993 году, более 20 лет назад) по первым битам адреса. Сетевые классы больше не существуют, а современные сети не используют сетевые классы, которые были заменены CIDR (_Classless_ Междоменная маршрутизация) с использованием VLSM. Классы должны были быть устранены до того, как Интернет стал коммерческим в 1995 году. –