Как создать две подсети на компьютере

Обновлено: 06.07.2024

Можно сказать, что IP-адреса состоят из нескольких частей, подобно тому, как полные адреса улиц состоят из нескольких частей. Почтовый адрес может состоять из более конкретных частей Страна, Город, Почтовый индекс, Улица и Номер дома. IP-адрес состоит из двух основных частей: IP-сети и адресов внутри IP-сети. Адреса в IP-сети также называются адресами хоста, поскольку разные хосты (компьютеры) имеют разные уникальные адреса в IP-сети.

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

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

Два компьютера в той же IP-сети

Два компьютера, принадлежащие к одной IP-сети, могут обмениваться данными

Два компьютера в разных IP-сетях

Два компьютера, принадлежащие к разным IP-сетям, не могут взаимодействовать друг с другом напрямую

На приведенных выше рисунках показано несколько примеров того, как выглядят IP-адреса. IP-адрес делится на четыре части, разделенные точками. Каждая часть IP-адреса может иметь значения от 0 до 255.

Основная цель маршрутизатора – перенаправить трафик в разные пункты назначения. Маршрутизатор отслеживает, где в компьютерной сети существуют разные IP-сети. Основная задача маршрутизатора — перенаправлять трафик между этими IP-сетями.

Но как узнать, принадлежат ли два IP-адреса одной и той же IP-сети? К сожалению, отличить IP-сети друг от друга не так просто, как с уличными адресами.

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

Маски подсети и IP-сети

Чтобы действительно понять, как именно работает маска подсети, вам нужно изучить и изучить двоичные числа и несколько других более сложных тем. К счастью, вам не нужны такие глубокие знания, если вы не работаете с ИТ или компьютерными сетями профессионально.

И IP-адрес, и маска подсети состоят из четырех частей, разделенных точками. Каждая часть IP-адреса и маска подсети могут иметь значение от 0 до 255

IP-адреса и маски подсети

В простейшей форме каждая часть маски подсети представляет собой либо число 255, либо число 0 (ноль).

  • 255 означает, что соответствующая часть IP-адреса принадлежит IP-сети.
  • 0 (ноль) означает, что соответствующая часть IP-адреса принадлежит адресам узлов.

Вот несколько примеров сочетаний IP-адресов и масок подсети:

  • Если в первой части маска подсети равна 255, первая часть IP-адреса показывает, к какой IP-сети принадлежит адрес.

table-sm-1

  • Если вторая часть маски подсети также равна 255, то вторая часть IP-адреса также является частью IP-сети.

table-sm-2

  • Если третья часть маски подсети равна 255, то третья часть IP-адреса также принадлежит IP-сети.

table-sm-3

Сетевой адрес, название сети

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

Пример 1:

На рисунке ниже первые три части IP-адреса принадлежат IP-сети. Это определяется маской подсети.

IP-адрес и пример маски подсети

0 (ноль) — это самый низкий адрес, доступный в четвертой части IP-адреса. Таким образом, компьютер принадлежит к IP-сети 101.102.103.0

Четвертая часть (.5) IP-адреса показывает, какой адрес хоста используется компьютером в IP-сети.

Пример 2:

Следующий ниже компьютер принадлежит к IP-сети 211.139.157.0. Он использует адрес хоста 9 в IP-сети, а его IP-адрес — 211.139.157.9

pc-ip-example- 2

Пример 3:

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

IP-адрес и пример маски подсети

IP-сети в вашей домашней сети

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

Как мы упоминали ранее, каждая часть IP-адреса может иметь значение от 0 до 255. Таким образом, четвертая часть IP-адреса позволяет использовать 256 различных адресов (от нуля до 255), которые можно использовать для компьютеров, IP-телефонов, маршрутизаторов, ноутбуков, принтеров и других устройств. Устройства такого типа обычно называются хостами или клиентами. В обычной домашней сети этих адресов всегда более чем достаточно для охвата устройств, подключенных к сети.

Еще один термин, который иногда используется, – хост, который чаще всего относится к компьютерам и серверам в сети.

Первый адрес (нулевой) и последний адрес (255) в вашей домашней сети нельзя использовать для клиентов. Они зарезервированы для специальных функций. Первый адрес — это сетевой адрес, который уже обсуждался. Последний адрес используется для широковещательной рассылки, что объясняется в разделе «Коммутация» этого материала.

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

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

Маршрутизация и обмен данными между подсетями — основная тема здесь. В этой статье анализируется связь между подсетями. Мы приводим примеры различных методов, которые можно использовать для обеспечения эффективного и безопасного обмена данными в подсетях. Как правило, в этой статье на практике применяется вся теория подсетей, рассмотренная до сих пор.

Связь между подсетями

Итак, после прочтения всех предыдущих страниц о подсетях, позвольте задать вам следующее:

Считаете ли вы, что компьютеры, находящиеся в одной физической сети, но настроенные для работы в разных подсетях, могут обмениваться данными?

Ответ "нет". Почему? Просто потому, что вы должны иметь в виду, что мы говорим о связи между двумя разными сетями!

В нашем примере сети класса C на предыдущей странице видно, что один компьютер является частью сети 192.168.0.0, а другой частью сети 192.168.0.32, и это две разные сети. В нашем примере с того момента, как мы изменили маску подсети по умолчанию с 255.255.255.0 на 255.255.255.224, мы разделили эту сеть на 8 меньших.

Проверка теории

И потому что нам просто нужно это доказать. мы собираемся попробовать это в моей домашней сети! В худшем случае мне придется провести всю ночь, пытаясь понять, что пошло не так, но оно того стоит! :)

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

Ну, это сеть, с которой мы должны поиграть. Я поместил на диаграмму результаты нескольких простых проверок связи с каждого хоста, и, как вы можете видеть, все они оказались хорошими: ПРОШЕЛ.

Итак, чтобы перейти ко второй фазе нашего эксперимента, я изменил маску подсети моей рабочей станции на 192.168.0.35 / 255.255.255.224, моего брандмауэра Slackware Linux на 192.168.0.1 / 255.255.255.224 (внутренняя сетевая карта). и мой сервер NetWare 6 на 192.168.0.10 / 255.255.255.224, как показано на диаграмме ниже:

Как видите, результаты для моей рабочей станции были ужасающими . в одиночестве и совершенно не подозревая, что два других сервера все еще там! Когда моя рабочая станция попытается пропинговать брандмауэр Linux, она не получит ответа, потому что его шлюз — это хост, принадлежащий другой сети, что, как мы знали, никогда не сработает.

Итак, мы пришли к выводу, что не может быть никакой связи между компьютерами Сети 1 и Сети 2.

Как же два хоста в двух разных подсетях могут взаимодействовать друг с другом? Это то, на что мы собираемся взглянуть прямо сейчас!

Наведение моста

Есть способ разрешить связь между моей рабочей станцией, моими серверами и Интернетом. На самом деле есть несколько способов добиться этого, и я собираюсь показать вам несколько способов, хотя некоторые из них могут показаться глупыми или непрактичными. На данный момент нас не интересует лучшее решение, мы просто хотим знать, как мы можем установить связь между двумя подсетями.

Учитывая, что подсети — это небольшие сети, вы должны помнить, что мы используем маршрутизаторы для обеспечения связи между двумя сетями. Этот пример моей домашней сети не является исключением из этого правила.

Нам нужен маршрутизатор, который будет направлять пакеты из одной сети в другую. Давайте рассмотрим различные способы решения этой проблемы:

Способ 1. Использование сервера с 2 сетевыми картами

Наш первый вариант — использовать один из серверов или новый сервер, на котором установлены как минимум 2 сетевые карты. Подключив каждую сетевую карту к одной из наших сетей и настроив сетевые карты так, чтобы каждая из них принадлежала к одной подсети/сети, мы можем маршрутизировать пакеты между ними:

На приведенной выше диаграмме показано почти все, что необходимо. Вторая сетевая карта была установлена, и ей был назначен IP-адрес, который попадает в диапазон нашей сети 1 и, следовательно, может связываться с моей рабочей станцией. С другой стороны, сервер NetWare теперь действует как шлюз для сети 1, поэтому моя рабочая станция переконфигурирована для использования его в качестве своего шлюза. Любые пакеты из сети 1 в сеть 2 или из Интернета будут проходить через сервер NetWare.

