- LINUX — Жизнь в консоли ЕСТЬ.
- Главное меню
- Последние статьи
- Счетчики
- Маска подсети
- Чайник для Линуксов
- пятница, 6 марта 2009 г.
- Linux, Сетевые маски
- MNorin.com
- Блог про Linux, Bash и другие информационные технологии
- Маска подсети: считаем на bash
- Пример маски подсети
- Перевод из десятичной системы в двоичную в bash
- Перевод из двоичной системы в десятичную в bash
- Пишем скрипт
- Организация IP-подсетей
- Robert Hart
- Перевод: Александр Ермолаев, SWSoft Pte Ltd.
- 1. Авторское право
- 1.1. Авторские права
- 2. Введение
- 2.1. Другие источники информации
- 3. Анатомия IP адресов
- 3.1. IP адреса характеризуют сетевые соединения, а НЕ компьютеры!
- 3.2. IP-адреса как «четверка чисел разделенные точками»
- 3.3. Классы сетей
- 3.4. Сетевые адреса, адреса интерфейсов и широковещательные адреса
- 3.5. Сетевая маска
- 4. Что такое подсети?
- 5. Почему организуются подсети?
- 6. Как организуются подсети
- 6.1. Установка физической связанности
- 6.2. Установление размеров подсети
- 6.3. Вычисление сетевой маски и сетевых адресов
- 7. Маршрутизация
- 7.1. Таблицы маршрутизации
LINUX — Жизнь в консоли ЕСТЬ.
Главное меню
Последние статьи
Счетчики
Маска подсети
Эта статья не относится напрямую к операционой системе линукс, но тем не менее эта ось создавалась изначально как сетевая ОС и понимание этой информации лишним не будет.
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети.
с помощью маски подсети можно определить, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
У маски подсети существует три наиболее часто используемые формы записи:
1. десятичный вид ( 255.255.255.192 );
2. двоичный вид( 11111111.11111111.11111111.11000000 ).
3. /ХХ (/26) — колличество единиц в двоичном представлении маски подсети.
Адрес подсети.
Это адрес который используется для организации маршрутизации между несколькими подсетями. При получении IP-адреса хоста маршрутизатор накладывает на него маску и определяет адрес подсети, затем по этому адресу определяется адрес шлюза на который нужно отправить пакет.
Адреса хостов в подсети.
Это набор IP-адресов, которые могут быть выданы хостам (устройствам, подключенным к ip-сети). Чтобы подсчитать количество адресов, нужно от общего количества адресов подсети отнять два адреса(адрес сети и широковещательный). При обмене пакетами между хостами в одной подсети маршрутизатор и шлюз не нужны.
Широковещательный адрес (Broadcast).
Это адрес который не присвоен ни одному хосту в подсети. Данный адрес используется для отправки широковещательных пакетов, которые предназначены каждому хосту подсети.
Пример 1.
Найдем адрес сети, зная IP-адрес (192.168.1.2) и маску подсети (255.255.255.0). Для этого необходимо применить к ним операцию поразрядной конъюнкции (логическое И).
Для этого переводим в двоичную систему счисления.
IP-адрес: 11000000 10101000 00000001 00000010 (192.168.1.2)
Маска подсети: 11111111 11111111 11111111 00000000 (255.255.255.0)
Адрес сети: 11000000 10101000 00000001 00000000 (192.168.1.0)
Пример 2, обратный, найдем адреса хостов и широковещательный адрес
/26 = 11111111.11111111.11111111.11000000 = 255.255.255.192
192.168.111.64 = 11000000.10101000.01101111.01000000
По маске видим что наша сеть будет иметь диапазон ip-адресов
от: 11000000.10101000.01101111.01000000 = 192.168.111.64
до: 11000000.10101000.01101111.01111111 = 192.168.111.127
Где последний адрес будет широковещательный (broadcast).
Адреса хостов нашей сети:
min(в большинстве случаев является шлюзом*
(gateway)): 11000000.10101000.01101111.01000001 = 192.168.111.65
max: 11000000.10101000.01101111.01111110 = 192.168.111.126
т.е. всего хостов в сети — 62.
Пример 3. Новым сотрудникам техподдержки ПетерСтар посвящается 😉
Наиболее популярная маска подсети для юридических клиентов /30 .
маска: 11111111.11111111.11111111.11111100 = 255.255.255.252
IP-адрес: 01010100.11001100.10100110.01001100 = 84.204.166.76
По маске видим что наша сеть будет иметь диапазон ip-адресов
от 01010100.11001100.10100110.01001100 = 84.204.166.76
до 01010100.11001100.10100110.01001111 = 84.204.166.79
Адреса хостов подсети:
min(шлюз*
(gateway)): 01010100.11001100.10100110.01001101 = 84.204.166.77
модем\комп(если bridge)
: 01010100.11001100.10100110.01001110 = 84.204.166.78
broadcast : 01010100.11001100.10100110.01001111 = 84.204.166.79
*Сетевой шлюз — аппаратный маршрутизатор (англ. gateway) или программное обеспечение для сопряжения компьютерных сетей, использующих разные протоколы (например, локальной и глобальной). Сетевые шлюзы могут быть аппаратным решением, программным обеспечением или тем и другим вместе, но обычно это программное обеспечение, установленное на роутер или компьютер.
Источник
Чайник для Линуксов
пятница, 6 марта 2009 г.
Linux, Сетевые маски
Вротмненоги!
Кажется я более менее разобрался в сетевых масках. Осталось понять с чем их едят =)
Поэтому сейчас вас ожидает курс молодого бойца по предмету «Сетевые маски» для тех, кто еще не понял как их высчитывать.
Многабуков — запаситесь чаем 😉
Значит сетевая маска (netmask) это такая штука, которая позволяет разделить сеть на подсети для более эффективного их использования.
Начнем с простой и популярной маски для сети класса С:
Сеть \ Маска
192.168.0.0
255.255.255.0
Итак, это сеть компов с адресами от 192.168.0.0 до 192.168.0.255, как несложно догадаться. Сеть, в которой 192.168.0.0 это адрес сети (network), а 192.168.0.255 широковещательный адрес (broadcast). Пример простой, повсеместно использующийся, потому всем понятный.
Усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.128
Ага! А вот это уже ДВЕ подсети:
от 192.168.0.0 (network1) до 192.168.0.127 (broadcast1) первая,
и от 192.168.0.128 (network2) до 192.168.0.255 (broadcast2) вторая.
При этом адреса сети и широковещательный — зарезервированы и не подлежат использованию.
Еще усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.192
Это четыре подсети:
от 192.168.0.0 (network1) до 192.168.0.63 (broadcast1) первая,
от 192.168.0.64 (network2) до 192.168.0.127 (broadcast2) вторая.
от 192.168.0.128 (network3) до 192.168.0.191 (broadcast3) третья,
и от 192.168.0.192 (network4) до 192.168.0.255 (broadcast4) четвертая.
Как так получается и как узнать кол-во подсетей по маске? Очень просто — надо отнять размер маски от 256 и вы получите размер одной подсети (кол-во подсетей при этом надо считать в голове).
Маска \ размер подсети:
255.255.255.0 — 256-0 = 256 компов
255.255.255.128 — 256-128 = 128 компов
255.255.255.192 — 256-192 = 64 компа
255.255.255.224 — 256-224 = 32 компов
255.255.255.240 — 256-240 = 16 компов
255.255.255.248 — 256-248 = 8 компов
255.255.255.252 — 256-252 = 4 компа
255.255.255.254 — 256-254 = 2 компа
255.255.255.255 — 256-255 = 1 комп
(вроде нигде не ошибся =/)
Маска, как видите, меньше 128 не бывает, потому что кол-во подсетей должно быть кратным 256. Т.е. маска 192.168.0.64 обозначала бы 192 компа, а 256 ровно на 192 че-то как-то не делится 🙂
Запишем те же маски в том же порядке, но в виде двоичной записи:
255.255.255.0 — 11111111.11111111.11111111.00000000
255.255.255.128 — 11111111.11111111.11111111.10000000
255.255.255.192 — 11111111.11111111.11111111.11000000
255.255.255.224 — 11111111.11111111.11111111.11100000
255.255.255.240 — 11111111.11111111.11111111.11110000
255.255.255.248 — 11111111.11111111.11111111.11111000
255.255.255.252 — 11111111.11111111.11111111.11111100
255.255.255.254 — 11111111.11111111.11111111.11111110
255.255.255.255 — 11111111.11111111.11111111.11111111
Видали фишку? Единички прибавляются по одной слева-направо. А теперь самое интересное, что будет если их посчитать:
255.255.255.0 — 24
255.255.255.128 — 25
255.255.255.192 — 26
255.255.255.224 — 27
255.255.255.240 — 28
255.255.255.248 — 29
255.255.255.252 — 30
255.255.255.254 — 31
255.255.255.255 — 32
Получатся числа, которые часто можно встретить в записях адресов. И значат эти числа простую вещь — кол-во единичек слева направо в маске.
Т.е. зная это число и умея преобразовывать в уме двоичные записи в десятичные — можно вычислить маску. Вот примеры:
8 — 255.0.0.0
13 — 255.248.0.0
15 — 255.254.0.0
18 — 255.255.192.0
т.е. самый первый пример можно записать как, сеть \ маска:
192.168.0.0 \ 24
где 24 это: 11111111.11111111.11111111.00000000 или 255.255.255.0
Вот такая арифметика ^_^
Ах, да, вот два нюанса:
1) Такие маски как 255.255.192.128 или 255.128.224.0 не допускаются. Т.е. если какое-то число в маске не равно 255., то все остальные числа в маске за ним должны быть равны 0. Т.е. касательно этих двух примеров возможны лишь маски: 255.255.192.0 и 255.128.0.0 соответственно
2) Использовать маску 255.255.255.254 смысла нет, так как это 2 компа, и оба адреса зарезервированы, один под сеть, второй как широковещательный. По крайней мере я так понял
Если вам помогла эта статья — оставьте комментарий! Они доступны даже не зарегистрированным пользователям.
Источник
MNorin.com
Блог про Linux, Bash и другие информационные технологии
Маска подсети: считаем на bash
Маска подсети — это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
Пример маски подсети
Предположим, у вас есть некоторая сеть 192.168.1.0 (сеть класса C), а маска подсети (netmask) представлена как 255.255.255.0 (в бинарном виде это 11111111 11111111 11111111 00000000). Это говорит о том, что для адреса подсети выделены первые 24 бита, а под адрес компьютера в подсети 8 бит, то есть, интервал значений последнего октета (последних 8 бит) будет принимать 256 различных значений (значения от 0 до 255 включительно), где 0 — это адрес подсети, а 255 — броадкаст. Соответственно, под адреса компьютеров вы сможете выделить 254 адреса (от 1 до 254). И, находясь на каком-либо компьютере под управлением операционной системы на базе ядра Linux, вы можете посмотреть адрес компьютера и сетевую маску при помощи команд «ifconfig» и «ip addr».
Иногда требуется имея адрес компьютера и маску подсети определить адрес подсети и битность сетевой маски, чтобы представить адрес подсети в виде
Давайте попробуем решить задачу по такому преобразования на bash.
Перевод из десятичной системы в двоичную в bash
Для решения задачи нам необходимо будет перевести маску подсети в бинарный вид, поскольку маска подсети (netmask) — это последовательность бит, определяющая, какие из бит в указанном адресе выделены под адрес подсети (бит установлен в единицу), а какие — под адрес компьютера в подсети. Это очень важный момент в понимании IP адресов.
Функции, которая позволяет преобразовать десятичные числа в двоичные, в bash нет, поэтому необходимо будет использовать небольшую хитрость. Она заключается в том, что мы можем сгенерировать массив из последовательностей единиц и ноликов, каждый элемент которого будет являться двоичным представлением десятичного значения индекса этого элемента.
Эта строчка будет развернута в массив, содержащий 8-разрядные значения, что равносильно следующим операциям:
Перевод из двоичной системы в десятичную в bash
Обратное преобразование нам потребуется, чтобы преобразовать последовательность бит обратно в десятичное число. Тут всё проще. В bash есть возможность преобразовывать число из N-ричного в десятичное, где N — это число до 64 включительно. Вот как это выглядит для системы счисления с основанием 2 (двоичной):
Как видите, в данном случае всё очень просто.
Пишем скрипт
Если вы хотите использовать команду ip для получения адреса и маски подсети, а не ifconfig, который считается устаревшим, вам нужно только поменять вычисление переменной PARAMS, так, чтобы ее значение содержало адрес компьютера и маску подсети в виде «192.168.1.10 255.255.255.0».
Источник
Организация IP-подсетей
Robert Hart
Перевод: Александр Ермолаев, SWSoft Pte Ltd.
v1.0, 31 марта 1997 года
В этом документе содержится информация о том, как и почему организуются IP-подсети, которые используют отдельную область IP-адресов класса A, B или C, для правильного функционирования нескольких связанных подсетей.
1. Авторское право
Этот документ распространяется в соответствии с GNU Public License (GPL).
Этот документ непосредственно поддерживается InterWeft IT Consultants (Мельбурн, Австралия).
Последняя версия этого документа доступна на сайте InterWeft InterWeft IT Consultants и The Linux Documentation Project .
1.1. Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
2. Введение
В этом документе описывается разбивка единственного IP сетевого адреса так, чтобы он мог использоваться на нескольких различных сетях.
В этом документе, в основном, содержится материал по сетевым адресам класса C, но принципы применимы и к сетям класса A и B.
2.1. Другие источники информации
Имеется ряд других источников информации, которые уместны для более детального изучения. Рекомендуемые автором:
3. Анатомия IP адресов
Перед погружением в изучение организации подсетей, мы должны усвоить основы IP-адресов.
3.1. IP адреса характеризуют сетевые соединения, а НЕ компьютеры!
Прежде всего, выясним основную причину недоразумения — IP адреса не назначаются на компьютеры. IP адреса назначены на сетевые интерфейсы на компьютерах.
А что стоит за этим?
На настоящий момент, много (если не большинство) компьютеров в IP-сети обладают единственным сетевым интерфейсом (и имеют, как следствие, единственный IP адрес). Компьютеры (и другие устройства) могут иметь несколько (если не много) сетевых интерфейсов — и каждый интерфейс будет иметь свой IP адрес.
Так, устройство с 6 работающими интерфейсами (например, маршрутизатор) будет иметь 6 IP адресов — по одному на каждую сеть, с которой он соединен.
Несмотря на это, большинство людей ссылаются на адреса машин, когда это касается IP адреса. Только помните, что это упрощенная форма для IP-адреса конкретного устройства на этом компьютере. Много (если не большая часть) устройств в Internet имеет только один интерфейс и, таким образом, единственный IP адрес.
3.2. IP-адреса как «четверка чисел разделенные точками»
В текущей (IPv4) реализации IP адресов, IP адрес состоит из 4-х (8-битовых) байтов — он представляет из себя 32 бита доступной информации. Это приводит к числам, которые являются довольно большими (даже когда написано в представлении десятичных чисел). Поэтому для удобства (и по организационным причинам) IP адреса обычно записываются в виде четырех чисел, разделенных точками. IP адрес
— пример этого — 4 (десятичных) числа разделенные (.) точками.
Поскольку каждое из этих чисел — десятичное представление байта (8 бит), каждое из них может принимать значения из диапазона от 0 до 255 (всего 256 уникальных значений, включая ноль).
Кроме того, часть IP-адреса компьютера определяет сеть, в которой находится данный компьютер, оставшиеся ‘биты’ IP адреса определяют непосредственно компьютер (опс — сетевой интерфейс). Биты IP адреса определяют, к какому ‘классу’ относится сеть.
3.3. Классы сетей
Имеются три класса IP адресов
IP адрес сети класса A использует крайние левые 8 битов (первый байт) для идентификации сети, оставшиеся 24 бита (три байта) идентифицируют сетевые интерфейсы компьютера в сети. Адреса класса A всегда имеют крайний левый бит, равный нулю — поэтому первый байт адреса принимает значения от 0 до 127. Так доступно максимум 128 номеров для сетей класса A, с каждым, содержащим до 33,554,430 возможных интерфейсов. Однако, сети 0.0.0.0 (известный как заданный по умолчанию маршрут) и 127.0.0.0 (зарезервированы для организации обратной связи (loopback)) имеют специальные предназначения и не доступны для использования, чтобы идентифицировать сети. Соответственно, могут существовать только 126 номеров для сети класса A.
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, зарезервированы и недоступны для использования).
Имеются также специальные адреса, которые зарезервированы для ‘несвязанных’ сетей — которые является сетями, использующими IP, но не связаны с Internet, Эти адреса:
Одна сеть класса A 10.0.0.0
16 сетей класса B 172.16.0.0 — 172.31.0.0
256 сетей класса C 192.168.0.0 — 192.168.255.0
Вы заметите, что в данном документе используются именно эти сочетания для того, чтобы не пересечься с «настоящими» сетями и машинами.
3.4. Сетевые адреса, адреса интерфейсов и широковещательные адреса
IP адреса могут иметь три возможных значения:
адрес IP сети (группа IP устройств, совместно использующих доступ к среде передачи — все находятся на том же самом сегменте Ethernet). Если в поле номера сети биты установлены в 0, то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, с которого отправлен пакет;
широковещательный адрес IP сети (сообщение с таким адресом назначения должно рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета). Все разряды IP адреса установлены в 1.
адрес интерфейса (типа платы Ethernet или PPP интерфейс на компьютере, маршрутизаторе, сервере печати и т.д.).Эти адреса могут иметь любое значение в битах поля узла, исключая все нули или все единицы, т.к. если будут все нули — адрес сети, все единицы — широковещательный адрес.
Почти все сетевые адреса, остающиеся доступными для распределения в настоящее время — адреса класса C.
3.5. Сетевая маска
Сетевая маска более правильно называется маской подсети. Однако, это, вообще, упоминается как сетевая маска.
Сетевая маска и ее значения показывают, как IP адреса интерпретируются локально на сегменте сети, поскольку это определяет то, как происходит организация подсетей.
Стандартная маска (под-) сети — содержит единицы в разрядах поля сети и нули в остальных разрядах. Это означает, что стандартные сетевые маски для трех классов сетей выглядят так:
маска для сети класса А: 255.0.0.0
маска для сети класса B: 255.255.0.0
маска для сети класса C: 255.255.255.0
Есть две важные вещи относительно сетевой маски, которые нужно помнить:
Сетевая маска воздействует только локально (где локальный означает — на этом специфическом сетевом сегменте);
Сетевая маска — это не IP адрес — она используется для того, чтобы изменить интерпретацию локальных IP адресов.
4. Что такое подсети?
Подсеть — способ получить отдельный IP адрес и локальное разбиение его так, чтобы он мог использоваться на нескольких связанных локальных сетях. Помните, что отдельный IP адрес может использоваться только на одной сети.
Важное слово здесь — локальное: люди обеспокоены, чтобы деление на локальные сети оставляло все в том виде, как было — сеть оставалась отдельной. Важно, что организация подсетей имеет локальную конфигурацию, она невидима для остального мира.
5. Почему организуются подсети?
Причины запоздалой организации подсетей относятся к ранним техническим требованиям IP, где лишь несколько сайтов находились в сетях класса A, которые предоставляли доступ миллионам компьютеров.
Это вызвало очевидные проблемы с огромным трафиком и администрированием, если все компьютеры на большом сайте должны быть связаны с той же самой сетью: попытка управлять таким огромным чудовищем была бы кошмаром и сеть бы терпела крах (конечно почти) от загрузки собственным трафиком.
Введите организацию подсетей: адрес сети класса A может быть разбит на несколько (если не много) отдельных сетей. Управлять каждой отдельной сетью значительно проще.
Это позволяет устанавливать и управлять небольшими сетями — весьма возможно использовать различные технологии организации сетей. Помните, вы не можете смешивать Ethernet, Token Ring, FDDI, ATM и т.п. на одной физической сети — однако они могут быть связаны!
Другие причины для организации подсетей:
Физическое размещение сайта может быть ограничено (длина кабеля), ясно, что физическая инфраструктура может быть связана, требуя множественные сети. Организация подсетей позволяет это сделать, используя единственный сетевой номер. Сейчас это обычно делают интернет-провайдеры, которые желают дать своим постоянным клиентам с локальными сетями статические IP адреса.
Сеть перегружена. Ее разбивают на подсети так, чтобы трафик был сосредоточен внутри подсетей, разгружая таким образом всю сеть, без необходимости увеличивать ее общую пропускную способность.
Разделение на подсети может быть продиктовано соображениями безопасности, т.к. трафик в общей сети может быть перехвачен. Организация подсетей обеспечивает способ, позволяющий предохранить отдел маркетинга от «сующих нос не в свои дела».
Имеется оборудование, которое использует несовместимые технологии организации сетей, и есть потребность связать их (как упомянуто выше).
6. Как организуются подсети
После того, как вы определите, что нуждаетесь в сетевом адресе, вам надо узнать, как это сделать? Далее идет краткий обзор шагов, которые будут объясняться ниже в деталях:
Установите физическую связанность (сетевые соединения — типа маршрутизаторов);
Решите, какой (большой/маленькой) должна быть каждая подсеть, т.е. какое количество IP-адресов требуется для каждого сегмента.
Вычислите соответствующую сетевую маску и сетевые адреса;
Установите каждому интерфейсу на каждой сети его собственный IP адрес и соответствующую сетевую маску;
Установите направления связи на маршрутизаторах и соответствующих шлюзах, направления связи и/или заданные по умолчанию направления связи на сетевых устройствах;
Протестируйте систему, исправьте ошибки и расслабьтесь!
В качестве примера предположим, что мы — организуем подсеть класса C с номером: 192.168.1.0
Это предусматривает максимум 254 связанных интерфейсов (хостов), плюс обязательный сетевой номер (192.168.1.0) и широковещательный адрес (192.168.1.255).
6.1. Установка физической связанности
Чтобы выполнить физическое размещение, вы должны будете установить правильную инфраструктуру для всех устройств, которые хотите связать.
Вам будет также нужен механизм, чтобы связать различные сегменты вместе (маршрутизаторы, конверторы, хабы и т.д.).
Детальное обсуждение этого здесь невозможно. Если вам нужна справка, имеются сетевые консультанты по проектированию/установке сетей, которые обеспечивают это обслуживание. Бесплатный совет доступен также в ряде конференций (например, comp.os.linux.networking).
6.2. Установление размеров подсети
Каждая сеть имеет два адреса, не используемых для сетевых интерфейсов (компьютеров) — сетевой номер сети и широковещательный адрес. Когда вы организуете подсеть, каждая из них требует собственный, уникальный IP адрес и широковещательный адрес, и они должны быть правильными внутри диапазона адресов сети, которую вы организуете.
Таким образом, разделение сети на две подсети приводит к тому, что образуются два адреса сети и два широковещательных адреса — увеличивается число «неиспользуемых» адресов интерфейсов; создание 4-х подсетей приведет к образованию 8-и неиспользуемых адресов интерфейсов и т.д.
Фактически, самая маленькая пригодная для использования подсеть состоит из 4 IP адресов:
Два используются для интерфейсов — один для маршрутизатора в этой сети, другой для единственной машины в этой сети.
Один адрес сети.
Один широковещательный адрес.
Если у вас в сети один компьютер, то любые сетевые сообщения должны отправляться в другую сеть. Однако этот пример служит для того, чтобы показать зависимость количества подсетей и используемых адресов.
В принципе, вы можете разделить ваш сетевой номер на 2ˆn (где n на единицу меньше, чем число битов поля машины в вашем сетевом адресе), получаем одинаковые размеры подсетей (однако, вы можете делить подсети на подсети, и/или объединять их).
Так будьте реалистом, относительно разработки вашей сети — вам необходимо минимальное число отдельных локальных сетей, которые является совместимыми по управлению, физически, по оборудованию и безопасности!
6.3. Вычисление сетевой маски и сетевых адресов
Сетевая маска позволяет разделить сеть на несколько подсетей.
Сетевая маска для сети, не разделенной на подсети — это просто четверка чисел, которая имеет все биты в полях сети, установленные в ‘1’ и все биты машины, установленные в ‘0’.
Таким образом, для трех классов сетей стандартные сетевые маски выглядят следующим образом:
Класс 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, есть несколько случаев:
В принципе, нет абсолютно никакой причины следовать вышеупомянутым способам организации подсетей, где сетевые биты добавлены от старшего до младшего бита хоста. Однако, если вы не выбираете этот способ, то в результате IP адреса будут идти в очень странной последовательности! Но в результате, решение, к какой подсети принадлежит IP адрес, получается чрезвычайно трудным для нас (людей), поскольку мы не слишком хорошо считаем в двоичной арифметике (с другой стороны, компьютеры, с равным хладнокровием, будут использовать любую схему, которую вы им предложите).
Выбрав подходящую сетевую маску, вы должны определить сетевые, широковещательные адреса и диапазоны адресов, для получившихся сетей. Снова, рассматриваем только сетевые номера класса C и печатаем только заключительную часть адреса, мы имеем:
Как можно заметить, имеется очень строгая последовательность для этих чисел. Ясно видно, что при увеличении числа подсетей сокращается число доступных адресов для компьютеров.
С этой информацией вы теперь способны назначить адреса машин, сетевые адреса и сетевые маски.
7. Маршрутизация
Если вы используете Linux машину с двумя сетевыми картами, чтобы установить маршрут между двумя (или более) подсетями, вам нужно иметь ядро, скомпилированное с поддержкой пересылки IP-пакетов (Forwarding). Сделайте следущее:
Если не так, тогда пересылка IP-пакетов не включена в ядро, и вам нужно перекомпилировать и установить новое ядро.
Для примера, позвольте предположить, что вы решили разделить вашу сеть класса C с адресом IP 192.168.1.0 на 4 подсети (в каждой пригодно для использования 62 IP адреса). Однако, две из этих подсетей объединяются в большую сеть, давая в общем три физических сети.
Примечание: последняя сеть имеет только 124 сетевых адреса (не 126, как ожидалось бы от сетевой маски) и является сетью из двух подсетей. Главные компьютеры на других двух сетях интерпретируют адрес 192.168.1.192 как сетевой адрес ‘несуществующей’ подсети. Подобно они будут интерпретировать 192.168.1.191 как широковещательный адрес ‘несуществующей’ подсети.
Так, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей подсети, тогда компьютеры двух малых подсетей не смогут связаться с ними.
Это иллюстрирует важный пункт при работе с подсетями — пригодные для использования адреса определяются САМОЙ МАЛОЙ подсетью в том адресном пространстве.
7.1. Таблицы маршрутизации
Позвольте нам предположить, что компьютер с Linux действует, как маршрутизатор для этой сети. Он будет иметь три сетевых карты к локальным сетям и, возможно, четвертый интерфейс для связи с Internet (который был бы шлюзом по умолчанию).
Пусть компьютер с Linux использует самый первый доступный IP адрес в каждой подсети. Конфигурация сетевых карт будет следующей:
Таблица маршрутизации при данной конфигурации будет такой
На каждой из подсетей главные компьютеры были бы конфигурированы с их собственным IP адресом и сетевой маской (соответствующий специфической сети). Каждый главный компьютер объявил бы Linux PC своим шлюзом/маршрутизатором, определяя IP адрес маршрутизатора для его сетевой карты на той части сети.
Источник