Что такое подсеть ip адреса
IP-адрес и маска подсети
IP-адреса используются для идентификации устройств в сети. Для взаимодействия c другими устройствами по сети IP-адрес должен быть назначен каждому сетевому устройству — компьютерам, серверам, маршрутизаторам, принтерам и т.д. С помощью маски подсети определяется максимально возможное число хостов в конкретной сети.
Знакомство с IP-адресами
Одна часть IP-адреса представляет собой адрес сети, другая — адрес хоста внутри этой сети. Адрес сети используется маршрутизаторами (роутерами) для передачи пакетов в нужные сети, тогда как адрес хоста определяет конкретное устройство в этой сети, которому должны быть доставлены пакеты.
Структура IP-адреса
IP-адрес состоит из четырех частей, записанных в виде десятичных чисел с точками (например, 192.168.1.2). Каждую из этих четырех частей называют октетом. Октет представляет собой восемь двоичных цифр (например, 11000000, или 192 в десятичном виде). Таким образом, каждый октет может принимать в двоичном виде значения от 00000000 до 11111111, или от 0 до 255 в десятичном виде.
Количество двоичных цифр в IP-адресе, которые приходятся на адрес сети, и количество цифр в IP-адресе, приходящееся на адрес хоста, могут быть различными в зависимости от маски подсети.
Частные IP-адреса
У каждого хоста в сети Интернет должен быть уникальный адрес. Если сеть изолирована от Интернета (например, связывают два филиала компании), для хостов можно использовать любые IP-адреса. Однако, уполномоченной организацией по распределению нумерации в сети Интернет (IANA) специально для частных сетей зарезервированы следующие три блока IP-адресов:
Маски подсети
Маска подсети используется для определения того, какие биты являются частью адреса сети, а какие — частью адреса хоста (для этого применяется логическая операция «И»). Маска подсети включает в себя 32 бита. Если бит в маске подсети равен 1, то соответствующий бит IP-адреса является частью адреса сети. Если бит в маске подсети равен 0, то соответствующий бит IP-адреса является частью адреса хоста.
IP-адрес (десятичный) | 192 | 168 | 1 | 2 |
---|---|---|---|---|
IP-адрес (двоичный) | 11000000 | 10101000 | 00000001 | 00000010 |
Маска подсети (десятичная) | 255 | 255 | 255 | 0 |
Маска подсети (двоичная) | 11111111 | 11111111 | 11111111 | 00000000 |
Адрес сети (десятичный) | 192 | 168 | 1 | |
Адрес сети (двоичный) | 11000000 | 10101000 | 00000001 | |
Адрес хоста (десятичный) | 2 | |||
Адрес хоста (двоичный) | 00000010 |
Маски подсети всегда состоят из серии последовательных единиц, начиная с самого левого бита маски, за которой следует серия последовательных нулей, составляющих в общей сложности 32 бита.
1-ый октет | 2-ой октет | 3-ий октет | 4-ый октет | Десятичная | |
---|---|---|---|---|---|
8-битная маска | 11111111 | 00000000 | 00000000 | 00000000 | 255.0.0.0 |
16-битная маска | 11111111 | 11111111 | 00000000 | 00000000 | 255.255.0.0 |
24-битная маска | 11111111 | 11111111 | 11111111 | 00000000 | 255.255.255.0 |
30-битная маска | 11111111 | 11111111 | 11111111 | 11111100 | 255.255.255.252 |
Размер сети
Количество разрядов в адресе сети определяет максимальное количество хостов, которые могут находиться в такой сети. Чем больше бит в адресе сети, тем меньше бит остается на адрес хоста в адресе.
Так как такие два IP-адреса не могут использоваться в качестве идентификаторов отдельных хостов, максимально возможное количество хостов в сети вычисляется следующим образом:
Формат записи
Поскольку маска всегда является последовательностью единиц слева, дополняемой серией нулей до 32 бит, можно просто указывать количество единиц, а не записывать значение каждого октета. Обычно это записывается через слеш после адреса и количество единичных бит в маске.
Например, адрес 192.1.1.0/25 представляет собой адрес 192.1.1.0 с маской 255.255.255.128. Некоторые возможные маски подсети в обоих форматах показаны в следующей таблице.
Маска подсети | Альтернативный формат | Размер адреса хоста | Макс. кол-во хостов |
---|---|---|---|
255.255.255.0 | xxx.xxx.xxx.xxx/24 | 8 бит | 254 |
255.255.255.128 | xxx.xxx.xxx.xxx/25 | 7 бит | 126 |
255.255.255.192 | xxx.xxx.xxx.xxx/26 | 6 бит | 62 |
255.255.255.224 | xxx.xxx.xxx.xxx/27 | 5 бит | 30 |
255.255.255.240 | xxx.xxx.xxx.xxx/28 | 4 бит | 14 |
255.255.255.248 | xxx.xxx.xxx.xxx/29 | 3 бит | 6 |
255.255.255.252 | xxx.xxx.xxx.xxx/30 | 2 бит | 2 |
Формирование подсетей
С помощью подсетей одну сеть можно разделить на несколько. В приведенном ниже примере администратор сети создает две подсети, чтобы изолировать группу серверов от остальных устройств в целях безопасности.
Чтобы разделить сеть 192.168.1.0 на две отдельные подсети, нужно «позаимствовать» один бит из адреса хоста. В этом случае маска подсети станет 25-битной (255.255.255.128 или /25). «Одолженный» бит адреса хоста может быть либо нулем, либо единицей, что дает нам две подсети: 192.168.1.0/25 и 192.168.1.128/25.
Сеть A | Сеть B | |
---|---|---|
IP-адрес подсети | 192.168.1.0/25 | 192.168.1.128/25 |
Маска подсети | 255.255.255.128 | 255.255.255.128 |
Широковещательный адрес | 192.168.1.127 | 192.168.1.255 |
Минимальный IP-адрес хоста | 192.168.1.1 | 192.168.1.129 |
Максимальный IP-адрес хоста | 192.168.1.126 | 192.168.1.254 |
Четыре подсети
В предыдущем примере было показано использование 25-битной маски подсети для разделения 24-битного адреса на две подсети. Аналогичным образом для разделения 24-битного адреса на четыре подсети потребуется «одолжить» два бита идентификатора хоста, чтобы получить четыре возможные комбинации (00, 01, 10 и 11). Маска подсети состоит из 26 бит (11111111.11111111.11111111.11000000), то есть 255.255.255.192.
Что такое подсеть ip адреса
v1.0, 31 марта 1997 года
В этом документе содержится информация о том, как и почему организуются IP-подсети, которые используют отдельную область IP-адресов класса A, B или C, для правильного функционирования нескольких связанных подсетей.
Этот документ распространяется в соответствии с GNU Public License (GPL).
Этот документ непосредственно поддерживается InterWeft IT Consultants (Мельбурн, Австралия).
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: > или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу >
В этом документе описывается разбивка единственного IP сетевого адреса так, чтобы он мог использоваться на нескольких различных сетях.
В этом документе, в основном, содержится материал по сетевым адресам класса C, но принципы применимы и к сетям класса A и B.
Имеется ряд других источников информации, которые уместны для более детального изучения. Рекомендуемые автором:
Перед погружением в изучение организации подсетей, мы должны усвоить основы IP-адресов.
А что стоит за этим?
Несмотря на это, большинство людей ссылаются на адреса машин, когда это касается IP адреса. Только помните, что это упрощенная форма для IP-адреса конкретного устройства на этом компьютере. Много (если не большая часть) устройств в Internet имеет только один интерфейс и, таким образом, единственный IP адрес.
Имеются три класса IP адресов
IP адрес сети класса B использует крайние левые 16 битов (первые 2 байта) для идентификации сети, оставшиеся 16 бит идентифицируют сетевые интерфейсы компьютера в сети. Адреса класса B всегда имеют крайние левые два бита, установленные в 1 0. Сети класса B имеют диапазон от 128 до 191 для первого байта, каждая сеть может содержать до 32,766 возможных интерфейсов.
IP адрес сети класса C использует крайние левые 24 бита для идентификации сети, оставшиеся 8 бит идентифицируют сетевые интерфейсы компьютера в сети. Адрес сети класса C всегда имеет крайние левые 3 бита, установленные в 1 1 0 или диапазон от 192 до 255 для крайнего левого байта. Имеется, таким образом, 4,194,303 номеров, доступных для идентификации сети класса C, каждая может содержать до 254 сетевых интерфейса. (однако, сети класса C с первым байтом, большим, чем 223, зарезервированы и недоступны для использования).
Одна сеть класса A 10.0.0.0
Вы заметите, что в данном документе используются именно эти сочетания для того, чтобы не пересечься с «настоящими» сетями и машинами.
IP адреса могут иметь три возможных значения:
широковещательный адрес IP сети (сообщение с таким адресом назначения должно рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета). Все разряды IP адреса установлены в 1.
Сетевая маска более правильно называется маской подсети. Однако, это, вообще, упоминается как сетевая маска.
Сетевая маска и ее значения показывают, как IP адреса интерпретируются локально на сегменте сети, поскольку это определяет то, как происходит организация подсетей.
маска для сети класса А: 255.0.0.0
маска для сети класса B: 255.255.0.0
маска для сети класса C: 255.255.255.0
Есть две важные вещи относительно сетевой маски, которые нужно помнить:
Причины запоздалой организации подсетей относятся к ранним техническим требованиям IP, где лишь несколько сайтов находились в сетях класса A, которые предоставляли доступ миллионам компьютеров.
Это вызвало очевидные проблемы с огромным трафиком и администрированием, если все компьютеры на большом сайте должны быть связаны с той же самой сетью: попытка управлять таким огромным чудовищем была бы кошмаром и сеть бы терпела крах (конечно почти) от загрузки собственным трафиком.
Введите организацию подсетей: адрес сети класса A может быть разбит на несколько (если не много) отдельных сетей. Управлять каждой отдельной сетью значительно проще.
Другие причины для организации подсетей:
Физическое размещение сайта может быть ограничено (длина кабеля), ясно, что физическая инфраструктура может быть связана, требуя множественные сети. Организация подсетей позволяет это сделать, используя единственный сетевой номер. Сейчас это обычно делают интернет-провайдеры, которые желают дать своим постоянным клиентам с локальными сетями статические IP адреса.
Сеть перегружена. Ее разбивают на подсети так, чтобы трафик был сосредоточен внутри подсетей, разгружая таким образом всю сеть, без необходимости увеличивать ее общую пропускную способность.
Разделение на подсети может быть продиктовано соображениями безопасности, т.к. трафик в общей сети может быть перехвачен. Организация подсетей обеспечивает способ, позволяющий предохранить отдел маркетинга от «сующих нос не в свои дела».
Имеется оборудование, которое использует несовместимые технологии организации сетей, и есть потребность связать их (как упомянуто выше).
После того, как вы определите, что нуждаетесь в сетевом адресе, вам надо узнать, как это сделать? Далее идет краткий обзор шагов, которые будут объясняться ниже в деталях:
Решите, какой (большой/маленькой) должна быть каждая подсеть, т.е. какое количество IP-адресов требуется для каждого сегмента.
Вычислите соответствующую сетевую маску и сетевые адреса;
Установите каждому интерфейсу на каждой сети его собственный IP адрес и соответствующую сетевую маску;
Установите направления связи на маршрутизаторах и соответствующих шлюзах, направления связи и/или заданные по умолчанию направления связи на сетевых устройствах;
Протестируйте систему, исправьте ошибки и расслабьтесь!
Это предусматривает максимум 254 связанных интерфейсов (хостов), плюс обязательный сетевой номер (192.168.1.0) и широковещательный адрес (192.168.1.255).
Чтобы выполнить физическое размещение, вы должны будете установить правильную инфраструктуру для всех устройств, которые хотите связать.
Вам будет также нужен механизм, чтобы связать различные сегменты вместе (маршрутизаторы, конверторы, хабы и т.д.).
Детальное обсуждение этого здесь невозможно. Если вам нужна справка, имеются сетевые консультанты по проектированию/установке сетей, которые обеспечивают это обслуживание. Бесплатный совет доступен также в ряде конференций (например, comp.os.linux.networking).
Фактически, самая маленькая пригодная для использования подсеть состоит из 4 IP адресов:
Один широковещательный адрес.
Если у вас в сети один компьютер, то любые сетевые сообщения должны отправляться в другую сеть. Однако этот пример служит для того, чтобы показать зависимость количества подсетей и используемых адресов.
В принципе, вы можете разделить ваш сетевой номер на 2ˆn (где n на единицу меньше, чем число битов поля машины в вашем сетевом адресе), получаем одинаковые размеры подсетей (однако, вы можете делить подсети на подсети, и/или объединять их).
Сетевая маска позволяет разделить сеть на несколько подсетей.
Таким образом, для трех классов сетей стандартные сетевые маски выглядят следующим образом:
Класс A (8 сетевых битов) : 255.0.0.0
Класс B (16 сетевых бита): 255.255.0.0
Класс C (24 сетевых бита): 255.255.255.0
Способ организации подсетей заимствует один или более из доступных битов номера хоста и заставляет интерпретировать эти заимствованные биты, как часть сетевых битов. Таким образом, чтобы получить возможность использовать, вместо одного номера подсети, два, мы должны заимствовать один бит машины, установив его (крайний левый) в сетевой маске в ‘1’.
Для адресов сети класса C это привело бы к маске вида 11111111.11111111.11111111.10000000 или 255.255.255.128
Для нашей сети класса C с сетевым номером 192.168.1.0, есть несколько случаев:
Число Число машин подсетей на сеть Сетевая маска 2 126 255.255.255.128 (11111111.11111111.11111111.10000000) 4 62 255.255.255.192 (11111111.11111111.11111111.11000000) 8 30 255.255.255.224 (11111111.11111111.11111111.11100000) 16 14 255.255.255.240 (11111111.11111111.11111111.11110000) 32 6 255.255.255.248 (11111111.11111111.11111111.11111000) 64 2 255.255.255.252 (11111111.11111111.11111111.11111100)
В принципе, нет абсолютно никакой причины следовать вышеупомянутым способам организации подсетей, где сетевые биты добавлены от старшего до младшего бита хоста. Однако, если вы не выбираете этот способ, то в результате IP адреса будут идти в очень странной последовательности! Но в результате, решение, к какой подсети принадлежит IP адрес, получается чрезвычайно трудным для нас (людей), поскольку мы не слишком хорошо считаем в двоичной арифметике (с другой стороны, компьютеры, с равным хладнокровием, будут использовать любую схему, которую вы им предложите).
Выбрав подходящую сетевую маску, вы должны определить сетевые, широковещательные адреса и диапазоны адресов, для получившихся сетей. Снова, рассматриваем только сетевые номера класса C и печатаем только заключительную часть адреса, мы имеем:
Как можно заметить, имеется очень строгая последовательность для этих чисел. Ясно видно, что при увеличении числа подсетей сокращается число доступных адресов для компьютеров.
С этой информацией вы теперь способны назначить адреса машин, сетевые адреса и сетевые маски.
Если вы используете Linux машину с двумя сетевыми картами, чтобы установить маршрут между двумя (или более) подсетями, вам нужно иметь ядро, скомпилированное с поддержкой пересылки IP-пакетов (Forwarding). Сделайте следущее:
cat /proc/ksyms | grep ip_forward
Вы должны получить, что-то вроде.
Если не так, тогда пересылка IP-пакетов не включена в ядро, и вам нужно перекомпилировать и установить новое ядро.
Для примера, позвольте предположить, что вы решили разделить вашу сеть класса C с адресом IP 192.168.1.0 на 4 подсети (в каждой пригодно для использования 62 IP адреса). Однако, две из этих подсетей объединяются в большую сеть, давая в общем три физических сети.
Network Broadcast Netmask Hosts 192.168.1.0 192.168.1.63 255.255.255.192 62 192.168.1.64 192.168.1.127 255.255.255.192 62 182.168.1.128 192.168.1.255 255.255.255.126 124 (см. примечание)
Примечание: последняя сеть имеет только 124 сетевых адреса (не 126, как ожидалось бы от сетевой маски) и является сетью из двух подсетей. Главные компьютеры на других двух сетях интерпретируют адрес 192.168.1.192 как сетевой адрес ‘несуществующей’ подсети. Подобно они будут интерпретировать 192.168.1.191 как широковещательный адрес ‘несуществующей’ подсети.
Так, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей подсети, тогда компьютеры двух малых подсетей не смогут связаться с ними.
Позвольте нам предположить, что компьютер с Linux действует, как маршрутизатор для этой сети. Он будет иметь три сетевых карты к локальным сетям и, возможно, четвертый интерфейс для связи с Internet (который был бы шлюзом по умолчанию).
Пусть компьютер с Linux использует самый первый доступный IP адрес в каждой подсети. Конфигурация сетевых карт будет следующей:
Interface IP Address Netmask eth0 192.168.1.1 255.255.255.192 eth1 192.168.1.65 255.255.255.192 eth2 192.168.1.129 255.255.255.128
Таблица маршрутизации при данной конфигурации будет такой
Destination Gateway Genmask Iface 192.168.1.0 0.0.0.0 255.255.255.192 eth0 192.168.1.64 0.0.0.0 255.255.255.192 eth1 192.168.1.128 0.0.0.0 255.255.255.128 eth2
На каждой из подсетей главные компьютеры были бы конфигурированы с их собственным IP адресом и сетевой маской (соответствующий специфической сети). Каждый главный компьютер объявил бы Linux PC своим шлюзом/маршрутизатором, определяя IP адрес маршрутизатора для его сетевой карты на той части сети.
Еще раз про IP-адреса, маски подсетей и вообще
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.
IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.
Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
2 32 = 2 10 *2 10 *2 10 *2 2 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.
Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».
В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Однако, когда IP-адрес присваивается интерфейсу (сетевому адаптеру или как там его еще называют) компьютера или маршрутизатора, то кроме самого адреса данного устройства ему назначают еще и маску подсети. Еще раз: маска не передается в заголовках IP-пакетов.
Компьютерам маска подсети нужна для определения границ — ни за что не угадаете чего — подсети. Чтоб каждый мог определить, кто находится с ним в одной [под]сети, а кто — за ее пределами. (Вообще-то можно говорить просто «сети», часто этот термин используют именно в значении «IP-подсеть».) Дело в том, что внутри одной сети компьютеры обмениваются пакетами «напрямую», а когда нужно послать пакет в другую сеть — шлют их шлюзу по умолчанию (третий настраиваемый в сетевых свойствах параметр, если вы помните). Разберемся, как это происходит.
Маска подсети — это тоже 32-бита. Но в отличии от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идет сколько-то единиц, потом сколько-то нулей. Не может быть маски
Но может быть маска
Сначала N единиц, потом 32-N нулей. Несложно догадаться, что такая форма записи является избыточной. Вполне достаточно числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы несут один и тот же смысл, но первая заметно удобнее.
Чтобы определить границы подсети, компьютер делает побитовое умножение (логическое И) между IP-адресом и маской, получая на выходе адрес с обнуленными битами в позициях нулей маски. Рассмотрим пример 192.168.11.10/21:
11000000.10101000.00001011.00001010
11111111.11111111.11111000.00000000
———————————————-
11000000.10101000.00001000.00000000 = 192.168.8.0
Обстоятельство второе. Любой уважающий себя администратор обязан уметь переводить IP-адреса из десятичной формы в двоичную и обратно в уме или на бумажке, а также хорошо владеть двоичной арифметикой.
Адрес 192.168.8.0, со всеми обнуленными битами на позициях, соответствующих нулям в маске, называется адресом подсети. Его (обычно) нельзя использовать в качестве адреса для интерфейса того или иного хоста. Если же эти биты наоборот, установить в единицы, то получится адрес 192.168.15.255. Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда. Тем не менее этот адрес также нельзя (обычно) использовать в качестве адреса хоста. Итого два адреса в каждой подсети — на помойку. Все остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно являются полноправными адресами хостов внутри подсети 192.168.8.0/21, их можно использовать для назначения на компьютерах.
Таким образом, та часть адреса, которой соответствуют единицы в маске, является адресом (идентификатором) подсети. Ее еще часто называют словом префикс. А часть, которой соответствуют нули в маске, — идентификатором хоста внутри подсети. Адрес подсети в виде 192.168.8.0/21 или 192.168.8.0 255.255.248.0 можно встретить довольно часто. Именно префиксами оперируют маршрутизаторы, прокладывая маршруты передачи трафика по сети. Про местонахождение хостов внутри подсетей знает только шлюз по умолчанию данной подсети (посредством той или иной технологии канального уровня), но не транзитные маршрутизаторы. А вот адрес хоста в отрыве от подсети не употребляется совсем.
Из данного обстоятельства в частности следует, что максимальной длиной маски для подсети с хостами является N=30. Именно сети /30 чаще всего используются для адресации на point-to-point-линках между маршрутизаторами.
И хотя большинство современных маршрутизаторов отлично работают и с масками /31, используя адрес подсети (нуль в однобитовой хоствой части) и бродкаст (единица) в качестве адресов интерфейсов, администраторы и сетевые инженеры часто попросту боятся такого подхода, предпочитая руководствоваться принципом «мало ли что».
А вот маска /32 используется достаточно часто. Во-первых, для всяких служебных надобностей при адресации т. н. loopback-интерфейсов, во-вторых, от криворукости: /32 — это подсеть, состоящая из одного хоста, то есть никакая и не сеть, в сущности. Чем чаще администратор сети оперирует не с группами хостов, а с индивидуальными машинами, тем менее сеть масштабируема, тем больше в ней соплей, бардака и никому непонятных правил. Исключением, пожалуй, является написание файрвольных правил для серверов, где специфичность — хорошее дело. А вот с пользователями лучше обращаться не индивидуально, а скопом, целыми подсетями, иначе сеть быстро станет неуправляемой.
Интерфейс, на котором настроен IP-адрес, иногда называют IP-интерфейсом или L3-интерфейсом («эл-три», см. Модель OSI).
Прежде чем посылать IP-пакет, компьютер определяет, попадает ли адрес назначения в «свою» подсеть. Если попадает, то шлет пакет «напрямую», если же нет — отсылает его шлюзу по умолчанию (маршрутизатору). Как правило, хотя это вовсе необязательно, шлюзу по умолчанию назначают первый адрес хоста в подсети: в нашем случае 192.168.8.1 — для красоты.
Обстоятельство четвертое. Из сказанного в частности следует, что маршрутизатор (шлюз и маршрутизатор — это одно и то же) с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом между, например, хостами 192.168.8.5 и 192.168.8.7. Очень частой ошибкой начинающих администраторов является желание заблокировать или как-то еще контролировать с помощью шлюза трафик между хостами в рамках одной подсети. Чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.
Таким образом в сети (даже самого маленького предприятия) обычно должно быть несколько IP-подсетей (2+) и маршрутизатор (точнее файрвол, но в данном контексте можно считать эти слова синонимами), маршрутизирующий и контролирующий трафик между подсетями.
Обстоятельство пятое. Как и любому приличному IT-шнику, администратору сети, если только он получает зарплату не за красивые глаза, положено знать наизусть степени двойки от 0 до 16.
Процесс объединения мелких префиксов (с длинной маской, в которых мало хостов) в крупные (с короткой маской, в которых много хостов) называется агрегацией или суммаризацией (вот не суммированием!). Это очень важный процесс, позволяющий минимизировать количество информации, необходимой маршрутизатору для поиска пути передачи в сети. Так, скажем, провайдеры выдают клиентам тысячи маленьких блоков типа /29, но весь интернет даже не знает об их существовании. Вместо этого за каждым провайдером закрепляются крупные префиксы типа /19 и крупнее. Это позволяет на порядки сократить количество записей в глобальной таблице интернет-маршрутизации.
Обстоятельство шестое. Чем больше длина маски, тем меньше в подсети может быть хостов, и тем большую долю занимает «съедение» адресов на адреса подсети, направленного бродкаста и шлюза по умолчанию. В частности в подсети с маской /29 (2 32-29 = 8 комбинаций) останется всего 5 доступных для реального использования адресов (62,5%). Теперь представьте, что вы провайдер, выдающий корпоративным клиентам тысячи блоков /29. Таким образом, грамотное разбиение IP-пространства на подсети (составление адресного плана) — это целая маленькая наука, включающая поиск компромиссов между разными сложными факторами.
При наличии достаточно большого диапазона адресов, как правило из блоков для частного использования 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, конечно, удобно использовать маски, совпадающие по длине с границами октетов: /8, /16, /24 или, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0. При их использовании можно облегчить работу мозгу и калькулятору, избавившись от необходимости работать с двоичной системой и битами. Это правильный подход, но не стоит забывать, что злоупотребление расслабухой редко доводит до добра.
И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 20 лет (!), как нет никаких классов. Ровно с тех пор, как стало понятно, что длина префикса может быть любой, а если раздавать адреса блоками по /8, то никакого интернета не получится.
Иногда «матерые специалисты» любят блеснуть словами «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Скажем, часто можно услышать слово «сеть класса C» про что-нибудь вроде 10.1.2.0/24. Класс сети (когда он был) не имел никакого отношения к длине маски и определялся совсем другими факторами (комбинациями битов в адресе). В свою очередь классовая адресация обязывала иметь маски только предписанной для данного класса длины. Поэтому указанная подсеть 10.1.2.0/24 никогда не принадлежала и не будет принадлежать к классу C.
Но обо всем этом лучше и не вспоминать. Единственное, что нужно знать — что существуют разные глобальные конвенции, собранные под одной крышей в RFC3330, о специальных значениях тех или иных блоков адресов. Так, например, упомянутые блоки 10/8, 172.16/12 и 192.168/16 (да, можно и так записывать префиксы, полностью откидывая хостовую часть) определены как диапазоны для частного использования, запрещенные к маршрутизации в интернете. Каждый может использовать их в частных целях по своему усмотрению. Блок 224.0.0.0/4 зарезервирован для мультикаста и т. д. Но все это лишь конвенции, призванные облегчить административное взаимодействие. И хотя лично я крайне не рекомендую вам их нарушать (за исключением надежно изолированных лабораторных тестов), технически никто не запрещает использовать любые адреса для любых целей, покуда вы не стыкуетесь с внешним миром.