Запутанные классы сети 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


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 превратился только в размер подсети.
— Рикки Бим
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.