Если в сети 1000 компьютеров то она относится к классу
Согласованное использование адресов различного типа. Эта задача включает отображение адресов разных типов, например преобразование сетевого IP-адреса в локальный, доменного имени — в IP-адрес.
Обеспечение уникальности адресов. В зависимости от типа адреса требуется обеспечивать однозначность адресации в пределах компьютера, подсети, корпоративной сети или Интернета.
Конфигурирование сетевых интерфейсов и сетевых приложений.
Каждая из перечисленных задач имеет достаточно простое решение для сети, число узлов которой не превосходит нескольких десятков. Например, для отображения символьного доменного имени на IP-адрес достаточно поддерживать на каждом хосте таблицу всех символьных имен, используемых в сети, и соответствующих им IP-адресов. Столь же просто «вручную» присвоить всем интерфейсам в небольшой сети уникальные адреса. Однако в крупных сетях эти же задачи усложняются настолько, что требуют принципиально других решений.
Ключевым словом, которое характеризует подход к решению этих проблем, принятый в TCP/IP, является масштабируемость.
Процедуры, предлагаемые TCP/IP для назначения, отображения и конфигурирования адресов, одинаково хорошо работают в сетях разного масштаба. В этой главе наряду с собственно схемой образования IP-адресов мы познакомимся с наиболее популярными масштабируемыми средствами поддержки адресации в сетях TCP/IP: технологией бесклассовой междоменной маршрутизации, системой доменных имен, протоколом динамического конфигурирования хостов.
Формат IP-адреса
В заголовке IP-пакета для хранения IP-адресов отправителя и получателя отводятся два поля, каждое имеет фиксированную длину 4 байта (32 бита). IP-адрес состоит из двух логических частей — номера сети и номера узла в сети.
Наиболее распространенной формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например:
Этот же адрес может быть представлен в двоичном формате:
10000000 00001010 00000010 00011110
А также в шестнадцатеричном формате:
Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает необходимость разделить адрес на эти две части. Например, маршрутизация, как правило, осуществляется на основании номера сети, поэтому каждый маршрутизатор, получая пакет, должен прочитать из соответствующего поля заголовка адрес назначения и выделить из него номер сети. Каким образом маршрутизаторы определяют, какая часть из 32 бит, отведенных под IP-адрес, относится к номеру сети, а какая — к номеру узла?
Можно предложить несколько вариантов решения этой проблемы.
Простейший из них состоит в использовании фиксированной границы При этом всё 32-битное поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, в другой — номер узла. Решение очень простое, но хорошее ли? Поскольку поле, которое отводится для хранения номера узла, имеет фиксированную длину, все сети будут иметь одинаковое максимальное число узлов. Если, например, под номер сети отвести один первый байт, то все адресное пространство распадется на сравнительно небольшое (2 8 ) число сетей огромного размера (2 24 узлов). Если границу передвинуть дальше вправо, то сетей станет больше, но все равно все они будут одинакового размера. Очевидно, что такой жесткий подход не позволяет дифференцированно удовлетворять потребности отдельных предприятий и организаций. Именно поэтому он не нашел применения, хотя и использовался на начальном этапе существования технологии TCP/IP (RFC 760).
Второй подход (RFC 950, RFC 1518) основан на использовании маски, которая позволяет максимально гибко устанавливать границу между номером сети и номером узла. При таком подходе адресное пространство можно использовать для создания множества сетей разного размера.
Некоторые адреса являются зарезервированными и не могут быть присвоены сетевым устройствам. К ним относятся следующие:
- 0 Сетевые адреса, идентифицирующие саму сеть, например сеть 198.150.11.0 IP-адрес, у которого все биты, отведенные под адрес узла заполнены нулями зарезервирован под номер сети, например, 176.0.0.0
- 255 Широковещательный адрес 198.150.11.255 используется для широковещательной рассылки всем сетевым устройствам
- Сеть с номером 127.0.0.0 зарезервирована для обратного петлевого тестирования (маршутизаторы или локальные узлы могут использовать его для передачи пакетов самим себе).
Для того чтобы программное обеспечение могло автоматически выделять номера конкретных компьютеров из используемых в данной сетевой системе IP-адресов, применяются так называемые маски подсети.
Маска — это число, применяемое в паре с IP-адрссом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IР-адресе.
И, наконец, способ, основанный на классах адресов (RFC 791). Этот способ представляет собой компромисс по отношению к двум предыдущим: размеры сетей хотя и не могут быть произвольными, как при использовании масок, но и не должны быть одинаковыми, как при установлении фиксированных границ. Вводится пять классов адресов: А, В, С, D, Е. Три из них — А, В и С — предназначены для адресации сетей, а два — D и Е — имеют специальное назначение. Для каждого класса сетевых адресов определено собственное положение границы между номером сети и номером узла.
Классы IP-адресов
Признаком, на основании которого IP-адрес относят к тому или иному классу, являются значения нескольких первых битов адреса. Таблица 15.1 иллюстрирует структуру
IP-адресов разных классов.
К классу А относится адрес, в котором старший бит имеет значение 0. В адресах класса А под идентификатор сети отводится 1 байт, а остальные 3 байта интерпретируются как номер узла в сети. Сети, все IP-адреса которых имеют значение первого байга в диапазоне от 1 (00000001) до 126 (01111110), называются сетями класса А. Значение 0 (00000000) первого байта не используется, а значение 127 (01111111) зарезервировано для специальных целей (см. далее). Сетей класса А сравнительно немного, зато количество узлов в них может достигать 224, то есть 16 777 216 узлов.
К классу В относятся все адреса, старшие два бита которых имеют значение 10. В адресах класса В под номер сети и под номер узла отводится по 2 байта. Сети, значения первых двух байтов адресов которых находятся в диапазоне от 128.0 (10000000 00000000) до 191.255 (10111111 11111111), называются сетями класса В. Ясно, что сетей класса В больше, чем сетей класса А, а размеры их меньше. Максимальное количество узлов в сетях класса В составляет 2 16 (65 536)
К классу С относятся все адреса, старшие три бита которых имеют значение 110. В адресах класса С под номер сети отводится 3 байта, а под номер узла — 1 байт. Сети, старшие три байта которых находятся в диапазоне от 192.0.0 (11000000 00000000 00000000) до
223.255.255(11011111 11111111 11111111), называются сетями класса С. Сети класса С наиболее распространены, и наименьшее максимальное число узлов в них равно 2^8 (256).
Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый групповой адрес (multicast address). В то время как адреса классов А, В и С служат для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), групповой адрес идентифицирует группу сетевых интерфейсов, которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает наряду с обычным индивидуальным IP-адресом еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса D, то такой пакет должен быть доставлен всем узлам, которые входят в группу.
Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.
Чтобы получить из IP-адреса номер сети и номер узла, требуется не только разделить адрес на две соответствующие части, но и дополнить каждую из них нулями до полных 4 байт. Возьмем, например, адрес класса В 129.64.134.5. Первые два байта идентифицируют сеть, а последующие два — узел. Таким образом, номером сети является адрес 129.64.0.0, а номером узла — адрес 0.0.134.5.
IP- адрес (Internet Protocol address) - это своеобразный идентификатор определенного устройства (например ПК, виртуальный сервер ), которое подключено к сети Интернет. Основная функциональная обязанность таких адресов сети - это формирование аффективного соединения оборудования (телефон, компьютер, ноутбук, сервер и т.п.) в сети. Таким образом, каждый компьютер, который имеет доступ к Интернет, имеет свой IP-адрес, посредством которого данный пользователь анонсируется в сети. Если при подключении к сети Интернет Ваш провайдер выдал Вам индивидуальный IP-адрес, этот адрес является статическим (либо«белым»); если же Интернет-провайдер не выдает каждому пользователю отдельный сетевой адрес, пользователь получают доступ к сети через, так называемый, «серый» IP-адрес. Поскольку провайдерам необходимо огромное количество адресов, иногда они используют «серые» адреса для работы в локальной сети, что абсолютно не влияет на качество связи либо скорость соединения, но такие адреса не могут анонсироваться в глобальной сети,а значит соединиться с оборудованием будет невозможно. Узнать является присвоен ли Вам выделенный IP-адрес Вы можете на прямую у Вашего Интернет-провайдера.
Стандартной формой записи выделенного IP есть четыре цифры от 0 до 255 с точкой после каждой, например 192.168.2.1. Большое количество сетевых адресов, объединяют в блоки: PI (Provider Independent) и PA (Provider Aggregatable). PA - зависимый блок, который принадлежит IP-провайдеру и предоставляется Интернет-провайдеру в аренду; PI - независимый блок адресов, который находится в собственности клиента и может анонсироваться (выводиться в Интернет) при помощи разных IP-провайдеров.
IP-адреса выдаются региональными Интернет-регистраторами (RIR- Regional Internet Registry). Существует пять региональных регистраторов, которые выдают сетевые ip адреса :
1) ARIN – в Северной Америке;
2) APNIC – в странах Юго-Восточной Азии;
3) AfriNIC – в странах Африки;
4) LACNIC – в странах Южная Америка и бассейн Карибского моря;
5) RIPENCC – в странах Европы, Центральной Азии и Ближнего Востока.
Региональные Интернет-регистраторы выдают блоки адресов локальным Интернет-регистраторам (lIR- Local Internet Registry), а они в свою очередь передают их более мелким Интернет провайдерам, которые нуждаются в тысячах таких адресов ежедневно, что бы присвоить выделенный IP-адрес каждому пользователю Интернет.
4.5 Классовые сети и классы сетей в протоколе IP. Классовая адресация в IP сетях
Если тема компьютерных сетей вам интересна, то можете ознакомиться с другими записями курса.
4.5.1 Введение
Классовая адресация IP сетей — это первый механизм, с помощью которого узлы сети определяли судьбу IP-пакетов, этот механизм плавно перерос в CIDR и VLSM, которыми мы до сих пор пользуемся, чтобы проще было разобраться с CIDR и VLSM, нам нужно понять как работали классовые сети.
4.5.2 Классовая адресация IP сетей
Классовые сети в протоколе IP использовались с 1981 по 1993 год, начиная с 1993 года появились сети CIDR и механизм VLSM, поскольку гибкость и экономичность расходования IP-адресов в классовых сетях оставляла желать лучшего. Раз сети классовые, то значит есть и какие-то стандартные классы, вот они:
- Сеть класса А.
- Сеть класса B.
- Сеть класса C.
- Сеть класса D.
- Сеть класса E.
Как определить к какому классу сети принадлежит IP-адрес? Да очень просто, достаточно взглянуть на первых несколько бит в IP-адресе и всё станет ясно. Первых три класса IP-адресов определяли размер сети, сети класса D использовались для многоадресной рассылки, а сети класса E были зарезервированы для будущих целей.
Скорее всего на данный момент вы не встретите сетей, IP адресация в которых реализована при помощи классов. Отказ от классов и классовой адресации произошел главным образом из-за неэкономного расходования IP-адресов. А как вы наверно знает, в мире сейчас ощущается недостаток публичных IPv4 адресов.
4.5.3 Формат IP-адресов и классы сети
Когда мы разбирались со структурой IP-адреса я уже упоминал о том, что принадлежность к классу сети определяется первыми битами IP-адреса, но на самом деле это еще не всё, дело в том, что за первой последовательностью бит, определяющей классовую принадлежность, идет вторая последовательность, которая определяет сеть, к которой принадлежит IP-адреса или номер сети, а за ней третья последовательность для записи номера узла. Несколько таблиц ниже это наглядно демонстрируют.
Сначала давайте посмотрим на структуру IP-адреса из сети класса А:
Рисунок 4.5.1 Структура IP-адреса класса A
Здесь мы видим, что принадлежность IP-адреса к классу определяется первым битом IP-адреса, если он имеет значение 0, то это сеть класса А. Вспоминая двоичную систему счисления здесь и сейчас мы уже можем сделать следующий вывод: в классовых сетях половина всего пространства IP-адресов принадлежала классу А, поскольку ровно у половины IP-адресов самый крайний левый бит 0, у другой половины первый бит 1. Далее идет 7 бит, которые определяют номер сети класса А, давайте сейчас скажем, что если под номера сети нам выделено 7 бит, то это означает, что всего можно сделать 2 7 сетей внутри класса А или 128 сетей, а в каждую такую сеть мы можем поместить 2 24 узлов, ведь под номер узла нам здесь дается целых 24 бита, а это целых 16 777 216 узлов в одной подсети, итого получается, что сети класса А – это половина все адресного пространства в протоколе IPv4 или 2 147 483 392 IP-адреса. Изначально планировалась выдавать IP-адреса из сети класса А только очень крупным компаниям.
Если принять во внимания только те факторы, что мы описали выше, то получается, что сети класса А занимают пространство IP-адресов с 0.0.0.0 по 127.255.255.255, а из этого следует, что в сетях класса А первый октет определяет номер сети, а три других отданы под номер узла. Давайте теперь посмотрим на структуру IP-адреса из сети класса B.
Рисунок 4.5.2 Структура IP-адреса класса B
Здесь мы видим, что сеть класса B определяется по первым двум битам, если их значение 102, то перед нами IP-адрес из сети класса B, последующих 14 бит отданы под номер узла, а оставшихся 16 бит определяют номер хоста. Получается, что внутри класса B доступно 16384 сети или 214 номеров сети. И давайте пока скажем, что в одной сети класса B может быть 65536 узлов. А всего в сети класса B получается 1 073 741 824 IP-адреса, то есть одна четвертая IP-адресов от всего пула, планировалось выдавать сети из класса B только крупным компаниям.
Из того, что мы сказали выше получается, что первый IP-адрес в сети класса B 128.0.0.0, а последний 191.255.255.255, если принять во внимание структуру IP-адреса сети класса B, то первых два байта здесь отданы под номер сети, а оставшихся два байта определяют номер хоста. Перейдем к сетям класса C.
Рисунок 4.5.3 Структура IP-адреса класса C
Если первых три бита имеют значения 1102, то перед вами IP-адрес из сети класса C. А далее следует последовательность из 21 бита, которая отдана под номер сети, 21 + 3 = 24, следовательно, под номер хоста у нас остается 8 бит, ведь сам IP-адрес 32 бита. Получается, что внутри класса C можно нарезать 2 097 152 сети или 221 номеров сети. А внутри одной сети класса C может быть 2 8 номеров узла или 256 узлов. Нетрудно посчитать, что всего в классе C всего 536 870 912 IP-адресов, первый IP-адрес 192.0.0.0, а последний 223.255.255.255.
В сетях класса C первых три октета определяют номер сети, а последний байт используется для нумерации узлов. Ниже показана структура multicast IP-адреса в классовых сетях, для которых был выделен класс D.
Рисунок 4.5.4 Структура IP-адреса класса D
Какая тут логика? Попробуем ответить на вопрос: много ли мы знаем чисел в десятичной системе счисления от 0 до 255, у которых четыре старших разряда были бы представлены последовательностью 11102. Сначала ответим на вопрос: почему от 0 до 255? Да потому что в один октет можно записать число только из этого диапазона, больше уже не влезет, число 255 в двоичной системе записывается как 111111112, а число 256 уже записывается как 1000000002, то есть это уже 9 бит. С учетом ограничения в 8 бит выходит, что первое попадающее под последовательность 11102 это 224 (11100000), а последнее число, попадающее под эти условия, в двоичной системе будет выглядеть так: 111011112, в десятичной системе 239. Получается начальный IP-адрес сети класса D 224.0.0.0, а последний 239.255.255.255. Говорит о числе возможных хостов и сетей в данном случае не имеет смысла.
Перейдем к сетям класса E, которые никому не выдавались и были зарезервированы под различные эксперименты и будущие технические новшества в сетях передачи данных, структура IP-адреса сети класса E показана ниже.
Рисунок 4.5.5 Структура IP-адреса класса E
Здесь самое главное, чтобы первых четыре бита первого октета IP-адреса имели значение 11112. Руководствоваться здесь нужно той же логикой, которая у нас была при рассмотрении сети класса D, хотя можно сказать проще: все оставшиеся IP-адреса были зарезервированы и относились к сети класса Е. Начальный адрес сети класса E 240.0.0.0, а конечный адрес 255.255.255.255.
Тут вы должны меня прервать и сказать: «Стоп, а как мы можем проверить диапазоны IP-адресов каждого класса, вдруг ты нас обманываешь?». И это будет справедливо, проверять нужно всё и всегда. Давайте проверим диапазоны для сетей класса А и B вместе, а для всех остальных, если вам захочется вы сделаете это сами.
Начнем с класса А. У нас есть условие, что самый первый бит в IP-адресе сети класса А должен быть 0, следовательно, все остальные биты (а их осталось 31) могут быть какими угодно, тогда у нас получается, что самое маленькое число, которое мы можем записать в двоичном виде будет представлять собой 32-а нуля: 000000002 000000002 000000002 000000002, а самое большое число, которое попадает под условие будет таким: 011111112 111111112 111111112 111111112. Если написать эти адреса в десятичной системе, то мы получим: 0.0.0.0 и 127.255.255.255. Аналогично поступим с сетями класса B, только учтем, что здесь первых два бита имеют фиксированные значения 102. Тогда получается, что самое маленькое, что можно записать, с учетом этого условия, в двоичной системе счисления выглядит так: 100000002 000000002 000000002 000000002, а самое большое число так: 101111112 111111112 111111112 111111112. В десятичной системе эти IP-адреса записываются так: с 128.0.0.0 по 192.255.255.255.
4.5.4 Фиксированные маски классовых сетей
Когда я только знакомился с компьютерными сетями и разбирался с классовой адресацией, по началу я считал, что масок в классовых сетях нет, на практике с классовыми сетями мне не довелось работать, мне была доступна только теория из Интернета, практики у вас тоже не будет, но я вам сразу скажу, что маски в классовых сетях есть, только они строго фиксированы для первых трех классов сети. Но тогда зачем нужен механизм VLSM, спросите вы, если маски сети есть и в классовых сетях, а всё дело в том, что VLSM это маска переменной длинны, а в классовых сетях маска сети строго фиксирована. Да и вообще, как может не быть маски сети, как тогда компьютер или маршрутизатор или какой-нибудь умный коммутатор будут отличать одну сеть от другой, как они будут понимать в какой сети они находятся, естественно, им нужна для этого маска (вот тут можете почитать о разнице между хабами коммутаторами и роутерами).
Получается, я вас немного обманывал, когда говорил, что в одной сети класса А может быть 16 777 216 узлов, на самом деле их 16 777 214, так как самый первый IP-адрес отдан под номер сети, а последний является широковещательным, то же самое касается всех других сетей и классов: всегда один адрес уходит под номер сети, а другой является широковещательным, за парочкой исключений, которые мы обсудим в теме VLSM и CIDR.
Но мы так много сказали, но всё еще не приблизились к пониманию того, зачем нужны маски в классовых сетях. А всё очень просто, маски позволяют отделять сети внутри класса, а в классовых сетях они еще и фиксированы, напомню наш IP-адрес: 65.128.1.12. В классовых сетях для IP-адресов из диапазона с 0.0.0.0 по 127.255.255.255 можно задать только вот такую маску: 255.0.0.0, то есть маска 255.0.0.0 вместе с нулевым значением первого бита определяет, что данный IP-адрес относится к сети класса A. Это будет наглядно, если мы переведем IP-адрес и маску в двоичную систему счисления.
Рисунок 4.5.6 IP-адрес и маска подсети в двоичной системе счисления
Помните структуру IP-адреса сети класса А? Самый первый бит обязательно должен быть нулевой, в таблице я его выделил более крупным шрифтом, а следующих семь бит определяют номер узла в сети класса А, то есть 1 + 7 = 8, другими словами первый октет. А теперь посмотрите на первый октет в маске сети для сетей класса А, там все биты установлены в единицу. Вы должны помнить, что маска подсети, это такая штука, у которой сначала идут только единицы, а потом идут только нули, никаких разрывов быть не должно. А если IP-адрес наложить на маску, и для каждого бита IP-адреса, выполнить операцию «логическое И» с соответствующим битом маски сети, то мы узнаем номер узла, номер сети и широковещательный адрем. Получится следующее: там, где в маске стоят единицы, значения бит IP-адреса не изменятся, а там, где в маске стоят нули, значения бит IP-адреса обнуляется, таким образом мы узнаем номер сети. Таблица ниже это демонстрирует.
Рисунок 4.5.7 Номер сети и маска у IP-адреса класса A
Важно здесь то, что «логическое И» выполняется только между соответствующими битами, то есть сначала операция выполняется между между самым первым битом IP-адреса и самым первым битом маски и записывается результат, затем эта же операция выполняется между вторым битом IP-адреса и вторым битом маски, записывается результат, так продолжается до последнего бита. То есть операцию «логическое И» не нужно выполнять для каждого бита IP-адреса с каждым битом маски.
Напомню, что в классовых сетях размер маски является фиксированным, то есть для сетей класса А можно применять только маску 255.0.0.0, но уже не получится использовать маски 255.128.0.0 или 255.255.255.0, вас в приличном классовом обществе не поймут, получается, что маска фиксированной длины в классовых сетях являлась тем фактором, который приводил к неэкономному расходованию адресов, поскольку она была фиксированной. Собственно, на примере сети класса А мы разобрались с механизмом работы классовых сетей, теперь нам осталось посмотреть на маски сетей класса B и C.
Сначала посмотрим на класс B, я не буду объяснять все то, что было ранее, повторяться нет смысла, а сразу приведу табличку, которая все скажет за меня.
Рисунок 4.5.8 Номер сети и маска у IP-адреса класса B
Накладываем маску на IP-адрес и узнаем, что номер сети 131.10.0.0, широковещательный адрес здесь будет 131.10.255.255, а все остальные адреса можно забирать под узлы. То есть для сетей класса B можно использовать только маску 255.255.0.0. Первых два бита, которые говорят о принадлежности к сети класса B выделены шрифтом и начертанием. Осталось посмотреть на сети класса C.
Рисунок 4.5.9 Номер сети и маска у IP-адреса класса C
Первые биты, которые говорят о том, что IP-адрес из сети класса C хорошо заметны, накладываем маску на IP-адрес и получаем всю необходимую информацию: 200.150.255.0 – это номер сети, 200.150.255.255 – это широковещательный адрес, все остальные IP-адреса можно забирать на нумерацию узлов в сети. В сетях класса C для нас доступна только такая маска: 255.255.255.0, и никаких других здесь быть не может.
Заметили особенность, которую можно называть лайфхаком для классовых сетей? Чтобы назвать номер сети, количество узлов в сети и широковещательный адрес, нам не нужно знать маску сети, нам достаточно одного IP-адреса, ведь каждый IP-адрес строго закреплен за классом, а у каждого класса фиксированная маска. Так, например, если нам скажут, что есть IP-адрес 10.10.10.10 из классовой IP сети, то вы без труда поймете, что этот IP-адрес относится, к сети класса А, а это значит, что у него в любом случае будет маска 255.0.0.0, из этого следует, что номер сети 10.0.0.0, широковещательный адрес 10.255.255.255, а все остальные адреса из этого диапазона можно забирать под номера узлов.
Стоит заметить, что для IP сетей, в которых адресация реализована на масках переменной длины, этот трюк уже не прокатит. Ведь там у любого IP-адреса может быть любая маска, так, например, в сетях VLSM у того же адреса 10.10.10.10 может быть маска 255.0.0.0, а может быть и 255.255.255.252. Во втором случае номер сети будет 10.10.10.8, широковещательный адрес будет 10.10.10.11, а под номера узлов у нас остается два адреса, поэтому если вам говорят, что сеть VLSM, дают IP-адрес и говорят: назови номер сети, вы просто обязаны будете сказать, а дайте еще и маску.
4.5.5 IP адресация в классовых сетях
В завершении для наглядности приведем несколько таблиц, которые помогут ориентироваться в вопросе: к какому классу сети относится тот или иной IP-адрес. Для начала вспомним, что несколько первых бит определяют принадлежность IP-адреса к классу сети, давайте на основе этой информации составим вспомогательную таблицу.
Рисунок 4.5.10 Классы сетей и их описание в протоколе IPv4
Обратите внимание на диапазон первого октета для сетей класса А, ранее я говорил, что сети класса А начинаются с 0.0.0.0 и заканчиваются 127.255.255.255, но все дело в том, что адреса с диапазона с 0.0.0.0 до 0.255.255.255 мы использовать не можем, так как они зарезервированы под специальные нужды, а IP-адреса с 127.0.0.0 по 127.255.255.255 отданы программным loopback интерфейсам и используются для их диагностики, то есть эти адреса всегда есть на любом компьютере и они всегда доступны, если сетевые библиотеки вашего компьютера работают корректно. По этим причинам я и указал диапазон значения первого октета для сети класса А с 1 по 126.
Приведем вторую таблицу, в которой собрана вся необходимая информация для быстрого расчета классовых сетей.
Рисунок 4.5.11 Классы сетей и их описание в протоколе IPv4
Эти две таблицы в принципе содержат всю необходимую информацию, которую нужно знать или уметь получить для того, чтобы успешно работать к классовыми IP-сетями. Стоит добавить следующее: у IP-пакета нет специального поля для маски подсети, там есть только IP-адрес источника и IP-адрес назначения, решения о дальнейшей судьбе IP-пакета устройства принимают путем наложения IP-адреса назначения на маски, которые заданы этим устройствам.
4.5.6 Выводы
Информация из этой темы на первый взгляд может показаться бесполезной, но она нужна для понимания процесса развития компьютерных сетей, если мы поймем из-за чего и как механизм классовых сетей был заменен механизмами VLSM и CIDR, для нас будет проще понять принцип работы современных компьютерных сетей, ведь замена классов на VLSM – это прямая ветвь развития, можно сказать, что механизм VLSM опирается на классовые сети.
IP-адрес является 32-битным в длину и состоит из двух частей: адресной части сети и адресной части хоста. Сетевой адрес используется для определения сети и является общим для всех устройств, подключенных к сети. Адрес хоста (или узла) используется для определения конкретного устройства, подключенного к сети. Обычно IP-адрес имеет десятичное представление с разделительными точками, в которой 32 бита разделены на четыре октета. Каждый октет можно представить в десятичном формате с десятичной точкой в качестве разделителя.
Классы
Ниже приведены классы IP-адресов.
Класс A — Первый октет означает адрес сети, а последние три-адресную часть хоста. Любой IP-адрес, октет которого находится в диапазоне от 1 до 126 является адресом класса A. Следует учитывать, что 0 зарезервирован как часть адреса по умолчанию, а 127 зарезервировано для внутреннего тестирования с обратной связью.
Класс B — Первые два октета означают адрес сети, а последние два-адресную часть хоста. Любой адрес, первый октет которого находится в диапазоне от 128 до 191, является адресом класса B.
Класс С — Первые три октета означают адрес сети, а последний-адресную часть хоста. Первый октет, расположенный в диапазоне от 192 до 223 является адресом класса C.
Класс D — используется для многоадресной рассылки. Первые октеты IP-адресов многоадресной рассылки находятся в диапазоне от 224 до 239.
Класс E — зарезервирован для экспериментального использования и содержит диапазон адресов, в которых первый октет расположен в диапазоне от 240 до 255.
Создание подсетей и таблиц
Приведенные ниже таблицы отображают все возможные способы разделения основной сети на подсети и в каждом случае показывают, сколько эффективных подсетей и хостов можно создать.
Существует три таблицы, по одной для каждого класса адресов.
В первом столбце показано количество заимствованных битов из адресной части хоста для подсети.
Во втором столбце показана полученная в результате маска подсети в десятичном формате с разделительными точками.
В третьем столбце показано число возможных подсетей.
В четвертом столбце показано число возможных допустимых хостов на каждую из трех подсетей.
В пятом столбце отображается количество битов маски подсети.
Таблица хостов/подсети класса A
Таблица хостов/подсети класса B
Таблица хостов/подсети класса C
Пример подсетей
Первая свободная запись в таблице класса A (маска подсети /10) заимствует два бита (крайние левые биты) из адресную части хоста сети для подсети. Благодаря этим двум битам образуются четыре комбинации формата (2 2 ): 00, 01, 10 и 11. Каждый из них представляет подсеть.
Использование 31-битных префиксов в соединениях «точка-точка» IPv4
RFC 3021 описывает использование 31-битных префиксов для соединений «точка-точка». Таким образом остается один бит для части id-хоста IP-адреса. Обычно id-хост со всеми нулями используется для представления сети или подсети, а id-хост со всеми единицами используется для представления направленной широковещательной рассылки. Используя 31-битные префиксы, id-хост, равный нулю, представляет один хост, а id-хост, равный единице, представляет другой хост соединения «точка-точка».
(Ограниченные) широковещательные рассылки локального соединения (255.255.255.255) могут все же использоваться с 31-битными префиксами. Но направленные широковещательные рассылки невозможны при использовании 31-битных префиксов. Это не является проблемой, так как в протоколах большинства маршрутов используется многоадресные, ограниченные или одноадресные рассылки.
I P-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме, и разделенных точками, например:
128.10.2.30 - традиционная десятичная форма представления адреса,
10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.
На рисунке показана структура IP-адреса разных классов.
Классы сетей IP
IP-адреса разделяются на 5 классов: A, B, C, D, E. Адреса классов A, B и C делятся на две логические части: номер сети и номер узла.
Идентификатор сети, также называемый адресом сети, обозначает один сетевой сегмент в более крупной объединенной сети (сети сетей), использующей протокол TCP/IP. IP-адреса всех систем, подключенных к одной сети, имеют один и тот же идентификатор сети. Этот идентификатор также используется для уникального обозначения каждой сети в более крупной объединенной сети.
Идентификатор узла, также называемый адресом узла, определяет узел TCP/IP (рабочую станцию, сервер, маршрутизатор или другое TCP/IP-устройство) в пределах каждой сети. Идентификатор узла уникальным образом обозначает систему в том сегменте сети, к которой она подключена.
Класс А
У адресов класса A старший бит установлен 0 (рис.1). Длина сетевого префикса _ 8 бит. Для номера узла выделяется 3 байта (24 бита). Таким образом, в классе A может быть 126 сетей (2 7 - 2, два номера сети имеют специальное значение). Каждая сеть этого класса может поддерживать максимум 16777214 узлов (2 24 - 2). Адресный блок класса A может содержать максимум 231 уникальных адресов, в то время как в протоколе IP версии 4 возможно существование 232 адресов. Таким образом адресное пространство класса A занимает 50% всего адресного пространства протокола IP версии 4.
Адреса класса A предназначены для использования в больших сетях, с большим количеством узлов. На данный момент все адреса класса A распределены.
Класс В
У адресов класса B два старших бита установлены в 1 и 0 соответственно (рис. 2). Длина сетевого префикса - 16 бит. Поле номера узла тоже имеет длину 16 бит. Таким образом, число сетей класса B равно 16384 (2 14 ); каждая сеть класса B может поддерживать до 65534 узлов (2 16 - 2). Адресный блок сетей класса B содержит 230 уникальных адресов, то есть 25% всего адресного пространства.
Класс B предназначен для применения в сетях среднего размера (например, крупное предприятие).
Класс С
У адресов класса C три старших бита установлены в 1, 1 и 0 соответственно (рис. 3). Префикс сети имеет длину 24 бита, номер узла - 8 бит. Максимально возможное количество сетей класса C составляет 2097152 (2 21 ). Каждая сеть может поддерживать максимум 254 узла (2 8 - 2). Весь адресный блок сетей класса C содержит 229 уникальных адреса, что равно 12,5% от всего адресного пространства.
Класс C предназначен для сетей с небольшим количеством узлов.
Класс D
Адреса класса D представляют собой специальные адреса, не относящиеся к отдельным сетям. Первые 4 бита этих адресов равны 1110 (рис. 4). Таким образом, значение первого октета этого диапазона адресов находится в пределах от 224 до 239. Адреса класса D используются для многоадресатных пакетов, с помощью которых во многих разных протоколах данные передаются многочисленным группам хостов. К таким протоколам относится протокол обнаружения устройств корпорации Cisco ( Cisco Discovery Protocol – CDP), функционирующий на основе протокола ICMP, или межсетевой протокол управления группами Internet ( Internet Group Management Protocol – IGMP), который находит все более широкое распространение, после того, как был реализован в программном обеспечении Cisco IOS версии 11.2.
Эти адреса можно рассматривать как заранее запрограммированные в логической структуре большинства сетевых устройств. Это означает, что при обнаружении в пакете адреса получателя такого типа устройство на него обязательно отвечает. Например, если один из хостов передает пакет с IP-адресом получателя 224.0.0.5, на него отвечают все маршрутизаторы (использующие протокол OSPF), которые находятся в сегменте
сети с этим адресом Ethernet .
Класс Е
Адреса в диапазоне 240.0.0.0—255.255.255.255 называются адресами класса E. Первый октет этих адресов начинается с битов 1111 (рис.5). Эти адреса зарезервированы для будущих дополнений в схеме адресации IP. Но возможность того, что эти дополнения когда-либо будут приняты, находится под вопросом, поскольку уже появилась версия 6 протокола IP (IPv6).
Служебные IP -адреса
Некоторые IP-адреса являются зарезервированными. Для таких адресов существуют соглашения об их особой интерпретации (Табл.2):
1. Если все биты IP-адреса установлены в нуль, то он обозначает адрес данного устройства.
2. Если в поле номера сети стоят нули, то считается, что получатель принадлежит той же самой сети, что и отправитель.
4. Если все биты номера узла установлены в нуль, то пакет предназначен для данной сети.
Из этих двух пунктов видно, что в любой сети два значения номера узла зарезервированы для служебной надобности.
6. Если первый октет адреса равен 127, то адрес обозначает тот же самый узел. Такой адрес используется для взаимодействия процессов на одной и той же машине (например, для целей тестирования). Этот адрес имеет название возвратного ( loopback ).
Табл.2 Служебные IP – адреса
Интерпретация
Все биты равны 0
Все биты равны 0
Все биты равны 0
Устройство в данной
Все биты равны 1
Все биты равны 1
Все биты равны 0
Все биты равны 1
Возвратный адрес ( loopback )
Разбиение на подсети. Маска подсети, расширенный сетевой префикс
Следующий вопрос: как в таком случае поступившую на прокси-сервер информацию распределить между конкретными рабочими станциями? Ответ прост: каждая рабочая станция должна обладать своим IP-адресом, но подчиняющимся двум простым правилам. Первое правило: в пределах нашей корпоративной сети каждый компьютер должен обладать уникальным адресом. Второе правило: этот адрес должен входить в один из определенных диапазонов так называемых частных сетевых адресов. В десятичном представлении эти диапазоны выглядят так:
Хитрость состоит в том, что адреса, входящие в эти диапазоны, вычеркнуты из таблиц глобальной маршрутизации Интернета. Если кто-то, находящийся за пределами локальной сети, запросит или передаст информацию на адрес 192.168.0.4, то ему будет отказано: этот адрес не является глобально маршрутизируемым. Чтобы все вышесказанное стало более понятным, приведем простую иллюстрацию (Рис. 6):
Рис. 6 Организация локальных сетей
Здесь хорошо видно, что прокси-сервер обладает сразу двумя адресами:
1. Глобально маршрутизируемым 192.0.0.1. На этот адрес будет поступать информация из Интернета, затребованная всеми компьютерами локальной сети.
2. Частным 192.168.0.1. С этого адреса каждый компьютер локальной сети будет забирать пакеты, предназначенные конкретно ему.
Таким образом решаются сразу две проблемы. Во-первых, с точки зрения безопасности, рабочие станции локальной сети хотя бы частично защищены от несанкционированного доступа извне - ведь они лишены глобального IP-адреса. Кроме того, специализированное программное обеспечение позволит настроить прокси-сервер произвольным образом: запретить использование " аськи " со станции 192.168.0.2, разрешить доступ по FTP - со станции 192.168.0.3, и так далее. Во-вторых, искусственно увеличивается доступное количество IP-адресов. Ведь при таком подходе получается, что компьютеров с адресом 192.168.0.4 в мире может быть неограниченное количество, но все они расположены в разных локальных сетях и потому не мешают друг другу.
Стандартная схема разбиения пула адресов на классы порождает ряд проблем, как то:
- резкий рост таблиц маршрутизации в Интернете;
- нерациональное использование адресного пространства.
Для решения данных проблем был введён дополнительный уровень иерархии структуры IP-адреса: к номерам сети и хоста добавляется номер подсети (рис. 7).
Таким образом, снаружи адресация проводится по номеру сети; внутренняя организация сети не видна извне. Любое изменение топологии внутренней сети не влияет на таблицы маршрутизации в Интернете. Это уменьшает первую проблему.
С другой стороны, разбиение на подсети позволяет организации, которой выделена сеть, более гибко и экономно использовать адресное пространство, что смягчает вторую проблему.
Маска подсети ( subnet mask )
Поля номеров сети и подсети образуют расширенный сетевой префикс. Для выделения расширенного сетевого префикса используется маска подсети ( subnet mask ). Маска подсети – это 32-разрядное двоичное число (по длине IP-адреса), в разрядах расширенного префикса содержащая единицу; в остальных разрядах находится ноль. Расширенный сетевой префикс получается побитным сложением по модулю два (операция XOR) IP-адреса и маски подсети.
При таком построении очевидно, что число подсетей представляет
собой степень двойки - 2 n , где n - длина поля номера подсети. Таким образом, характеристики IP-адреса полностью задаются собственно IP-адресом и маской подсети.
Для упрощения записи применяют следующую нотацию (так называемая CIDR-нотация): IP-адрес/длина расширенного сетевого префикса. Например, адрес 192.168.0.1 с маской 255.255.255.0 будет в данной нотации выглядеть как 192.168.0.1/24 (очевидно, что 24 – это число единиц, содержащихся в маске подсети).
В следующей таблице показаны стандартные маски подсетей для классов адресов Интернета
Табл.3 Стандартные маски подсети
Биты маски подсети
11111111 00000000 00000000 00000000
11111111 11111111 00000000 00000000
11111111 11111111 11111111 00000000
Но для каждого класса возможны и другие маски подсети. Рассмотрим пример для класса А :
- 255.0.0.0 - маска для сети класса A; длина расширенного сетевого префикса - 8;
- 255.255.0.0 - маска для сети класса A; длина расширенного сетевого префикса - 6;
- 255.255.255.0 - маска для сети класса A; длина расширенного сетевого префикса - 24.
Маски переменной длины
В 1987 году документом RFC 1009 был определен порядок использования в сети, разделённой на подсети, нескольких масок подсети. В этом случае расширенные сетевые префиксы имеют разную длину и маски подсетей называются масками подсетей переменной длины ( Variable Length Subnet Mask ).
Таким образом мы можем разбить сеть на подсети разного размера.
Маска подсети переменной длины позволяет более эффективно использовать выделенное организации адресное пространство протокола IP. Главная трудность связана с тем, что ранее каждая сеть могла иметь только одну маску подсети, а это, в свою очередь, ограничивало возможности организации в выборе размера подсети.
Предположим, например, что администратор намеревается настроить выделенную организации сеть класса B 130.5.0.0 на использование расширенного сетевого префикса/22. Номер подсети задается с помощью шести бит .С еть класс В с расширенным сетевым префиксом /22 позволяет организовать 64 подсети (2 6 = 64), каждая из которых поддерживает максимум до 1022 (2 10 - 2 = 1022) индивидуальных адресов хостов. Такой вариант может устроить администратора, если организации требуется некоторое число подсетей с большим количеством хостов в них. Однако если организации нужны подсети с числом хостов не более 30, то при фиксированной маске подсети администратору придется эксплуатировать подсети, рассчитанные на большое количество хостов, но содержащие всего несколько пользователей. В результате невостребованными могут оказаться около 1000 возможных адресов хостов в подсетях. Как видно из этих рассуждений, ограничение на использование только одной маски подсети значительно снижает эффективность распределения адресного пространства.
Основное решение данной проблемы состоит в введении маски подсети переменной длины. Предположим, что администратор хочет использовать расширенный сетевой префикс /26. Адрес класса В с таким расширенным сетевым префиксом позволит иметь до 1024 подсетей (2 10 = 1024), каждая из которых может поддерживать до 62 (2 6 -2= 62) индивидуальных адресов хостов. Такой расширенный сетевой префикс идеально подходит к небольшим подсетям, с числом хостов порядка 60, в то время как префикс /22 лучше подходит большим подсетям, с тысячами хостов.
Как видно, применение разных расширенных сетевых префиксов /22 и /26 позволяет получить два типа подсетей с резко отличающимся количеством поддерживаемых хостов. Введение маски подсети переменной длины дает возможность администратору создавать в рамках своей организации подсети требуемого размера. Это происходит следующим образом. Сначала сеть делится на подсети, затем некоторые из них делятся, в свою очередь, еще на подсети и т. д. - происходит своего рода рекурсия
Таким образом, рекурсивное разбиение адресного пространства организации может быть выполнено с учетом пожеланий администратора сети. Кроме рекурсии адресов подсетей введение маски подсети переменной длины позволяет значительно уменьшить объем таблиц маршрутизации на маршрутизаторах в организации.
Предположим, что сеть организации охватывает несколько удаленных филиалов. Если организация имеет три удаленные сети, то ей понадобится выделить 3 бита для формирования подсетей - этого ей хватит как сегодня, так и в обозримом будущем (2 3 = 8). Второй уровень в иерархии подсетей образуют отдельные подсети внутри каждого филиала. Кроме того, каждой рабочей группе также требуется выделить отдельные подсети. Следуя приведенной иерархической модели, верхний уровень определяется числом удаленных филиалов, второй - числом зданий внутри каждого филиала, а третий - максимальным числом подсетей в каждом здании и максимальным числом хостов в каждой из подсетей.
В следующих двух таблицах показано разбиения класса В на 5 подсетей, а также маски подсетей и broadcast . Рассмотрим адрес класса В 173.10.0.0/16 с маской подсети 255.255.0.0. Сначала разобьём его на 4 подсети с маской подсети /18.
Читайте также: