Действительно ли CIDR «покончил» с классами IP-адресов?


20

Я все еще пытаюсь понять, в какой степени CIDR действительно делает классы IP-адресов устаревшими. Вот что я понял до сих пор:

  1. Смехотворно неэффективно (и невозможно тоже) назначать каждой организации, которой необходимо адресовать более 255 хостов, адрес класса B, который технически может адресовать 65535 хостов.

  2. Однако, если такой организации необходимо адресовать, скажем, приблизительно 700 хостов, можно просто назначить три (предпочтительно непрерывные) сетевых адреса класса С. этой организации. Например:

    192.42.42
    192.42.43
    192.42.44
    
  3. Проблема: Для этого одной организации, маршрутизаторы должны хранить три записи в своих экспедиционных таблицах, которые не масштабируются.

  4. CIDR решает эту проблему, внедряя суммирование / агрегацию маршрутов, позволяя интернет-провайдеру, который назначил организации три сети класса C, объявлять только один префикс остальному миру. Например,

    192.42.42.0/21
    

Все идет нормально. Тем не менее, я просто не могу понять, почему каждый ресурс, к которому я прикасаюсь, утверждает, что классовая адресация - это дело прошлого. В конце концов, ISP является ответственным, скажем, сетевые адреса класса C, и делает правопреемником их своим клиентам. CIDR просто решает проблему множественных записей в таблицах пересылки, верно? Таким образом, классы IP-адресов все еще существуют, не так ли?

Грядет экзамен, поэтому помощь очень ценится. :П


2
/ 21 - это восемь сетей класса «с».
Питер

5
Я испытываю желание сказать, что это - вещь прошлого, потому что это относится к IPv4
Хаген фон Айцен

@HagenvonEitzen Я испытываю желание указать, что это совершенно не соответствует действительности.
Легкость гонки с Моникой

2
Это в прошлом, потому что 1993 год был 22 года назад. См. RFC 1517, 1518, 1519. Не доверяйте никаким ресурсам, которые утверждают, что классные адреса актуальны сегодня или относятся к ним как к чему-либо, кроме исторических курьезов.
Майкл Хэмптон

Ответы:


22

В действительности делегирование адресов происходило в трех размерах: классы A, B и C. Делегации класса A будут передаваться из определенного диапазона адресов, делегирования класса B из другого диапазона и т. Д. Поскольку разные классы используют разные диапазоны адресов, вы можете определить класс, посмотрев на первую часть адреса. И это было встроено в протоколы маршрутизации.

  • Делегации класса А содержали 16777216 адресов каждый
  • Делегации класса B содержали 65536 адресов каждый
  • Делегации класса C содержали 256 адресов каждая

Это было очень неэффективно для сетей, которые не соответствовали этим размерам. Сеть, для которой требовалось 4096 адресов, получит либо шестнадцать делегаций класса C (что было бы плохо для глобальной таблицы маршрутизации, поскольку каждый из них должен был бы маршрутизироваться отдельно: размер класса был встроен в протокол), либо они получили бы один класс B Делегация (которая будет тратить много адресов).

В 1993 году была введена CIDR. Протоколы были настроены так, чтобы иметь возможность обрабатывать префиксы разных размеров, и стало возможным направлять (как внутренние, так и внешние) префиксы, такие как / 30 или / 21 или / 15 и т. Д. И т. Д. Все, что между / 0 и / 32 стало возможно. Организации, которым требовалось 2048 адресов, могли получить / 21: именно то, что им нужно.

Способ внутреннего разделения этих адресов также был ограничен. Были правила о том, как вы можете подсеть. Первоначально каждая подсеть в вашей классной сети должна была быть одинакового размера. Вам нужна одна подсеть с 128 адресами и другая подсеть с 16 адресами: очень плохо.

Маска подсети переменной длины (VLSM) является эквивалентом CIDR во внутренней сети. VLSM существует дольше, чем CIDR. Это уже упоминалось в 1985 году. Таким образом, CIDR в основном расширяет VLSM для междоменной маршрутизации. С VLSM ваши подсети больше не должны быть одного размера. Вы можете назначить разное количество адресов для каждой подсети, в зависимости от ваших потребностей.

В эти дни вся маршрутизация в интернете осуществляется без занятий. Префикс в таблице маршрутизации может по совпадению (или из-за истории) соответствовать классовой структуре, но протоколы больше не будут предполагать, что они могут определить длину префикса (маску подсети) из первой части адреса. Все длины префикса сообщаются явно: бесклассовые.

Заявление о том, что интернет-провайдер отвечает за сеть класса C, также устарело. Адреса RIR ( региональные интернет-реестры , организации, ответственные за делегирование адресов интернет-провайдерам и предприятиям с их собственными независимыми адресами) полностью распределяются по адресам.

Классы адресов IPv4 на самом деле больше не существуют, и в 1993 году их использование устарело. Если вы посмотрите на устаревшие устаревшие протоколы маршрутизации, вы, конечно, сможете увидеть предположения, сделанные ими на основе класса адресов, но это было 20 лет назад ...


1
Эти «правила» были ограничениями протоколов маршрутизации. Все ваши сети должны быть одинакового размера, потому что протокол маршрутизации не содержит маску сети. (например, RIPv1, IGRP)
Рикки Бим

1
Да, это то, что я сказал. Использование длины префикса в протоколах маршрутизации - это то, как реализованы VLSM и CIDR
Сандер Штеффанн

Они не «угадывают по адресу», они применяют маску локального интерфейса ко всему классу. Например. если у вас есть интерфейс 10.0.0.5/24, все в 10/8 будет / 24.
Рики Бим

1
Это бит VLSM. Классным битом было то, что они предполагали, что каждый адрес, начинающийся с 10, принадлежал вместе Бит pre-VLSM предполагает, что, поскольку локальным интерфейсом является / 24, каждая подсеть в 10/8 будет / 24. И / 24, и / 8 являются предположениями в наши дни. Каждая подсеть может иметь разный размер, и нет способа определить, где находится совокупная граница.
Сандер Штеффанн

1
В дополнение к сказанному первые несколько бит IP-адреса определили класс адреса. Первый бит 0 = класс A, первые два бита 10 = класс B, первые три бита 110 = класс C и т. Д. См. Также en.wikipedia.org/wiki/…
CVn

29

Классическая адресация - это «прошлое».

Это правда, потому что ничто в современном интернете не делает классную адресацию [1] . При классовой адресации маска сети является фиксированным значением на основе адреса. В вашем примере вы не можете «объединить» три диапазона класса C, чтобы иметь 700 хостов в одной локальной сети. Маска сети для каждого диапазона автоматически составляет 24 бита.

CIDR исправил это, отменив правила, по которым адрес определяет маску. Таким образом, ЛВС может быть любого размера.

Вы (и многие другие люди) все еще одержимы словами «Класс С», «Класс Б» и «Класс А». Эти конструкции больше не существуют; и не в течение десятилетий. Что люди имеют в виду, когда они используют этот термин, это размер маски 24, 16 и 8 соответственно. Они не означают, что семантика класса применяется.

[1] 10.0.0.1/24 - недопустимая конфигурация в классовой системе.


1
Я думаю, что Windows все еще использует класс IP-адреса в качестве маски по умолчанию.
Темыр

2
Да, но это не совсем классно. Это просто применение CIDR по умолчанию. Нет, где Microsoft требует или указывает класс IP-адресов »,
Майк МакМахон,

@Taemyr Это не только Windows. Linux выводит маску по умолчанию из первых бит адреса в течение многих лет. Это все еще в случае с Ubuntu 14.04. Но это только значение по умолчанию, которое в большинстве случаев необходимо переопределить другим значением.
Касперд

15

Классовая адресация поддерживает только 3 маски для одноадресной передачи: / 8, / 16 /, / 24.

CIDR позволяет маске иметь любое значение от / 0 до / 32.