Способ 2: привязка 2 IP-адресов к одной сетевой карте

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

Этот второй IP-адрес, очевидно, попадет в диапазон IP-адресов сети 1, чтобы моя рабочая станция могла обмениваться данными с сервером:

Как показано на диаграмме, единственная проблема, с которой мы можем столкнуться, — это необходимость того, чтобы операционная система сервера поддерживала этот тип конфигурации, но большинство современных операционных систем будут этому соответствовать.

После настройки Сервер заботится о любой маршрутизации между двумя сетями.

Способ 3. Установка маршрутизатора

Третий способ — установить маршрутизатор в сети.

Это может показаться немного надуманным, но помните, что мы ищем все возможные способы установить связь между нашими сетями! Если бы это была большая сеть, то маршрутизатор мог бы быть идеальным решением, но, учитывая размер моей сети, что ж. скажем так, глупая идея :)

Моя рабочая станция при такой настройке будет пересылать все пакеты на свой шлюз, который является интерфейсом маршрутизатора и подключен к сети 1, и она сможет видеть все остальные серверы и получать доступ к Интернету. Это похоже на способ 1, но вместо сервера у нас есть выделенный маршрутизатор. Да, и, кстати, если бы мы в конечном итоге использовали такую ​​конфигурацию в реальной жизни... концентратор, к которому подключаются оба интерфейса маршрутизатора, был бы заменен каким-либо каналом WAN.

Привет! Похоже, у вас отключен JavaScript. Пожалуйста, включите его, чтобы вы могли видеть и взаимодействовать со всем на нашем сайте.

Разделить подсети несложно, но я часто вижу, как даже опытные сетевые инженеры ищут калькуляторы подсетей или пытаются считать в двоичном формате на пальцах. Так как насчет быстрого праймера? Чтобы понять подсети IPv4, вспомните, что такое подсеть, и подумайте об IP-адресе в двоичном формате.

Что такое подсети?

Подсеть — это просто диапазон IP-адресов. Все устройства в одной подсети могут напрямую связываться друг с другом без использования каких-либо маршрутизаторов. В IPv4 сетевой интерфейс подключен только к одной подсети и имеет только один IP-адрес. В IPv6 все немного сложнее, поэтому мы оставим подсети IPv6 для другой статьи. Но сначала полезно разобраться в IPv4, потому что основные понятия одинаковы.

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

Давайте посмотрим на IP-адрес рядом с маской как в десятичной, так и в двоичной системе счисления:

Везде, где в маске стоит 1, это сетевая часть адреса. Везде, где в маске стоит 0, находится часть адреса host. Сетевая часть — 192.168.101.0, а хостовая часть — xx.xx.xx.15. (Для упрощения мы всегда группируем все единицы слева и все нули справа от маски.)

Любое другое устройство с той же частью сети является частью моей подсети. Итак, 192.168.101.1 — это часть моей подсети, а 192.168.101.100 — это часть моей подсети, но 192.168.102.15 не является частью моей подсети, и мне нужно пройти через маршрутизатор, чтобы добраться до него.

Посмотрите на выделенные последние два бита третьего октета в этом адресе 192.168.102.15. Вместо «01100101» это «0110110». Поскольку эта разница возникает в «сетевой» части адреса (где маска содержит 1 вместо 0), этот адрес находится в другой подсети.

Особые адреса и подсети

Думайте только о хостовой части адреса. В нашем примере (192.168.101.15/24) хост-часть — .15. Маска /24. Это означает, что восемь бит (32-24=8) доступны для указания хоста.

Наименьшее значение в этом диапазоне подсети — 0000 0000, что соответствует десятичному числу 0. Максимальное значение — 1111 1111, что представляет собой десятичное число 255. Именно это я имею в виду, когда говорю «все 0» и «все 1». ». Эти два значения зарезервированы для сетевого адреса (для обозначения всей сети) и для локальных широковещательных рассылок в подсети соответственно. Вы не можете назначить их какому-либо хосту — хотя из этого правила есть исключения, о которых я расскажу чуть позже.

Хотя многие из нас знакомы со специальными диапазонами частных IP-адресов, такими как 10.0.0.0/8 и 192.168.0.0/16, существует довольно много других специальных IP-адресов, о которых вы также можете прочитать. для различных целей.

Маски подсети

/24 — очень распространенный размер подсети. Это легко понять, потому что сетевая часть адреса — это первые три октета, а хостовая часть — последний октет. Вы можете просто прочитать информацию о подсети. Любые два адреса с одинаковыми первыми тремя октетами находятся в одной подсети.

Мне очень нравится использовать подсети /24 именно потому, что их легко читать и запоминать. Одно из моих личных правил проектирования сетей заключается в том, что когда кто-то звонит мне в 3 часа ночи, чтобы решить проблему, мне лучше не думать слишком много.

Но есть несколько веских причин для использования подсетей других размеров. Например, вы можете захотеть сохранить адреса в подсети, в которой, как вы знаете, никогда не будет много устройств. Или вам может понадобиться создать подсеть с сотнями устройств. В обоих случаях вам понадобится другой размер подсети.

Если у вас есть подсеть с маской /25, то вместо восьми свободных битов для хостовой части адреса у вас будет только семь бит (32-25=7). 2^7 — это 128. Как и в случае /24, вы не можете использовать ни все 0, ни все 1 адреса хоста. Остается 126 возможных адресов узлов.

В этой таблице показаны /25 и несколько других полезных размеров подсети.

нотация CIDR нотация сетевой маски 2^(32-n) Доступные хосты Примечание
/0 0.0.0.0 4 294 967 296 4 294 967 294 Весь Интернет
/8 255.0.0.0 16 777 216< /td> 16 777 214 Класс A
/16 255.255.0.0 65 535 65 533 Класс B
/24 255.255.255.0 256 254 Класс C
/25 255.255.255.128 128 126
/26 255.255.255.192 64 62
/27 255.255.255.224 32 30
/28 255.255.255.240 16 14
/29 255.255.255.248 8 6
/30 255.255.255.252 4 2
/31 255 .255.255.254 2 2*
/32 255.255.255.255 0 1*

Я включил в таблицу старомодные названия классов, но важно знать, что в Интернете больше не признается понятие класса. Именно поэтому буква «C» в нотации стиля CIDR «/24» означает «бесклассовый».

Взгляните на две последние записи, которые нарушают правила, согласно которым все адреса хостов 0 и все 1 являются недопустимыми. Когда-то было правдой, что единственный способ получить двухточечную подсеть с двумя устройствами — это использовать подсеть /30. Но проблема с подсетью /30 заключается в том, что она тратит впустую половину диапазона, потому что каждая подсеть /30 имеет четыре адреса хоста, два из которых — это все 0 и все 1 адреса, которые необходимы как сетевой адрес и широковещательный адрес.

Поэтому был представлен RFC 3021, позволяющий использовать подсети /31 специально для двухточечных соединений, не требующих локальной широковещательной рассылки. В этих сетях любой пакет, отправленный одним узлом, должен быть предназначен для другого узла, так как других возможностей нет.

Подсеть /32 используется для таких вещей, как внутренние петлевые адреса, когда в подсети есть только одно устройство. Интерфейсы обратной связи часто используются сетевыми устройствами, такими как маршрутизаторы, для предоставления интерфейса, который всегда доступен.

Экономия времени благодаря нотации CIDR

Мы говорили о традиционной нотации сетевой маски. Но прежде чем мы пойдем дальше, позвольте мне рассказать о другой нотации, называемой CIDR (бесклассовая междоменная маршрутизация).

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

Все 1 должны быть слева, а все 0 справа. Так что все, что действительно имеет значение, это количество единиц. Вам даже не нужно отдельно считать 0, потому что всего должно быть 32 бита.

В нашем примере используется маска 255.255.255.0. Это три группы из восьми единиц, за которыми следуют восемь нулей. Таким образом, мы можем сказать все, что нужно знать об этой маске, просто указав, что в ней 24 единицы (3×8=24), и запишем это как /24. Таким образом, в нотации CIDR наш пример адреса и информации о подсети может быть записан как 192.168.101.15/24.

