Я неплохо разбираюсь в сетях, но плохо с IP-адресацией. Это меня очень сильно волнует. Например, при работе со списками доступа на маршрутизаторе Cisco мне пришлось назначить последовательному порту IP-адрес 24.17.2.2 и подсеть 255.255.255.240. Я думал, что соответствующая подсеть будет 255.0.0.0, потому что 24.17.2.2 - это IP-адрес класса А.
Как я могу улучшить свои навыки IP-адресации?
Когда вы используете настраиваемую подсеть, вы используете бесклассовую IP-адресацию. Это позволяет разделить большой блок IP-адресов, например, в сети, на более мелкие сети. Вы делаете это по разным причинам. Поищите в Google учебник по подсетям, и вы найдете массу ресурсов. На сайте Cisco есть несколько очень хороших игр о том, как выполнять разбиение на подсети.
255.255.255.240 - это пример маски подсети переменной длины, которая используется с CIDR или бесклассовой междоменной маршрутизацией. CIDR - это способ разделить сети классов A / B / C на более мелкие подсети, где вам не нужно, скажем, полные 254 адреса (или 16 миллионов в случае класса A).
В данном случае 255.255.255.240 - это маска для сети из 14 хостов. Здесь очень поможет такой инструмент, как whatmask:
$ whatmask 24.17.2.2/28
------------------------------------------------
TCP/IP NETWORK INFORMATION
------------------------------------------------
IP Entered = ..................: 24.17.2.2
CIDR = ........................: /28
Netmask = .....................: 255.255.255.240
Netmask (hex) = ...............: 0xfffffff0
Wildcard Bits = ...............: 0.0.0.15
------------------------------------------------
Network Address = .............: 24.17.2.0
Broadcast Address = ...........: 24.17.2.15
Usable IP Addresses = .........: 14
First Usable IP Address = .....: 24.17.2.1
Last Usable IP Address = ......: 24.17.2.14
CIDR полезен в тех случаях, когда вам не нужна полная сеть класса C (254 адреса) (или что-то еще большее). Если у вас есть сеть только из десятка или около того хостов, это более эффективное использование пространства IP-адресов.
Надеюсь, это поможет.
Понятие класса аналогично подсетям. Разница в том, что блок класса назначается конкретной компании или человеку. В этом случае блок IP 24.x.x.x был передан компании, которая решила разделить его на несколько частей. Возможно, компания продала небольшую часть своего IP-адреса. Обозначения классов в наши дни практически не используются.
Вместо этого мы используем сетевую маску. Сетевая маска помогает маршрутизатору разделить подсеть и хост. Как? Просто все биты, установленные в 1, являются частью адреса подсети, а те, которые установлены в ноль, являются адресом хоста. Маршрутизатору просто нужно выполнить побитовое и с сетевой маской и IP-адресом, чтобы получить адрес подсети. Другой способ написать маску сети - добавить / x к адресу базовой подсети, например, 24.17.2.2/28.
Подсеть - это группа хостов в одной сети, так как в ней нет маршрутизаторов, с которыми необходимо установить соединение для установления соединения между двумя хостами в одной подсети. Итак, вы хотите назначить этим хостам один и тот же адрес подсети. При формировании подсети используются два адреса: первый и последний. Первый адрес предназначен для обозначения самой подсети, это не пригодный для использования адрес, и все, что отправлено на этот адрес, будет отброшено. Последний адрес подсети - это широковещательный адрес, на который что-то отправляется, и он будет получен всеми хостами в подсети.
Если мы возьмем подсеть типа 10.0.0.0/24 (или сетевая маска 255.255.255.0): у нас может быть хост от 10.0.0.1 до 10.0.0.254, поэтому мы можем установить 254 IP-адреса. Мы использовали 10.0.0.0 для обозначения подсети, а 10.0.0.255 - широковещательный адрес.
Если мы посмотрим на возможную подсеть, у нас есть:
/ 32 (255.255.255.255): только один используемый IP-адрес (у вас нет адреса подсети и широковещательной рассылки). Используется в двухточечном соединении
/ 31 (255.255.255.254): Немного бесполезно, потому что большинство маршрутизаторов устанавливает адрес подсети и широковещательную рассылку, поэтому у вас нет другого хоста. Но если ваш маршрутизатор следует исключению из этого правила, у вас есть два возможных IP-адреса.
/ 32 (255.255.255.252): более полезно иметь один адрес подсети, два IP-адреса хоста и широковещательную рассылку.
/ x: Вы можете продолжать вычислять возможное количество хостов в сети с помощью правила: 2 ^ (32-x) -2
/ 0 (0.0.0.0): невозможно, потому что вам нужна часть подсети.
Если применить это правило к самому Интернету, мы можем подумать о некоторых странных вещах.
IP 0.0.0.0 будет обозначать подсеть всей подсети, то есть всего Интернета. На самом деле он ни на что не указывает, как первый адрес подсети.
IP 255.255.255.255 будет обозначать широковещательную рассылку для всех интернет-хостов, но на самом деле он сводится к локальной подсети (по очевидным причинам безопасности). Хост использует его при настройке своего IP-адреса с помощью протокола DHCP.
В заключение я объясню ваш собственный пример:
24.17.2.2 - ваш IP-адрес. 255.255.255.240 ваша сетевая маска (так что это / 28) У нас есть 16 возможных IP-адресов, поэтому, если мы удалим 2 зарезервированных, у нас будет 14 возможных хостов. Тогда 24.17.2.0 - это адрес подсети. И 24.17.2.15 широковещательный адрес. Диапазон 24.17.2.1-24.17.2.14 - это адреса используемых хостов.
Надеюсь, это было интересно и полезно.
Вот раздел из класса Cisco, который я беру (обратите внимание на текст, выделенный жирным шрифтом в конце).
Исторические сетевые классы
Исторически RFC1700 сгруппировал диапазоны одноадресной рассылки по определенным размерам, называемым адресами класса A, класса B и класса C. Он также определил адреса класса D (многоадресная рассылка) и класса E (экспериментальный), как было представлено ранее.
Классы одноадресных адресов A, B и C определяют сети определенного размера, а также конкретные блоки адресов для этих сетей, как показано на рисунке. Компании или организации был назначен весь блок адресов класса A, класса B или класса C. Такое использование адресного пространства называется классовой адресацией.
Блоки класса А
Блок адресов класса A был разработан для поддержки чрезвычайно больших сетей с более чем 16 миллионами адресов узлов. В IPv4-адресах класса A используется фиксированный префикс / 8 с первым октетом для обозначения сетевого адреса. Остальные три октета использовались для адресов хоста.
Чтобы зарезервировать адресное пространство для оставшихся классов адресов, все адреса класса A требовали, чтобы старший бит октета высокого порядка был нулем. Это означало, что было только 128 возможных сетей класса A, от 0.0.0.0 / 8 до 127.0.0.0 / 8, до того, как были удалены зарезервированные блоки адресов. Несмотря на то, что адреса класса A зарезервировали половину адресного пространства, из-за ограничения в 128 сетей они могли быть выделены только примерно 120 компаниям или организациям.
Блоки класса B
Адресное пространство класса B было разработано для поддержки потребностей сетей среднего и большого размера с более чем 65 000 хостов. IP-адрес класса B использует два старших октета для обозначения сетевого адреса. Два других октета определяют адреса хоста. Как и в случае с классом A, необходимо зарезервировать адресное пространство для остальных классов адресов.
Для адресов класса B два старших бита старшего октета были равны 10. Это ограничивало адресный блок для класса B от 128.0.0.0 / 16 до 191.255.0.0 / 16. Класс B имел немного более эффективное распределение адресов, чем класс A, потому что он поровну делил 25% общего адресного пространства IPv4 между примерно 16 000 сетей.
Блоки класса C
Адресное пространство класса C было наиболее доступным из исторических классов адресов. Это адресное пространство предназначалось для предоставления адресов для небольших сетей с максимум 254 хостами.
В адресных блоках класса C используется префикс / 24. Это означало, что сеть класса C использовала только последний октет в качестве адресов хоста, а три старших октета использовались для указания сетевого адреса.
Блоки адреса класса C выделяют адресное пространство для класса D (многоадресная рассылка) и класса E (экспериментальный) с использованием фиксированного значения 110 для трех наиболее значимых битов октета высокого порядка. Это ограничило адресный блок для класса C от 192.0.0.0 / 16 до 223.255.255.0 / 16. Хотя он занимал только 12,5% от общего адресного пространства IPv4, он мог предоставлять адреса 2 миллионам сетей.
Ограничения системы на основе классов
Не все требования организаций хорошо вписываются в один из этих трех классов. Классовое распределение адресного пространства часто приводит к потере многих адресов, что исчерпывает доступность адресов IPv4. Например, компании, имеющей сеть с 260 хостами, необходимо предоставить адрес класса B с более чем 65 000 адресов.
Несмотря на то, что эта классовая система была практически заброшена в конце 1990-х годов, сегодня вы увидите ее остатки в сетях. Например, когда вы назначаете компьютеру IPv4-адрес, операционная система проверяет присвоенный адрес, чтобы определить, относится ли этот адрес к классу A, классу B или классу C. Затем операционная система принимает префикс, используемый этим классом, и выполняет соответствующее назначение маски подсети.
Другой пример - это использование маски некоторыми протоколами маршрутизации. Когда некоторые протоколы маршрутизации получают объявленный маршрут, они могут принимать длину префикса в зависимости от класса адреса.
Бесклассовая адресация
Система, которую мы сейчас используем, называется бесклассовой адресацией. В бесклассовой системе блоки адресов, соответствующие количеству хостов, назначаются компаниям или организациям без учета класса одноадресной рассылки.