Подумайте о двухточечном последовательном соединении: он бы потратил впустую класс C / 24 (256 xIP) с классной настройкой раньше; с CIDR требуется только / 30 (4 xIPs) или / 31 (2 xIPs).

Большинство интернет-провайдеров теперь назначают / 28 только клиенту, предоставляющему 14 IP-адресов или даже меньше.

Два режима работы несовместимы, так как один (классный) угадывает маску по IP, а другой (CIDR) точно ее определяет.

Смотрите статью в Википедии «Классная сеть» .


Спасибо, что уделили время написанию ответа. Однако я не понимаю, каким образом ваш ответ каким-либо образом связан с моим вопросом.

5
Его ответ точен. Когда вы поймете разницу между бесклассовым и бесклассовым, ответ будет иметь смысл.
Рикки Бим

@baerenfaenger Вот ваш вопрос, как я его понял. «Я просто не могу понять, почему ... классная адресация - это дело прошлого» ... CIDR просто решает проблему множественных записей в таблицах пересылки, верно «Таким образом, классы IP-адресов все еще существуют, не так ли?»
Питер

Однако в IPv4 сеть подсети / 31 не может содержать никаких IP-адресов, 0 равно Оба зарезервированы для идентификатора самой сети и широковещательной передачи в сеть.
фрик с трещоткой

2
@ratchet freak за исключением ptp-ссылок, там вам не нужен широковещательный IP, и вы можете использовать / 31, см. tools.ietf.org/html/rfc3021
Pieter

5

Как уже объясняют многие ответы, классы остались в прошлом, потому что они не допускают масок подсетей, отличных от / 8, / 16 и / 24.

Эти конкретные маски подсетей все еще очень популярны, особенно / 24, потому что они самые простые для нас, людей. Для этих масок конец подсетевой части адреса совпадает с точкой в ​​IP-адресе (с десятичными точками). Таким образом, визуально ясно, находятся ли два IP-адреса в одной подсети или нет, никаких расчетов не требуется.

Вот почему термины классов A, B и C сохраняются, они по-прежнему совпадают с наиболее распространенными масками подсетей. Но они больше не имеют смысла, и говорить, что 10.11.12.0/24 - это класс C, просто неправильно. Первый октет класса C был по определению между 192 и 223.


2

В классовой маршрутизации маска сети подразумевается старшими битами адреса и не сохраняется в таблицах маршрутизации; класс является свойством каждого адреса, а не только топологии маршрутизации. Сеть класса C не может быть подмножеством сети класса B, поскольку старшие биты не могут совпадать с обоими.

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


1

Единственное место, где я видел реальное классное поведение в последние годы, - это протокол двухточечного туннелирования. PPTP Многие считают, что это устарело само по себе, но, безусловно, многое еще используется.

Когда клиент подключается к серверу, туннель получает маршрут по умолчанию или маршрут к классной сети сервера. https://technet.microsoft.com/en-us/library/cc779919%28v=ws.10%29.aspx

Было несколько сетей, где это было на самом деле проблемой, совсем недавно, в 2016 году.

Я полагаю, что есть обходные пути с DHCP и различными дополнительными сценариями, и действительно для маршрутов в другом направлении. Если это вообще возможно, используйте другой протокол туннелирования, который лучше поддерживает маршруты.

С уважением,

Джонатан.


0

Как вы правильно описали, классовая адресация неэффективна по сравнению с бесклассовой адресацией, поскольку многие IP-адреса остаются внутри подсетей с классной адресацией.

Я просто не могу понять, почему каждый ресурс, к которому я прикасаюсь, утверждает, что классовая адресация - это дело прошлого

Это правда, что IP-адреса могут обрабатывать сеть класса C, но это не так для всех интернет-провайдеров. Кроме того, в предыдущую эпоху классовая адресация использовалась во всех подсетях (даже для домашних подсетей или корпоративных подсетей), где в настоящее время используется только бесклассовая адресация (если не NAT).

Это причина, по которой классная адресация уходит в прошлое.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.