Если вам не нравится нотация CIDR, ничего страшного. Сначала мне это тоже не понравилось, но действительно экономит много времени и места при написании адресов.

Определение адресов в диапазоне подсети

Пока что я надеюсь, что все это звучит довольно просто. В определении подсетей есть только одна трудная часть: знать, какие адреса входят в определенный диапазон. Однако есть несколько приемов, которые могут помочь предотвратить конфликты IP-адресов.

Первая хитрость заключается в том, что адрес all-0 — это двоичное число, которое обязательно заканчивается нулем, а это означает, что это всегда четное число. Таким образом, за исключением подсетей /31 и /32, первый пригодный для использования адрес в любом диапазоне всегда является нечетным числом. Точно так же адрес all-1 всегда является нечетным числом. Таким образом, последний используемый адрес должен быть четным.
Вторая хитрость заключается в том, чтобы запомнить числа в средней колонке вышеприведенной таблицы, степени двойки. Вам действительно нужно помнить о степени двойки до 2 ^ 8. Затем вы считаете в соответствующей степени двойки. (1, 2, 4, 8, 16, 32, 64, 128, 256 — просто запомните их.)

Вот что я имею в виду. Если я использую подсеть /28, то сначала я вычитаю 28 из 32, что равно 4. Я помню, что 2^4 равно 16. Это говорит мне, что нужно считать по 16 секунд. Первая подсеть — xx.xx.xx.0/28. Чтобы получить вторую подсеть, я добавляю 16: xx.xx.xx.16/28, затем xx.xx.xx.32/28 и xx.xx.xx.48/28 и так далее.

Эти значения говорят мне, что первый и последний хосты в каждом диапазоне. Для xx.xx.xx.0/28 это .1 и .14. Для xx.xx.xx.16/28 это .17 и .30 и так далее. Обратите внимание, что первый адрес всегда нечетный, а последний всегда четный.

А как насчет больших диапазонов?

Мы также можем создавать подсети, превышающие 254 доступных адреса в подсети /24.

Подумайте о /23. В адресе 32 бита, поэтому, если маска имеет длину 23 бита, то для хостов доступно 9 бит. Это означает все биты четвертого октета в IP-адресе и один бит третьего. В нотации сетевой маски это будет 255.255.254.0. Давайте рассмотрим пример.

Предположим, наша подсеть — 10.11.12.0/23. Первый адрес в этом диапазоне, очевидно, 10.11.12.1, а последний на самом деле 10.11.13.254. Обратите внимание, что третий октет равен 13. Посмотрите на двоичное представление адреса и маски, чтобы понять, почему это так.

Каждый адрес между 10.11.12.1 и 10.11.13.254 включен в эту подсеть. Сюда входят 10.11.12.255 и 10.11.13.0, но многие сетевые администраторы избегают этих адресов по суеверным причинам, даже если они действительные адреса. (Это не совсем суеверие. Если вы используете эти адреса, а один или несколько хостов в сети неправильно настроены для использования более распространенной маски подсети /24, то вы можете столкнуться с тем, что некоторый трафик для этих двух хостов отправляется как широковещательная рассылка, а не как прямая одноадресная рассылка. пакеты.)

Мы можем создавать подсети с еще большими диапазонами, например /22 или /11. Но хорошая новость заключается в том, что для этого вам не нужно запоминать кучу степеней двойки. Вместо этого просто примените правила, которые мы обсуждали выше для /24-/32, но в другом октете адреса.

Под этим я подразумеваю, что /16 точно такой же, как /24, но в третьем октете. Точно так же /17 подобен /25 и так далее. Например, если бы моя подсеть была 10.12.0.0/20, я мог бы подумать об анализе, который мы только что провели для /28 (поскольку 20 бит на 4 больше, чем 16, так же как 28 на 4 больше, чем 24).

