Является ли диапазон частных IP-адресов класса C (или даже класса A или B) теоретическим и практическим или это просто теоретический подход?

3834
Timal Peramune

Моя путаница заключается в том, что, если мы возьмем, например, частный диапазон IP-адресов класса C, он позволяет использовать 254 хоста. Это теоретическая сумма или на самом деле возможно иметь 254 хоста?

Я бы предположил, что наличие 254 хостов в домашней сети наверняка замедлит или нарушит нормальную работу сети, или я что-то упустил?

7
Сетевые классы мертвы, убиты в 1993 году RFC 1517, 1519 и 1519, которые определили CIDR (_Classless_ Inter-Domain Routing). Современные сети не используют сетевые классы. Пожалуйста, дайте им пухом. Ron Maupin 5 лет назад 33
Расслабься, я получил тебя в первый раз, вопрос не в этом Timal Peramune 5 лет назад 6
@ RonMaupin, нет никакой разницы между классом C и VLSM 255.255.255.0. Схемы адресации полного класса далеко не мертвы, они просто включены в более гибкую схему. если бы мы говорили о маршрутизации, я мог бы быть с тобой, но ... Frank Thomas 5 лет назад 6
@FrankThomas, сетевые классы определялись по первым битам адреса. Это абсолютно не имеет отношения к современной сети. Современная сеть использует _Classless_ Inter-Domain Routing, позволяя разделить то, что раньше было полным классом сети, на несколько AS. VLSM используется с CIDR, и больше нет никаких следов сетевых классов. Ron Maupin 5 лет назад 1
Оформить заказ RFC1918? Frank Thomas 5 лет назад 1
@FrankThomas, "нет разницы между классом C и VLSM 255.255.255.0._" Это явно ложно. Определение сетевого адреса класса C - это адрес, который начинается с первых трех битов как `110`. (Класс A начинался с «0», класс B начинался с «10», класс C начинался с «110», класс D начинался с «1110», а класс E начинался с «1111»). Каждый класс от A до C имел маску _default_, но `10.0.0.0` с маской` 255.255.255.0` все еще была сетью класса A. Ron Maupin 5 лет назад 7
@FrankThomas, да, но он говорит кое-что интересное о нотации _pre-CIDR_: «Мы будем называть первый блок как« 24-битный блок », второй - как« 20-битный блок », а третий - как« 16- битовый блок. Обратите внимание, что (в обозначениях до CIDR) первый блок является ничем иным, как одним номером сети класса A, тогда как второй блок является набором из 16 смежных номеров сети класса B, а третий блок является набором из 256 смежных сетей. номера сети класса C._ "Классы основаны на первых битах адреса, а не на маске. Ron Maupin 5 лет назад 2
Большое значение для CIDR - объединение маршрутов (супернет). с точки зрения схем адресации, бит сети и количество бит хоста всегда подчеркивались над первым байтом адреса, за исключением конструкции ASIC (опять же, маршрутизация). для 156.0.0.0/8 нет и не будет действительной сети, хотя это допустимый агрегат для таблицы маршрутизации. с точки зрения схем IP-адресов, если он крякает как утка ... Frank Thomas 5 лет назад 1
@FrankThomas, есть сети, подобные `56.57.58.0 / 24` (_не_ сети класса C). RFC 791, Интернет-протокол: «Существует три формата или класса интернет-адресов: в классе а старший бит равен нулю, следующие 7 бит - это сеть, а последние 24 бита - локальный адрес; в классе b старшие два бита равны нулю, следующие 14 битов являются сетью, а последние 16 битов являются локальным адресом, в классе c три старших разряда являются единицей один ноль, следующие 21 бит являются сетью и последние 8 битов являются локальным адресом. "_ RFC 1517, 1518 и 1519 убили это. Ron Maupin 5 лет назад 1
@FrankThomas, фактически, будучи сетевым инженером более 30 лет (до CIDR и CIDR), один из интересных вопросов перед приемом на работу, который я видел, состоит в следующем: «Сколько сетей класса C вы можете сделать из 10.0? .0.0 / 8`? _ "Ответ, который дают ученики, не посещающие школу, всегда неверен. Правильный ответ - `0`, потому что сетевых классов больше нет, и любой адрес в этом диапазоне является старым адресом класса A. Он отсеивает тех, у кого нет опыта, и тех, кто не совсем понимает адресацию IPv4. Ron Maupin 5 лет назад 3
@RonMaupin - вы можете расчесывать волосы сколько угодно, но «С» в смысле любого диапазона адресов xxx0 - xxx255 широко используется в обычной технической речи, по крайней мере, здесь. Edheldil 5 лет назад 13
@RonMaupin - не все учителя освещают подобные «исторические» ссылки. Я пытаюсь упомянуть «то, что мы называли Class C в прежние времена, но на самом деле это / 24 в CIDR-нотации» в преподаваемых мной классах (материал для администраторов Linux), но я не уверен, что наше введение в сетевые технологии, cisco или windows server инструкторы делают или нет. Я делаю это просто потому, что когда я узнал об этом, система Классов все еще использовалась, и я не знаю, что мои студенты читали / не читали, учились где-то еще и т. Д. ivanivan 5 лет назад 1
@RonMaupin, так как классы мертвы, не является ли этот вопрос немного контрпродуктивным? Требование технически точного ответа отсеет тех, кто не знает давно ушедших определений (если они вообще каким-то образом избегали слышать о классах), или тех, кто вместо этого услышал разговорный смысл (класс C == `/ 24`) , (Он также помечает спрашивающего за то, что он либо придирчивый и / или специально ставит ловушку, либо как совершенно запутанный, поскольку в конце концов предпосылка вопроса ошибочна.) ilkkachu 5 лет назад 4
@ilkkachu святое дерьмо, вопрос не был конкретно о классе C. Я знаю, что сейчас мы используем CIDR, но независимо от того, что я хотел знать, даже если бы я использовал подсеть / 25, будет ли что-то вроде домашнего маршрутизатора даже поддерживать 126 хостов / подсеть. Timal Peramune 5 лет назад 0
@TimalPeramune, ааа, я не имел в виду ваш вопрос! Только «интересный вопрос перед трудоустройством» Рон упомянул в своем [комментарии] (https://superuser.com/questions/1334492/is-a-class-c-private-ip-address-range-or-even-class -a-или-б-и-теоретико-? noredirect = 1 # comment1995418_1334492). ilkkachu 5 лет назад 1

2 ответа на вопрос

44
Bob

Начнем с того, что классная адресация не использовалась с середины 90-х годов. Теперь все использует CIDR, что позволяет разбить адресное пространство IPv4 на любой размер от /32(2 ^ (32-32) = 1 адрес) до /0(2 ^ (32-0) адресов). Соответствующий размер для (древней) сети класса C будет /24подсетью в CIDR.

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


Теперь маршрутизаторам вообще все равно, сколько адресов в одной подсети. Они все равно отправят их в правильный пункт назначения. Проблемы на уровне маршрутизации могут возникнуть в том случае, если у вас слишком много подсетей - мы разбили подсети на все меньшие и меньшие, чтобы справиться с исчерпанием IPv4, поэтому компания могла бы купить один смежный /28из 14 используемых адресов. В прошлом им, возможно, приходилось приобретать два отдельных /29адреса по 6 в каждом.

То, что раньше было единичным /16(первоначально назначенным как класс B около 30 лет назад), теперь можно разделить на 1000 /26с, что означает еще 1000 записей в таблицах маршрутизации. Сделайте это несколько (тысяча) раз, и ваши столы теперь заполнены. Это вызвало серьезные перебои в работе раньше, и, скорее всего, это произойдет снова.

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


Другая потенциальная проблема, о которой вы упоминаете, относится к уровням маршрутизации ниже одной подсети. Здесь вы можете столкнуться с проблемами, если ваш широковещательный домен слишком велик. Хотя широковещательный домен не обязательно совпадает с подсетью, для большинства (особенно бытовых / домашних) целей он одинаков.

Когда ваш широковещательный домен становится слишком большим, вы можете столкнуться с проблемами: таблицы ARP вашей ОС могут переполниться (~ 256 по умолчанию в Windows, ~ 1024 по умолчанию в Linux, но настраиваются на обоих). Это означает, что ваша ОС начинает забывать, какому MAC-адресу соответствует IP-адрес, и ей нужно снова его обнаружить, отправив запрос ARP ... который транслируется на каждый хост. При слишком большом количестве хостов большую часть пропускной способности вашей сети занимают запросы и ответы ARP.

Кроме того, ваши сетевые коммутаторы (часто встроенные в потребительские маршрутизаторы как 4 порта «LAN») могут быть немного недовольны слишком большим количеством хостов, потому что их таблицы пересылки (основанные на MAC-адресах, а не IP-адресах) имеют только фиксированный размер, и они могут начать «забывать», какой порт направлять.

К счастью (или умышленно?), Эти проблемы обычно появляются где-то к северу от 256 хостов, поэтому 254 в одной подсети, вероятно, не столкнутся с ними. Они - причина, по которой вы обычно должны перемещаться между /24s, а не использовать, скажем, один /16.


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

Большинство DHCP-серверов на пользовательских маршрутизаторах по умолчанию используют пул адресов только из 100 адресов, поэтому вы никогда не достигнете 254 без настройки размера пула или назначения статических адресов.


В конце концов, хотя у нас есть проблемы с исчерпанием IPv4 на глобальном уровне, абсолютно нет недостатка в частных адресах (у которых есть три больших диапазона, a /8, a /12и a /16, с которыми можно играть), которые могут содержать более 65000 /24с. ). Есть небольшая причина, чтобы попытаться сохранить их, поэтому никто не мешает стать меньше, чем /24.

И, если вы хотите, вы можете иметь 254 активных хоста на /24. Большинство потребительских маршрутизаторов / коммутаторов и ОС по большей части справятся даже с этим, хотя может потребоваться некоторая настройка (особенно DHCP).

16
Frank Thomas

Это реальные / конкретные ограничения, а не только теоретические. В схемах IP-адресации нет ничего, что «раздвигает границы» технологии, поэтому она работает именно так, как рекламируется.

Класс C использует 8 битов для адресации хоста, поэтому 00000000 - 11111111 - фактический диапазон (0-255 или 256 порядковых значений). из них верхнее и нижнее значения зарезервированы для широковещательной рассылки и идентификатора маршрута, что дает вам 254 доступных адреса.

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

Мне нравится ваш ответ лучше всего. В своем следующем дыхании я бы подчеркнул, что с 250 адресами вы быстро узнаете пределы домашней техники. Кажется, что все трансляции и обычные бесполезные полеты перегружают множество потребительского оборудования. Исходный вопрос кажется очень актуальным, и в этой ситуации вы хотели бы активно его решать, а не разрешать всем в одной подсети. Даже в сценарии ipv6 это, похоже, относится к домашнему маршрутизатору, который я купил в магазине долларов в корзине. Sql Surfer 5 лет назад 0
Вопрос уже указывает на понимание базовой адресной структуры. Его вопрос больше о практических возможностях оборудования. Barmar 5 лет назад 2

Похожие вопросы