Запутанные классы сети A, B, C

17

Я изучаю адреса IPv4 и наткнулся на все это о классовой адресации. У меня есть идея, но есть кое-что, что я нахожу запутанным:

Есть два диапазона "ABC":

Первый:

A: от 1.0.0.0 до 126.0.0.0 с / 8
B: от 128.0.0.0 до 191.255.0.0 с / 16
C: от 192.0.0.0 до 223.255.255.0 с / 24

Второй:

A: от 10,0.0.0 до 10.255.255.255 с / 8
B: от 172.16.0.0 до 172.31.255.255 с / 12
C: от 192.168.0.0 до 192.168.255.255 с / 16

Почему оба они используют имена A, B и C? Они даже не используют одни и те же наборы масок подсетей! Первый только для публичных адресов? Потому что второй - это только частные адреса.

Помощь оценена!

Аксель Кеннедал
источник
17
Реальный мир прекратил использовать классную адресацию по крайней мере 15 лет назад. Я предлагаю вам приложить усилия для изучения CIDR (бесклассовой междоменной маршрутизации).
Теун Винк
@TeunVink Это не очень поможет для сертификационного тестирования, хотя ... Классная адресация все еще является довольно неотъемлемой частью учебной программы CCNA.
Райан Фоли
6
Ого, правда? Это печально.
Теун Винк
2
@TeunVink Нет ничего особенного в том, что нужно узнавать о Token Rings и разъемах BNC для Comptia Networking +. Старая СТАРАЯ технология, но все же шанс ее наткнуться.
WernerCD
3
Не реальный ответ, но гораздо более напыщенный: почему в 2014 году все еще люди учат о классах AB и C? Весь этот процесс просто сбивает с толку, когда сегодня используется с битовыми масками от 1 до 2 слева. Я понимаю историческую ценность, но сейчас самое время обновить книги и курсы! Нужно сначала изучить CIDR, а затем рассказать о старых днях. Вы начинаете с изучения латыни, чтобы выучить французский язык?
Эмилио Гаравалья

Ответы:

33

Вполне вероятно, что маски подсетей сбивают вас с толку. Если вы помните, что приведенные ниже правила больше не применяются, с вами все будет в порядке.

В конечном итоге классовая адресация сводится к самым значимым (или «ведущим») битам в адресе. Ни больше ни меньше.

  • Класс A: Наиболее значимые биты начинаются с 0
  • Класс B: Наиболее значимые биты начинаются с 10
  • Класс C: наиболее значимые биты начинаются с 110

«Классы» возникли в результате разделения адресного пространства для использования между «хостом» и «сетью». Имейте в виду, что тогда (в далеком прошлом, со времен ARPANET) масок подсетей не существовало , и сеть должна была быть выведена из самого адреса. Итак, с учетом вышесказанного, это то, что они придумали (это должно быть двоичное представление - каждый Nили Hпредставляет один бит в 32-битном адресе):

  • Класс A: NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH(меньше сетей, больше хостов)
  • Класс B: NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH(больше сетей, меньше хостов)
  • Класс C: NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH(еще больше сетей, еще меньше хостов)

Здесь Nрепрезентативен для сетевой части адреса, а Hрепрезентативен для хост-части адреса, или, как они называли его в тот же день, «поле отдыха».

Объединяя это с тем, что было сказано ранее о наиболее значимых битах, мы имеем следующее:

  • Класс А: 0.0.0.0 - 127.255.255.255
  • Класс B: 128.0.0.0 - 191.255.255.255
  • Класс C: 192.0.0.0 - 223.255.255.255

Преобразование этих диапазонов в двоичный может сделать это более ясным:

Класс А

0.0.0.0
-----------
[0]0000000.00000000.00000000.00000000

127.255.255.255
-----------
[0]1111111.11111111.11111111.11111111
 ^
 most significant bit = 0

Класс б

128.0.0.0
-----------
[10]000000.00000000.00000000.00000000

191.255.255.255
-----------
[10]111111.11111111.11111111.11111111
 ^
 most significant bits = 10

Класс С

192.0.0.0
-----------
[110]00000.00000000.00000000.00000000

223.255.255.255
-----------
[110]11111.11111111.11111111.11111111
 ^
 most significant bits = 110

Каждый отдельный адрес в этих диапазонах будет иметь общие начальные биты. Мораль этой истории в том, что если вы помните, какими должны быть начальные биты (0 для класса A, 10 для класса B, 110 для класса C), очень просто определить, к какому «классу» относился бы адрес. в. Или, если десятичная дробь проще:

  • Класс A: первый октет в адресе от 0 до 127 включительно
  • Класс B: первый октет в адресе от 128 до 191 включительно
  • Класс C: первый октет в адресе между 192 и 223 включительно

Самый простой способ запутать кого-либо в «классовой адресации» - либо в тесте, либо на экзамене, либо чем-то еще, - это использовать неверное направление с помощью маски подсети. Опять же, помните, что маска подсети не применяется для определения класса адреса. Это легко забыть, потому что, как говорили другие, бесклассовая адресация и маршрутизация существуют уже более двух десятилетий, а маска подсети и нотация CIDR стали повсеместно распространенными в отрасли.

Джон Дженсен
источник
Просто расширить это с исторической точки зрения, сказать, что подсети не применяются в классных сетях, не совсем точно. Идея создания подсетей возникла не из CIDR. Например, RFC 950, опубликованный в 1985 году, говорил о подсетях в классных сетях за десятилетие до того, как CIDR стал нормой. faqs.org/rfcs/rfc950.html .
Рассел Хиллинг
1
@RussellHeilling Я просто сказал, что нотация CIDR и концепция маски подсети, идущей вместе с IP-адресом, стали повсеместными - я перефразирую утверждение «не применимо», чтобы быть более ясным - оно не применяется при определении класса, который адрес принадлежит.
Джон Дженсен
+1 Я так и не понял, что A / B / C следовал 1.01.11. Почему ты не сказал мне это много лет назад?
WernerCD
4
@WernerCD это 0/10/110 - полностью отличается от 0/1/11 :-) конечные нули значимы в двоичном виде. Ведущие не являются.
Джон Дженсен
@JohnJensen Блестящее объяснение!
Огромное
18

Хотя идея классовой адресации в настоящее время устарела, поскольку бесклассовая междоменная маршрутизация (CIDR) использовалась десятилетиями (первоначальный RFC1519 был опубликован в 1993 году), ваш первый ответ является исторически правильным.

Второй набор сетей, который вы перечисляете, взят из RFC1918 и определяет диапазоны адресов частного использования. В первом пространстве класса A имеется одна сеть / 8 (для одной сети класса A), в первом пространстве класса B (для 16 сетей класса B) - / 12, а в бывшем пространстве класса C (16) предоставление 256 сетей класса С).

Здесь нет противоречия.

Рассел Хиллинг
источник
Я не понимаю, почему это 16 сетей класса B. Если сетевая часть равна / 12, не будут ли оставшиеся младшие 4 бита во втором октете + 2 младших октета быть адресами хоста?
Eladian
В современных условиях бесклассовой маршрутизации, да. Традиционная классовая маршрутизация не имела концепции суперсетей, а лишь ограничивала поддержку подсетей. Естественная маска адресов в этом диапазоне - / 16, в классовой маршрутизации / 12 не будет использоваться как отдельная сеть, только как 16 дискретных сетей класса B.
Рассел Хиллинг
Спасибо, что ответили, что, черт возьми, меня смутило до сих пор, это все начинает обретать смысл. Так что в наши дни мы не можем сказать, что сеть класса B (начиная с префикса 10) определенно имеет 16 сетей, не зная маску подсети - если я правильно понимаю. Но если нам говорят, что у него есть маска / 16, то мы можем.
Eladian
Если мыслить классно, то класс B nework (двоичный префикс 10) всегда равен / 16. В классовой маршрутизации отсутствует понятие / 12, поэтому способ представления о / 12, выделенном в RFC1918, - это 16 отдельных сетей класса B. Конечно, все это академично - вам не нужно знать ничего из этого, чтобы настроить современную сеть, и вы можете свободно распределять пространство 1918 по подсетям.
Рассел Хиллинг
3

Алекс, ты задал вопрос еще в 2014 году, и я не увидел четкого и лаконичного ответа на твой вопрос, так что здесь: «Первый» - это общедоступные IP-адреса, которые можно использовать в Интернете. «Второй» - это частные IP-адреса, которые нельзя использовать в Интернете, поскольку они не маршрутизируются. Однако существуют частные преимущества для частных IP-адресов. Во-первых, стоимость. Организация может арендовать один общедоступный IP-адрес у интернет-провайдера, который внутренние узлы могут использовать при внешней связи. Во-вторых, безопасность. Внутренние IP-адреса останутся неизвестными. Сервер NAT или PAT может использоваться для преобразования частного IP в общедоступный и наоборот.

Первый: A: 1.0.0.0 до 126.0.0.0 с / 8

B: 128.0.0.0 до 191.255.0.0 с / 16

C: 192.0.0.0 до 223.255.255.0 с / 24

Второй: A: с 10.0.0.0 по 10.255.255.255 с / 8

B: с 172.16.0.0 по 172.31.255.255 с / 12

С: 192.168.0.0 до 192.168.255.255 с / 16

Надеюсь это поможет.

/ Joanne

Joanne
источник
1

Класс «A», «B» и «C» сообщает размер сетевой маски. (например, класс «C» имеет 24-битную маску сети.) Класс не является правильным именем, определяющим конкретную сеть.

Крейг Константин
источник
1
Хотя верно, что естественная маска сети класса C эквивалентна длине префикса / 24, обратное неверно. Например, 10.1.1.0/24 - это не сеть класса C - это подсеть / 24 в пределах прежнего пространства класса A. Пожалуйста, постарайтесь не проводить параллели между классной терминологией и нотацией CIDR.
Рассел Хиллинг
1
На самом деле, это по современной терминологии; «класс» - это просто размер подсети.
Рикки Бим
Я пытался дать простой ответ, чтобы указать на то, что он путает идею «конкретной сети» в «А» с сетевыми масками и диапазонами сетей. Оглядываясь назад, я думаю, что объяснение Дженсена более полезно, чем моя попытка краткости.
Крейг Константин
1
@RickyBeam Не уверен, что вы подразумеваете под современной терминологией. Я знаю, что по моему опыту (в индустрии интернет-провайдеров) общий термин для / 24 - это «слеш-24». Любой, кого поймают, называя его классом С, обычно получает лекцию по истории CIDR ... :)
Рассел Хиллинг
1
Никто больше не делает «класс», так что класс foo превратился только в размер подсети.
Рикки Бим