Итак, если мы определили, что /28 соответствует маске 255.255.255.240, мы отодвинули его на один октет назад, чтобы получить маску для /20, 255.255.240.0. И точно так же, как мы считали по 16, чтобы получить подсети для /28, мы считаем по 16, чтобы получить подсети для /20. Это будут xx.xx.0.0/20, xx.xx.16.0/20, xx.xx.32.0/20 и т. д.

И наши хосты в каждом из этих диапазонов будут работать от первого нечетного значения до последнего четного значения: от xx.xx.0.1 до xx.xx.15.254. Это немного отличается от простого копирования четвертого октета /28 в третий октет /20, потому что мы можем использовать 0 и 15. Мы просто не можем использовать самый первый (xx.xx .0.0) и самый последний адрес (xx.xx.15.255) в диапазоне.

Вам действительно нужны такие большие подсети?

Здесь мы знакомимся с одним из интересных аспектов маршрутизации TCP/IP. Вы, вероятно, не хотите иметь дело с подсетью /20 или /9. Это просто слишком много хостов в одном сегменте. Широковещательные рассылки для ARP в любой сети Ethernet могут создать серьезную проблему перегрузки. Но вы можете значительно упростить таблицы маршрутизации, используя суммирование.

Сводка работает следующим образом. Предположим, я работаю через облачный мониторинг сети, и у меня есть большая сеть, которая использует все 10.0.0.0/8. Но предположим, что я распределил свои адреса так, что моя сеть в Монреале использует 10.1.4.0/24, 10.1.5.0/24, 10.1.6.0/24 и 10.1.7.0/24. И предположим, что моя сеть в Торонто использует 10.1.8.0/24 и 10.1.9.0/24. Центральный маршрутизатор, которому необходимо отправлять трафик на оба этих сайта, может иметь все шесть этих подсетей в своей таблице маршрутизации, или мы можем суммировать их.

Мы могли заметить, что все 4 диапазона в Монреале являются подсетями 10.1.4.0/22, а 2 диапазона в Торонто являются подсетями 10.1.8.0/23. Теперь мне нужно только 2 записи маршрута.

И я мог бы создать дополнительную подсеть для любого из этих диапазонов. Например, 10.1.4.0/24 на самом деле может состоять из 10.1.4.8/28, 10.1.4.16/28 и 10.2.4.252/30. Резюме до сих пор работает. Мне больше не нужны записи в таблице маршрутизации на центральном маршрутизаторе.

Кроме того, важно отметить, что в TCP/IP есть эффективный способ обработки исключений. Предположим, что в сети Торонто также есть 10.1.4.248/30. В этом случае я мог бы оставить суммарный маршрут для Монреаля, 10.1.4.0/22, и просто добавить одно исключение, указывающее на Торонто: 10.1.4.248/30.

При маршрутизации пакетов маршрутизатор всегда выбирает «наилучшее» или «самое длинное» совпадение. Таким образом, вы можете иметь маршрут /22 в качестве сводки, а затем обрабатывать отдельные исключения. Все, что соответствует одному из исключений с более длинным (большее число после «/»), будет маршрутизироваться в соответствии с этим правилом.

Вы уже знакомы с концепцией сводных правил и исключений. Маршрутизатор имеет общий маршрут для всего, он называется «маршрут по умолчанию», 0.0.0.0/0. Маршрут по умолчанию соответствует всем возможным адресам. Обычно он указывает на общедоступный Интернет. У ваших маршрутизаторов будут более конкретные маршруты для всех ваших внутренних сетей, а маршрут по умолчанию будет отправлять все остальное в Интернет.

Хорошо, определить адреса подсети на самом деле не так уж и сложно. Если вы на минуту задумаетесь о том, что вы делаете, вам действительно не нужен один из этих калькуляторов подсетей. И, по правде говоря, думать о том, что вы делаете, в любом случае, вероятно, хорошая идея.

О Кевине Дули

Кевин имеет более чем 15-летний опыт работы сетевым инженером. Он спроектировал и реализовал несколько самых крупных и сложных корпоративных сетей передачи данных в Канаде и написал несколько высоко оцененных книг по сетевым технологиям для O'Reilly and Associates, в том числе Designing Large-Scale LANs и Cisco IOS Cookbook. Кевин имеет докторскую степень. по теоретической физике и многочисленные отраслевые сертификаты.

