Еще до появления Интернета существовали компьютерные сети. Эти сети использовали IP-адреса, идентичные тем, которые используются сегодня. Эти сети были связаны между собой сетью ARPANET, которая в конечном итоге превратилась в то, что сейчас называется Интернетом. В те первые дни компьютерных сетей масштабы и популярность Интернета были практически невообразимы. Многих современных технологий, которые мы принимаем как должное, просто не существовало. Из-за этого и предположений того времени были розданы огромные партии IP-адресов.
Поскольку сеть ARPANET продолжала расти, было установлено, что современная система выдачи адресов в ближайшем будущем столкнется с проблемами исчерпания адресного пространства. Классовая сеть была первой попыткой отсрочить проблему нехватки места. Чтобы понять, что такое классовая сеть и как она работает, важно понимать лежащие в ее основе системы, в первую очередь адреса IPv4.
Структура IP-адреса
IP-адрес — это уникальный адрес интернет-протокола, используемый для направления сетевого трафика через Интернет. IPv4 является основной схемой адресации. Адреса IPv4 обычно отображаются в виде четверки с точками, чтобы их можно было прочитать. Например, IP-адрес может выглядеть так: «192.168.0.1». Каждый IP-адрес состоит из четырех частей, разделенных точками, отсюда и термин «четверка с точками». Однако его также называют точечно-десятичной записью.
Однако на самом деле компьютеры не используют этот формат. Как и все, с чем имеют дело компьютеры, IP-адреса используются в двоичном формате. В случае адресов IPv4 каждый из четырех разделов, известный как октет, представлен 8 двоичными цифрами. Приведенный выше адрес действительно «11000000.10101000.00000000.00000001» в двоичном формате.
Одна из ключевых особенностей этого заключается в том, что, поскольку каждый октет представлен только 8 двоичными битами, удобочитаемые числа должны находиться в диапазоне от 0 до 255. Это означает, что существует не более 255*255*255*255 или 4 294 967 296 возможных IP-адресов. Хотя четыре миллиарда возможных IP-адресов, вероятно, кажутся большим количеством, это меньше, чем один IP-адрес на каждого живущего в настоящее время человека. Большинство людей в западном мире имеют более одного устройства, подключенного к Интернету.
Сети класса А и ранние предположения
На заре компьютерных сетей предполагалось, что сетей не будет много. Не было домашнего подключения к Интернету или даже домашних компьютеров. Крупные компании, образовательные институты и правительственные учреждения были единственными местами, где были какие-либо сети. Предполагалось, что все эти сети могут значительно вырасти. Напротив, общее количество сетей останется относительно небольшим. Это предположение даже не было искажено информацией того времени, поскольку IBM PC, первый домашний компьютер, еще не был выпущен.
Такие компании, как Apple, Ford и AT&T, получили большое количество адресов. Министерство обороны США получило более дюжины больших пакетов адресов. Apple получила 17.0.0.0, Ford — 19.0.0.0, AT&T — 12.0.0.0, а DOD — 6.0.0.0, 7.0.0.0, 11.0.0.0 и другие. Каждая из этих сетей присвоила каждый IP-адрес, начинающийся с первого числа (17, 7, 19 и т. д.), соответствующим компаниям. Это означало, что каждая сеть могла поддерживать 16 777 216 индивидуальных IP-адресов. Это также означало, что всего существует 255 возможных сетей.
Это было большой проблемой, поскольку по мере роста популярности компьютерных сетей стало ясно, что 255 сетей будет недостаточно для удовлетворения спроса. К счастью, эта проблема была обнаружена достаточно рано, чтобы разработать исправление. Первое исправление называлось классовой сетью и было представлено в 1981 году. Между прочим, это тот самый год, когда был выпущен IBM PC. Персональный компьютер и домашнее подключение к Интернету вскоре усилит давление на адресное пространство.
Классы
Идея классовой сети состоит в том, чтобы разбить эти массивные сети на множество более мелких. Первоначальные огромные сети были реклассифицированы как сети класса А. Также были созданы новые классы B и C, а еще один раздел был зарезервирован для использования в будущем. Самый простой способ разделить классы состоит в том, что класс A занимает первую половину всех адресов. Затем класс B получает половину оставшихся адресов, а класс C получает половину адресов после класса B. Остальное адресное пространство зарезервировано.
На практике это означает, что любой IP-адрес, первый октет которого имеет число меньше 128, является сетью класса А. Сеть класса B — это любой адрес, первый октет которого находится в диапазоне от 128 до 191. Любая сеть, в которой первый октет находится между 192 и 223, является сетью класса C. И все, что начинается с 224 или выше, зарезервировано. В двоичном выражении каждый IP-адрес класса A начинается с 0. Каждый адрес класса B начинается с 10, каждый адрес класса C начинается с 110, а зарезервированное пространство начинается с 111. Это позволяет легко определять границы каждой сети.
Это означает, что общее пространство для сетей класса А уменьшается вдвое с исходных 256 до 128. Важно отметить, что это также означает, что в настоящее время существует 16 384 сети класса B, каждая из которых поддерживает до 65 536 IP-адресов, и 2 097 152 сети класса C, каждая из которых поддерживает 256 IP-адресов. Зарезервированное пространство в конце адресного пространства позже было разделено на класс D и класс E.
Зарезервированное место
Несколько адресов в начале и конце каждого класса были зарезервированы, а некоторые разделы в середине также были зарезервированы. Некоторые, например от 0.0.0.0 до 0.255.255.255, ни для чего специально не использовались, вместо этого они были зарезервированы для использования в будущем. Другим зарезервированным разделам была дана определенная цель. Например, любой IP-адрес, начинающийся с 127, рассматривается как петлевой адрес. Сетевой трафик никогда не передается и просто возвращается к отправителю без отправки.
Адреса, начинающиеся с 192, были зарезервированы, а адреса 192.168 зарезервированы для использования во внутренних сетях, что позволяет использовать их в любой внутренней сети. Это используется почти во всех домашних сетях, например, так как предоставляет 256 возможных адресов. Для более крупных случаев использования любой адрес, начинающийся с 172.16 до 172.31, также зарезервирован для внутреннего использования, как и любая сеть, начинающаяся с 10.
Эти частные адресные пространства зарезервированы только для внутреннего использования. Все сетевое оборудование предназначено для предотвращения передачи любого трафика, предназначенного для одного из этих зарезервированных адресов, через маршрутизатор в другую сеть. Адреса зависят от сети, то есть каждый может использовать их в своих внутренних сетях. Чтобы это работало, маршрутизатор должен иметь общедоступный IP-адрес, отслеживайте, какое внутреннее устройство запрашивая данные из другой сети, и убедитесь, что ответ возвращается правильно устройство. Этот метод называется NAT или преобразованием сетевых адресов.
Успех и провал классовой сети
Классовая сеть позволяет гораздо более эффективно использовать пространство, чем просто назначение одного 256й возможного адресного пространства любой компании, которая запросит его. Подавляющему большинству компаний, государственных ведомств и т. д. не нужны 16 777 216 IP-адресов. Они могут получить гораздо меньшее количество назначенных им IP-адресов и работать нормально.
Хотя классовая сетевая система хорошо выглядит на бумаге и, безусловно, хороша, к сожалению, она сталкивается с аналогичными проблемами в другом масштабе. Большинство компаний также меньше, чем сеть класса B, и им не требуется 65536 возможных IP-адресов. Однако даже в середине 80-х и начале 90-х годов многие компании были слишком велики для сети класса C всего с 256 IP-адресами. Это означало, что компаниям часто требовались сети класса B, даже если им требовалось всего 300 IP-адресов. Опять же, это означало, что адресное пространство использовалось неэффективно: огромные массивы адресов были выданы компаниям, которые никогда не использовали бы его полностью.
Преемники классовой сети
Эта проблема была быстро выявлена, и в 1993 году, всего через 12 лет после введения классовой сети, ее заменили. Его замена была названа бесклассовой междоменной маршрутизацией или CIDR (ярко выраженный сидр). CIDR допускал гораздо больше возможностей настройки количества выдаваемых адресов. Разрешение сетей определяться каждым двоичным битом, а не каждым октетом. Это решение все еще используется сегодня, хотя массовый рост устройств, подключенных к Интернету, полностью исчерпал адресное пространство IPv4 даже при использовании этого более эффективного метода адресации.
Решением этой проблемы является переход на IPv6, который обеспечивает гораздо большее адресное пространство, а точнее 340 282 366 920 938 463 463 374 607 431 768 211 456 возможных адресов. Это примерно 340 триллионов триллионов триллионов, что намного больше, чем 4,3 миллиарда нечетных IPv4-адресов. К сожалению, несмотря на срочность, вызванную надвигающимся и уже существующим исчерпанием адресного пространства IPv4, поддержка IPv6 все еще отрывочна. Однако это в основном связано с устаревшим оборудованием.
Вывод
Классовая сеть была ранней попыткой повысить эффективность распределения IP-адресов. Ему удалось отсрочить исчерпание адресного пространства IPv4 за те 12 лет, что оно существовало. Он был заменен CIDR, который был более успешным долгосрочным решением.
Некоторое наследие классовых сетей продолжает жить, и многие компании все еще имеют сети класса B или даже некоторые из них, которым назначены сети класса A, которые они не могут эффективно использовать. Действительно, даже попытка сделать это представляет некоторую угрозу безопасности, поскольку любая машина, использующая один из этих IP-адресов, будет публично доступна без установленного брандмауэра. В нотации CIDR сеть класса A — это /8, сеть класса B — это /16, а сеть класса C — это /24.