7 комментариев к статье «Подсети: что это такое и как это работает»

Спасибо за этот стол! Я боролся с этими CIDR почти месяц. Я нашел 50 способов их вычисления, но ваш — самый простой из всех, и его легко запомнить. Действительно полезная техника для экзамена CompTIA Network+.

У меня дома есть локальная сеть, использующая подсеть 192.168.1.0/24 . Я знаю, что эта маска подсети поддерживает 254 хоста.

Два вопроса:

  1. Как создать подсеть, например 192.168.2.0/24, в той же физической сети?
  2. Сможет ли хост в сети 192.168.2.0/24 получить доступ к Интернету, если я укажу его шлюзу по умолчанию IP-адрес моего маршрутизатора 192.168.1.1?

Я предлагаю, чтобы этот вопрос отличался от отмеченного дубликата. Дубликат указывает, что устройства во второй подсети не имеют доступ к первой сети, но в этом вопросе нужны устройства в той же физической сети. Эта разница существенна, так как ограничивает ответы на другие вопросы физическим разделением сетей, что противоположно тому, чего хочет автор вопроса.

Обратите внимание, что использование двух разных подсетей в одном физическом сегменте не рекомендуется, поскольку широковещательные рассылки уровня 2 не будут соответствовать уровню 3, что приведет только к проблемам при настройке сети. Если вам нужны разные подсети в одних и тех же физических сегментах, рассмотрите возможность использования VLAN.

@dirkt извините, я не ясно выразился. Примеры широковещательных передач уровня 2, вызывающих проблемы из-за использования двух IP-подсетей на одном физическом канале.

1 Ответ 1

Вы можете создать отдельную подсеть рядом с существующей сетью LAN, просто настроив узлы во второй сети с использованием IP-адресов из подсети 192.168.2.0/24.

Существующая подсеть "A" (с использованием маски 255.255.255.0):

Маршрутизатор: 192.168.1.1
Компьютер 1: 192.168.1.2
Компьютер 2: 192.168. 1.3

Новая подсеть "B" (с использованием маски 255.255.255.0):

Компьютер 3: 192.168.2.2
Компьютер 4: 192.168.2.3

Предположим, вы настроили все узлы в этом примере на использование IP-адреса маршрутизатора 192.168.1.1 в качестве шлюза по умолчанию. Хосты в подсети A будут иметь доступ в Интернет, а хосты в подсети B — нет. Вот где в игру вступает следующий вопрос:

Внутренний IP-адрес вашего маршрутизатора — 192.168.1.1. Этот адрес помещает его в подсеть A, но делает его недоступным для хостов в подсети B. Короче говоря, это связано с тем, что хост может взаимодействовать только напрямую с другим хостом в той же подсети. Хосты подсети B могут отправлять пакеты на любой хост с IP-адресом от 192.168.2.0 до 192.168.2.255 (при нашей 24-битной маске). Поскольку IP-адрес маршрутизатора не попадает в этот диапазон, он недоступен для подсети B.

Решение состоит в том, чтобы использовать настоящий маршрутизатор (я предполагаю, что ваш маршрутизатор на самом деле является шлюзом). Настоящий маршрутизатор имеет несколько интерфейсов и поэтому подключается к нескольким подсетям для маршрутизации трафика между ними. Таким образом, в вашем случае ваш маршрутизатор будет иметь два внутренних IP-адреса:

  • 192.168.1.1 для подсети A
  • 192.168.2.1 для подсети B

Хосты в каждой подсети будут использовать соответствующий IP-адрес в качестве шлюза по умолчанию. Когда хост 192.168.2.3 пытается связаться с хостом 192.168.1.3, он отправляет трафик на маршрутизатор, который «маршрутизирует» пакеты между двумя подсетями. Точно так же работает трафик, предназначенный для Интернета. Поскольку IP-адрес интернет-сайта не находится в локальной подсети, хост отправляет пакеты на маршрутизатор, который перенаправляет их в Интернет.

Подробное описание подсетей IPv4 см. в этом вопросе на сайте ServerFault.

Читайте также: