33 Вопрос ____ Адреса iPv4. Маска сети (подсети)
Адрес IPv4 представляет собой 32-разрядное число, идентифицирующее сеть, в которой находится хост, а также уникально идентифицирующее сетевой интерфейс на этом хосте с маской сети. Отсюда следует, что хост с сетевыми интерфейсами, подключенными к нескольким сетям, имеет несколько адресов. Сетевые адреса назначаются блоками Региональными регистратурами Интернета (Regional Internet Registries — RIR) провайдерам служб Интернета (Internet Service Provider — ISP).
Затем раздают адреса IPv4 небольшими порциями компаниям и отдельным пользователям. Если бы назначение адресов IPv4 не осуществлялось таким централизованным способом, в сети возникли бы конфликтующие адреса и было бы невозможно правильно маршрутизировать пакеты.
Исторически адреса IPv4 были жестко поделены на три класса (А, В и С) для обеспечения потребностей больших, средних и малых сетей. Три класса оказались слишком ограничивающими, а также слишком расточали адресное пространство. Современная схема адресации
Каждый адрес IPv4 Интернета, назначенный сетевому интерфейсу, хранится в структуре in_ifaddr, которая содержит независимую от протокола структуру адреса интерфейса и дополнительную информацию об использовании в домене Интернета. Когда указана маска сети интерфейса, она записывается в поле iasubnetmask структуры адреса. Маска сети, ianetmask, по-прежнему вычисляется по основе типа номера сети (класс А, В или С), когда назначается адрес интерфейса, но она больше не используется для определения того, находится ли место назначения внутри или вне локальной подсети. Система интерпретирует локальные адреса IPv4, используя значение iasubnetmask. Адрес считается локальным для подсети, если поле под маской сети (подсети) соответствует полю подсети адреса интерфейса.
Похожие:
17/05/2010 12:52 — Реализация работы в сети
16/01/2010 10:58 — Процедура ввода IPv4. Входная процедура.
14/01/2010 09:29 — Широковещательные адреса
13/01/2010 18:55 — Сетевые протоколы IPv4
Еще по теме:
15/01/2010 17:07 — Вывод и ввод UDP. Блок протокола.
14/01/2010 18:56 — UDP. Протокол пользовательских дейтаграмм
14/01/2010 11:41 — Управляющие блоки протоколов
14/01/2010 09:55 — Порты и связи Интернета
14/01/2010 09:39 — Многоадресная рассылка Интернета. Setsockopt
63 вопрос ___ VLSM (variablelengthsubnetmask) — то есть можно перевести как «маска подсети переменной длинны» — то есть маска при некотором порядке адресации может иметь переменную длину — в то время в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
— данное понятие имеет отношение к бесклассовой адресации .
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет — asp24.ru
Приветствую вас на очередном выпуске. И сегодня речь пойдет о том, какие бывают IP-адреса, и как ими пользоваться. Что такое маска подсети, как она считается, и для чего она нужна. Как делить сети на подсети и суммировать их. Заинтересовавшихся приглашаю к прочтению.
Начнем, или уже продолжим, с самого популярного, заезженного и больного. Это IP-адреса. На протяжении 4-х статей это понятие встречалось по несколько раз, и скорее всего вы уже либо сами поняли для чего они, либо нагуглили и почитали о них. Но я обязан вам это рассказать, так как без ясного понимания двигаться дальше будет тяжело.
Итак IP-адрес — это адрес, используемый узлом на сетевом уровне. Он имеет иерархическую структуру. Что это значит? Это значит, что каждая цифра в его написании несет определенный смысл. Объясню на очень хорошем примере. Примером будет номер обычного телефона — +74951234567. Первой цифрой идет +7. Это говорит о том, что номер принадлежит зоне РФ. Далее следует 495. Это код Москвы. И последние 7 цифр я взял случайными. Эти цифры закреплены за районной зоной. Как видите здесь наблюдается четкая иерархия. То есть по номеру можно понять какой стране, зоне он принадлежит. IP адреса придерживаются аналогично строгой иерархии. Контролирует их организация IANA(англ. Internet Assigned Numbers Authority). Если на русском, то это «Администрация адресного пространства Интернет». Заметьте, что слово «Интернет» с большой буквы. Мало кто придает этому значение, поэтому объясню разницу. В англоязычной литературе термин «internet» используется для описания нескольких подключённых друг к другу сетей. А термин «Internet» для описания глобальной сети. Так что примите это к сведению.
Несмотря на то, что тема статьи больше теоретическая, нежели практическая, я настоятельно рекомендую отнестись к ней со всей серьезностью, так как от нее зависит понимание дальнейших тем, а особенно маршрутизации. Не для кого, я думаю, не секрет, что мы привыкли воспринимать числовую информацию в десятичном формате (в числах от 0-9). Однако все современные компьютеры воспринимают информацию в двоичном (0 и 1). Не важно при помощи тока или света передается информация. Вся она будет воспринята устройством как есть сигнал (1) или нет (0). Всего 2 значения. Поэтому был придуман алгоритм перевода из двоичной системы в десятичную, и обратно. Начну с простого и расскажу, как выглядят IP адреса в десятичном формате. Вся эта статья посвящена IP адресам версии 4. О версии 6 будет отдельная статья. В предыдущих статьях, лабах, да и вообще в жизни, вы видели что-то вроде этого «193.233.44.12». Это и есть IP адрес в десятичной записи. Состоит он из 4-х чисел, называемых октетами и разделенных между собой точками. Каждое такое число (октет) может принимать значение от 0 до 255. То есть одно из 256 значений. Длина каждого октета равна 8 битам, а суммарная длина IPv4 = 32 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?
Можно конечно набить это в калькулятор, коих навалом в Интернете, и он переведет его в двоичный формат, но я считаю, что переводить вручную должен уметь каждый. Особенно это касается тех, кто планирует сдавать экзамен. У вас не будет под рукой ничего, кроме бумаги и маркера, и полагаться придется только на свои навыки. Поэтому показываю, как это делать вручную. Строится таблица.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
x | x | x | x | x | x | x | x |
Вместо «x» записывается либо 1, либо 0. Таблица разделена на 8 колонок, каждая из которых несет в себе 1 бит (8 колонок = 8 бит = 1 октет). Расположены они по старшинству слева направо. То есть первый (левый) бит — самый старший и имеет номер 128, а последний (правый) — самый младший и имеет номер 1. Теперь объясню, откуда эти числа взялись. Так как система двоичная, и длина октета равна 8-ми битам, то каждое число получается возведением числа 2 в степень от 0 до 7. И каждая из полученных цифр записывается в таблицу от большего к меньшему. То есть слева направо. От 2 в 7-ой степени до 2 в 0-ой степени. Приведу таблицу степеней 2-ки.
Думаю теперь понятно, каким образом строится таблица. Давайте теперь разберем адрес «193.233.44.12» и посмотрим, как он выглядит в двоичном формате. Разберем каждый октет отдельно. Возьмем число 193 и посмотрим, из каких табличных комбинаций оно получается. 128 + 64 + 1 = 193.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
Те числа, которые участвовали в формировании комбинации получают 1, а все остальные получают 0.
Берем первый октет 233. 128 + 64 + 32 + 8 + 1.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
Для 44 — это 32 + 8 + 4.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
И напоследок 12. 8 + 4.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
Получается длинная битовая последовательность 11000001.11101001.00101100.00001100. Именно с данным видом работают сетевые устройства. Битовая последовательность обратима. Вы можете так же вставить каждый октет (по 8 символов) в таблицу и получить десятичную запись. Я представлю совершенно случайную последовательность и приведу ее к десятичному виду. Пусть это будет 11010101.10110100.11000001.00000011. Строю таблицу и заношу в нее первый блок.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 1 | 0 | 1v | 0 | 1 |
Получаю 128 + 64 + 16 + 4 + 1 = 213.
Вычисляю второй блок.
128 | 64 | 32 | 8 | 4 | 2 | 1 | |
1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
Считаю 128 + 32 + 16 + 4 = 180.
Третий блок.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
128 + 64 + 1 = 193.
И напоследок четвертый.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
2 + 1 = 3
Собираем результаты вычислений и получаем адрес 213.180.193.3. Ничего тяжелого, чистая арифметика. Если тяжело и прям невыносимо трудно, то попрактикуйтесь. Сначала может показаться страшным, так как многие закончили учебу лет 10 назад и многое позабыли. Но уверяю, что как только набьете руку, считать будет гораздо легче. Ну а для закрепления дам вам несколько примеров для самостоятельного расчета (под спойлером будут ответы, но открывайте их только когда прорешаете сами).
Задача №1
1) 10.124.56.220
2) 113.72.101.11
3) 173.143.32.194
4) 200.69.139.217
5) 88.212.236.76
6) 01011101.10111011.01001000.00110000
7) 01001000.10100011.00000100.10100001
8) 00001111.11011001.11101000.11110101
9) 01000101.00010100.00111011.01010000
10) 00101011.11110011.10000010.00111101
1) 00001010.01111100.00111000.11011100
2) 01110001.01001000.01100101.00001011
3) 10101101.10001111.00100000.11000010
4) 11001000.01000101.10001011.11011001
5) 01011000.11010100.11101100.01001100
6) 93.187.72.48
7) 72.163.4.161
8) 15.217.232.245
9) 69.20.59.80
10) 43.243.130.61
Теперь IP-адреса не должны быть чем-то страшным, и можно углубиться в их изучение.
Выше мы говорили о структуре телефонных номеров и их иерархии. И вот на заре рождения Интернета в том представлении, в каком мы его привыкли видеть, возник вопрос. Вопрос заключался в том, что IP-адреса нужно как-то сгруппировать и контролировать выдачу. Решением было разделить все пространство IP-адресов на классы. Это решение получило название классовая адресация (от англ. Classful). Она уже давно устарела, но практически в любой книге на нее отводятся целые главы и разделы. Cisco тоже не забывает про это и в своих учебных материалах рассказывает про нее. Поэтому я пробегусь по этой теме и покажу, чем она блистала с 1981 по 1995 год.
Пространство было поделено на 5 классов. Каждому классу был назначен блок адресов.
Начнем с класса A. Если внимательно посмотреть на таблицу, то можно заметить, что этому блоку дан самый большой блок адресов, а если быть точным, то половина всего адресного пространства. Предназначался данный класс для крупных сетей. Структура этого класса выглядит следующим образом.
В чем суть. Первый октет, то есть 8 бит, остаются за адресом сети, а 3 последних октета (то есть оставшиеся 24 бита) назначаются хостам. Вот для того, чтобы показать, какой кусок относится к сети, а какой к хостам, используется маска. По структуре записи она аналогична записи IP-адреса. Отличие маски от IP-адресов в том, что 0 и 1 не могут чередоваться. Сначала идут 1, а потом 0. Таким образом, там где есть единица, значит это участок сети. Чуть ниже, после разбора классов, я покажу, как с ней работать. Сейчас главное знать, что маска класса A — 255.0.0.0. В таблице еще упомянут какой-то первый бит и для класса A он равен 0. Этот бит как раз нужен для того, чтобы сетевое устройство понимало, к какому классу оно принадлежит. Он же еще задает начальный и конечный диапазон адресов. Если в двоичном виде записать на всех октетах единицы, кроме первого бита в первом октете (там всегда 0), то получится 127.255.255.255, что является границей класса A. Например, возьмем адрес 44.58.63.132. Мы знаем, что у класса A первый октет отдается под адрес сети. То есть «44» — это адрес сети, а «58.63.132» — это адрес хоста.
Поговорим про класс B
Этому классу был дан блок поменьше. И адреса из этого блока предназначались для сетей средних масштабов. 2 октета отданы под адрес сети, и 2 — под адрес хостов. Маска у B класса — 255.255.0.0. Первые биты строго 10. А остальные меняются. Перейдем к примеру: 172.16.105.32. Два первых октета под адрес сети — «172.16». А 3-ий и 4-ый под адрес хоста — «105.32».
Класс C
Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 3 октета под адрес сети и только 1 октет — под хосты. Маска у него — 255.255.255.0. Первые биты 110. На примере это выглядит так — 192.168.1.5. Адрес сети «192.168.1», а адрес хоста «5».
Классы D и E
Я неcпроста объединил их в один. Адреса из этих блоков зарезервированы и не могут назначаться сетям и хостам. Класс D предназначен для многоадресной рассылки. Аналогию можно привести с телевидением. Телеканал вещает группе лиц свой эфир. И те, кто подключены, могут смотреть телепередачи. То есть в распоряжение администраторов могут попасть только 3 первых класса.Напомню, что первые биты у класса D — это 1110. Пример адреса — 224.0.0.5.
А первые биты у класса E — это 1111. Поэтому, если вдруг увидите адрес вида 240.0.0.1, смело говорите, что это адрес E класса.
Про классы обмолвились. Теперь озвучу вопрос, который мне недавно задали. Так зачем тогда маски? У нас итак хосты понимают в каком они классе. Но суть вот в чем. Например, у вас есть маленький офис, и вам нужен блок IP-адресов. Никто не будет вам выдавать все адреса класса C. А дадут только его кусок. Например 192.168.1.0 с маской 255.255.255.0. Так вот эта маска и будет определять вашу границу. Мы уже говорили, что октет варьируется в значении от 0 до 255. Вот этот 4 октет полностью в вашем распоряжении. За исключением первого адреса и последнего, то есть 0 и 255 в данном случае. Первый адрес — это адрес сети (в данном случае 192.168.1.0), а последний адрес — широковещательный адрес (192.168.1.255). Напомню, что широковещательный адрес используется в том случае, когда надо передать информацию всем узлам в сети. Поэтому есть правило. Если вам надо узнать номер сети, то все биты относящиеся к хосту обращаете в 0, а если широковещательный, то все биты — в 1. Поэтому, если из 256 адресов забирается 2 адреса, то на назначение хостам остается 254 адреса (256 — 2). На собеседованиях и экзаменах часто любят спрашивать: «Количество IP-адресов в сети?» и «Сколько доступных IP-адресов в сети для назначения хостам?». Два разных вопроса, которые могут поставить в тупик. Ответом на первый будет — все адреса, включая адрес сети и широковещательный адрес, а на второй вопрос — все адреса, кроме адреса сети и широковещательного адреса.
Теперь углубимся в изучении маски.
Я записал адрес класса C 192.168.1.1 с маской 255.255.255.0 в десятичном и двоичном формате. Обратите внимание на то, как выглядит IP-адрес и маска в двоичном формате. Если в IP-адресе 0 и 1 чередуются, то в маске сначала идут 1, а потом 0. Эти биты фиксируют адрес сети и задают размер. По таблице выше можно сделать вывод, что в двоичном виде маска представлена последовательностью 24 единиц подряд. Это говорит о том, что целых 3 октета выделено под сеть, а 4 октет свободен под адресацию для хостов. Здесь ничего необычного. Это стандартная маска класса C.
Но вот в чем загвоздка. Например, в вашем офисе 100 компьютеров, и расширяться вы не планируете. Зачем плодить сеть из 250+ адресов, которые вам не нужны?! На помощь приходит разделение на подсети. Это очень удобная вещь. Объясню принцип на примере того же класса C. Как бы вы не хотели, но трогать 3 октета нельзя. Они фиксированы. Но вот 4 октет свободен под хосты, поэтому его можно трогать. Заимствуя биты из хостового куска, вы дробите сеть на n-ое количество подсетей и, соответственно, уменьшаете в ней количество адресов для хостов.
Попробуем это воплотить в реальность. Меняю маску. Заимствую первый бит из хостовой части(то есть 1-ый бит 4-ого октета выставляю в единицу). Получается следующая маска.
Данная маска делит сеть на 2 части. Если до дробления у сети было 256 адресов(от 0 до 255), то после дробления у каждого куска будет по 128 адресов(от 0 до 127 и от 128 до 255).
Теперь посмотрю, что изменится в целом с адресами.
Красным цветом я показал те биты, которые зафиксированы и не могут изменяться. То есть маска ей задает границу. Соответственно биты помеченные черным цветом определены для адресации хостов. Теперь вычислю эту границу. Чтобы определить начало, надо все свободные биты(помеченные черным цветом) обратить в ноль, а для определения конца обратить в единицы. Приступаю.
То есть в четвертом октете меняются все биты, кроме первого. Он жестко фиксирован в рамках этой сети.
Теперь посмотрим на вторую половину сети и вычислим ее адреса. Деление у нас производилось заимствованием первого бита в 4-ом октете, значит он является делителем. Первая половина сети получалась, когда этот бит принимал значение 0, а значит вторая сеть образуется, когда этот бит примет значение 1. Обращаю этот бит в 1 и посмотрю на границы.
Приведу в десятичный вид.
Соответственно .128 и .255 назначать хостам нельзя. Значит в доступности 128-2=126 адресов.
Вот таким образом можно при помощи маски управлять размером сети. Каждый заимствованный бит делит сеть на 2 части. Если откусить 1 бит от хостовой части, то поделим на 2 части (по 128 адресов), 2 бита = 4 части (по 64 адреса), 3 бита = 8 (по 32 адреса) и так далее.
Если вы рассчитали количество бит, отдаваемые под хосты, то количество доступных IP-адресов можно вычислить по формуле 2H-2.
В книге У. Одома по подготовке к CCNA R&S приведена хорошая формула для расчета битов, отдаваемых на подсеть и хосты:
N + S + H = 32, где N — кол-во битов сети (класс A — 8 бит, B — 16 бит, C — 24 бита), S — кол-во заимствованных битов на подсеть (это то, что мы делали выше, когда заимствовали 1 бит из хостовой части), H — кол-во бит отводимых хостам.
Внесу ясность и объясню, как и где применять эти формулы.
Возьмем пример:
Нам выдали сеть 172.16.0.0 и попросили создать 120 подсетей со 180 хостами и записать маску. Приступим.
В качестве шпаргалки, и для быстроты вычисления, я ниже подготовил таблицу степеней двойки.
Двигаемся дальше. Первое главное условие, при использовании классовой адресации — это то, что должна использоваться одна маска для всех подсетей. То есть, если у вас для одной подсети маска 255.255.255.0, то для другой подсети она не может быть 255.255.255.128.Б.
Теперь смотрим на выданную сеть. Путем логических размышлений понимаем, что это адрес класса B. А значит его N (кол-во битов сети) = 16. Ок. Значит на хосты выделено тоже 16 бит. Вспоминаем условия задачи. Нужно создать 120 подсетей. «Откусывать» биты от сетевой части запрещено, значит кусаем от хостовой части.
Теперь нужно взять такое кол-во бит, чтобы хватило для 120 подсетей, однако оставляло достаточное кол-во под биты для хоста. Смотрим на таблицу выше. Если взять 7 бит, то получим 128. 128>120, следовательно попадаем под условие. Если возьмем 6 бит, то получим 64. 64<128, поэтому не попадаем под условие и отбрасываем этот вариант.
Ок. Выяснили, что S надо выделить не меньше 7 бит. Теперь посмотрим, что осталось под хосты. Если N + S + H = 32 => H = 32 — (N + S) => H = 32 — (16 + 7) = 9. Смотрим на таблицу выше (или возводим 2 в 9 степень в уме) и получаем число 512. Отнимаем 2 (адрес сети и широковещательный адрес) и получаем 510 адресов. Нам нужно 180, а значит под условие мы попадаем причем с большим запасом. В таких случаях вам предоставляется право выбора. Сделать больше подсетей или хостов на подсеть. Объясняю, что это значит. У нас есть 9 бит на хосты. Если мы возьмем 8 бит, то получим число 256. 256 — 2 = 254 адреса. Этот вариант нам тоже подходит. Возьмем 7 бит. Получаем 128. Даже не отнимая 2 адреса, становится понятно, что это меньше 180 => данный вариант отбрасывается сразу. Итого получаем, что минимальное количество для подсети — 7 бит, а для хостов — 8 бит. Поэтому свободный бит можно отдать либо на подсеть, либо на хосты. Маска получается сложением N и S. В нашем случае получаем, если под подсеть отдаем 7 бит, то получаем 23. В десятичном виде маска будет выглядеть 255.255.254.0. А если отдадим под подсеть 8 бит, то получим 24 (или в десятичном виде 255.255.255.0). Иногда бывает, что под задачу существует всего одна маска. Ну и, конечно, могут быть случаи, когда маска не попадает не под какие условия. В этих случаях нужно брать сеть другого класса или доказывать заказчику, что это невозможно.
Думаю теперь понятно, как работала классовая адресация, и как ее рассчитывали. Возможно с первого раза голова не переварит этого, поэтому перечитывайте еще раз и повнимательнее. Как только начнет что-то проясняться, потренируйтесь на задачках, которые я оставлю.
Задача №2
1) Записать маску для проекта: сеть 172.16.0.0. 250 подсетей и 220 хостов.
2) Записать маску для проекта: сеть 10.0.0.0. 2000 подсетей и 1500 хостов.
3) Записать маску для проекта: сеть 192.168.0.0. 4 подсети и 60 хостов.
1) 24 бита или 255.255.255.0
2) 19 бит (255.255.224.0), 20 бит (255.255.240.0), 21 бит (255.255.248.0)
3) 26 бит или 255.255.255.192
На этом разговор про классовые сети начну закруглять и подведу итоги. Классовая адресация — это зарождение сегодняшнего интернета, и именно с нее все началось. Поэтому плюсов у нее много, и за это создателям спасибо. Но, как вы могли заметить, у нее было жесткая привязка к одной маске. За счет этого IP-адреса использовались не экономно и расточительно. А в связи с бурным ростом Интернета адресов стало не хватать, и срочно нужно было вносить изменения.
Поняли ведущие умы, что использовать классовые сети не удобно и нужно от них отказываться. Это привело к созданию бесклассовой адресации и маскам переменной длины, о чем мы ниже поговорим. Но перед этим пару слов о видах IP-адресов. Несмотря на то, что переход от классовой адресации к бесклассовой предполагал экономию IP-адресов, на деле эта проблема все равно решалась не полностью. Все упиралось в саму технологию IPv4. Объясню почему. Выше я говорил, что длина IP адреса равна 32 бита. Каждый бит может принимать значение 0 или 1, то есть два значения. Соответственно, чтобы вычислить все комбинации, надо возвести 2 в 32-ую степень. Получаем 4294967296 адресов. Если вычесть отсюда зарезервированные для специальных нужд и прочего, то останется примерно 4.2 млрд. адресов, когда на Земле проживает около 7.3 млрд. человек. Поэтому ведущие умы быстро просекли эту фишку и начали искать решение. Они решили выделить некое адресное пространство, которое будет использоваться только в пределах локальной сети и не будет использоваться в Интернете. Это разделило адреса на 2 лагеря: белые или публичные (англ. public) и серые или частные (англ. private).
Привожу диапазон адресов, которые выделены под локальные сети:
1) 10.0.0.0 — 10.255.255.255 с маской 255.0.0.0 (или кратко 10/8).
2) 172.16.0.0 — 172.31.255.255 с маской 255.240.0.0 (или кратко 172.16/12).
3) 192.168.0.0 — 192.168.255.255 (или кратко 192.168/16).
Если честно, я мало где видел применение адресации 172.16.X.X. Обычно в корпоративной среде всегда используется 10.X.X.X, а в домах/квартирах и мелких офисах 192.168.X.X.
Теперь прошу обратить внимание на очень важную вещь, которую многие путают. Не путайте классовую адресацию и диапазон частных адресов. Очень много людей наступают на эти грабли и свято верят, что диапазон частных адресов 10.0.0.0 — 10.255.255.255 — это диапазон A класса.
Разобрались, что такое частные адреса или private адреса. Но это еще не все. Есть еще список зарезервированных адресов, которые не могут светиться в Интернете. По ним написана целая документация на IETF. Привожу ссылку, где можете прочитать оригинал. Я кратко опишу часто встречающиеся.
1) 0.0.0.0/8 — диапазон адресов, используемый хостами для самоидентификации. Обычно это можно увидеть, когда хост пытается получить IP-адрес от DHCP сервера. Так как изначально у него нету IP-адреса, то в поле источника он вставляет адрес из данного диапазона.
2) 127.0.0.0/8 — loopback или localhost адреса. Это IP-адреса, используемые компьютером, чтобы обратиться к самому себе. Очень полезно для проверки работы TCP/IP. Дело в том, что независимо от наличия соединения с Интернетом или локальной сетью, адреса из этого пула должны всегда пинговаться. Если этого не происходит, значит система накрылась или накрывается медным тазом.
3) 169.254.0.0/16 — link-local address или локальные адреса. Автоматически используются хостами при отсутствии DHCP-сервера или его недоступности. Это позволяет быстро организовать локальную сеть и проверить работу узлов. Однако данный пул адресов не маршрутизируется. Следовательно, выйти в Интернет с них не получится.
4) 224.0.0.0/4 — блок адресов, зарезервированный под многоадресную рассылку или multicast. Для тех, кто хочет побольше узнать про multicast, оставляю ссылку.
Бесклассовая адресация (англ. Classless Inter-Domain Routing или CIDR). Описана была в стандарте RFC1519 в 1993 году. Она отказалась от классовых рамок и фиксированной маски. Адреса делятся только на публичные и зарезервированные, о которых написано выше. Если в классовой адресации маска нарезалась единой для всех подсетей, то в бесклассовой — у каждой подсети может быть своя маска. На теории все хорошо и красиво, но нет ничего лучше, чем практика. Поэтому перехожу к ней и объясню, как можно делить на подсети с разным количеством хостов.
В качестве шпаргалки приведу список всех возможных масок.
Представим ситуацию. Вам выдали сеть 192.168.1.0/24 и поставили следующие условия:
1) Подсеть на 10 адресов для гостей.
2) Подсеть на 42 адреса для сотрудников.
3) Подсеть на 2 адреса для соединения 2 маршрутизаторов.
4) Подсеть на 26 адресов для филиала.
Ок. Данная маска показывает, что в нашем распоряжении находятся 256 адресов. По условию эту сеть надо каким-то образом разделить на 4 подсети. Давайте попробуем. 256 очень хорошо делится на 4, давая в ответе 64. Значит один большой блок в 256 адресов можно поделить на 4 равных блока по 64 адреса в каждом. И все было бы прекрасно, но это порождает большое число пустых адресов. Для сотрудников, которым нужно 42 адреса, ладно, может в дальнейшем компания еще наймет. Но вот подсеть для маршрутизаторов, которая требует всего 2 адреса, оставит 60 пустых адресов. Да, вы можете сказать, что это private адреса, и кому дело до них. А теперь представьте, что это публичные адреса, которые маршрутизируются в Интернете. Их и так мало, а тут мы еще будем их отбрасывать. Это не дело, тем более, когда мы можем гибко управлять адресным пространством. Поэтому возвращаемся к примеру и нарежем подсети так, как нам нужно.
Итак, какие подсети должны быть нарезаны, чтобы вместились все адреса, заданные по условию?!
1) Для 10 хостов, наименьшей подсетью будет блок из 16 адресов.
2) Для 42 хостов, наименьшей подсетью будет блок из 64 адресов.
3) Для 2 хостов, наименьшей подсетью будет блок из 4 адресов.
4) Для 26 хостов, наименьшей подсетью будет блок из 32 адресов.
Я понимаю, что не все могут с первого раза в это вникнуть, и в этом нет ничего страшного. Все люди разные и по-разному воспринимают информацию. Для полноты эффекта покажу деление на картинке.
Вот у нас блок, состоящий из 256 адресов.
После деления на 4 части получается следующая картинка.
Выше мы выяснили, что при таком раскладе адреса используются не рационально. Теперь обратите внимание, как стало выглядеть адресное пространство после нарезки подсетей разной длины.
Как видите, в свободном доступе осталось куча адресов, которые мы в дальнейшем сможем использовать. Можно посчитать точную цифру. 256 — (64 + 32 + 16 + 4) = 140 адресов.
Вот столько адресов мы сэкономили. Двигаемся дальше и ответим на следующие вопросы:
— Какими будут сетевые и широковещательные адреса?
— Какие адреса можно будет назначить хостам?
— Как будут выглядеть маски?
Механизм деления на подсети с разной маской получил название VLSM (от англ. Variable Length Subnet Mask) или маска подсети переменной длины. Дам важный совет! Начинайте адресацию с самой большой подсети. Иначе вы можете попасть на то, что адреса начнут перекрываться. Поэтому сначала планируйте сеть на бумаге. Нарисуйте ее, изобразите в виде фигур, просчитайте вручную или на калькуляторе и только потом переходите настройке в боевых условиях.
Итак, самая большая подсеть состоит из 64 адресов. С нее и начнем. Первый пул адресов будет следующий:
Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.63.
Пул адресов для назначения хостам от 192.168.1.1 до 192.168.1.62.
Теперь выбор маски. Тут все просто. Отнимаем от целой сети нужный кусок и полученное число записываем в октет маски. То есть 256 — 64 = 192 => маска 255.255.255.192 или /26.
Дальше идет подсеть поменьше. Состоит она из 32 адресов. Если первая заканчивалась на .63, то эта будет начинаться с .64:
Адрес подсети — 192.168.1.64.
Широковещательный адрес — 192.168.1.95.
Пул адресов для назначения хостам будет от 192.168.1.65 до 192.168.1.94.
Маска: 256 — 32 = 224 => 255.255.255.224 или /27.
3-я подсеть, которая предназначена для филиала, начнет старт с .96:
Адрес подсети — 192.168.1.96. Широковещательный адрес — 192.168.1.111.
Пул адресов для назначения хостам будет от 192.168.1.97 до 192.168.1.110.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
Ну и для последней подсети, которая уйдет под интерфейсы, соединяющие роутеры, будет начинаться с .112:
Адрес подсети — 192.168.1.112.
Широковещательный адрес — 192.168.1.115.
Разрешенными адресами будут 192.168.1.113 и 192.168.1.114.
Маска: 256 — 4 = 252 => 255.255.255.252 или /30.
Замечу, что адрес 192.168.1.115 является последним используемым адресом. Начиная с 192.168.1.116 и до .255 свободны.
Вот таким образом, при помощи VLSM или масок переменной длины, мы экономно создали 4 подсети с нужным количеством адресов в каждой. Думаю это стоит закрепить задачкой для самостоятельного решения.
Задача №3
Разделите сеть 192.168.1.0/24 на 3 разные подсети. Найдите и запишите в каждой подсети ее адреса, широковещательный адрес, пул разрешенных к выдаче адресов и маску. Указываю требуемые размеры подсетей:
1) Подсеть на 120 адресов.
2) Подсеть на 12 адресов.
3) Подсеть на 5 адресов.
1) Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.127.
Пул адресов для назначения хостам будет от 192.168.1.1 до 192.168.1.126.
Маска: 256 — 128 = 128 => 255.255.255.128 или /25.
2) Адрес подсети — 192.168.1.128.
Широковещательный адрес — 192.168.1.143.
Пул адресов для назначения хостам будет от 192.168.1.129 до 192.168.1.142.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
3) Адрес подсети — 192.168.1.144.
Широковещательный адрес — 192.168.1.151.
Пул адресов для назначения хостам будет от 192.168.1.145 до 192.168.1.150.
Маска: 256 — 8 = 248 => 255.255.255.248 или /29.
Теперь, когда вы знаете, как делить сети на подсети, самое время научиться собирать подсети в одну общую подсеть. Иначе это называется суммированием или summarization. Суммирование чаще всего используется в маршрутизации. Когда у вас в таблице маршрутизатора несколько соседних подсетей, маршрутизация которых проходит через один и тот же интерфейс или адрес. Скорее всего этот процесс лучше объяснять при разборе маршрутизации, но учитывая то, что тема маршрутизации и так большая, то я объясню процесс суммирования в этой статье. Тем более, что суммирование это сплошная математика, а в этой статье мы ею и занимаемся. Ну что же, приступлю.
Представим, что у меня компания состоящая из главного здания и корпусов. Я работаю в главном здании, а в корпусах коллеги. Хоть у меня и главное здание, но в нем всего 4 подсети:
— 192.168.0.0/24
— 192.168.1.0/24
— 192.168.2.0/24
— 192.168.3.0/24
Тут коллеги с соседнего здания очухались и поняли, что у них слетела конфигурация на маршрутизаторе, а бекапов нет. Наизусть они не помнят, какие в главном здании подсети, но помнят, что они находятся рядом друг с другом, и просят прислать одну суммированную. Теперь у меня возникает задача, как их суммировать. Для начала я переведу все подсети в двоичный вид.
Посмотрите внимательно на таблицу. Как видите, у 4 подсетей первые 22 бита одинаковые. Соответственно, если я возьму 192.168.0.0 с маской /22 или 255.255.252.0, то покрою свои 4 подсети. Но обратите внимание на 5 подсеть, которую я специально ввел. Это подсеть 192.168.4.0. 22-ой бит у нее отличается от предыдущих 4-х, а значит выше выбранное не покроет эту подсеть. Ок. Теперь я отправлю коллегам суммированную подсеть, и, если они все правильно пропишут, то маршрутизация до моих подсетей будет работать без проблем.
Возьмем тот же пример и немного изменим условия. Нас попросили прислать суммарный маршрут для подсетей 192.168.0.0 и 192.168.1.0. Я не поленюсь и создам еще одну таблицу.
Обратите внимание, что у 2 первых подсетей одинаковые не 22 бита, а 23 бита. Это значит, что их можно просуммировать еще компактнее. В принципе работать будет и так, и так. Но как говорилось в одной рекламе: «Если нет разницы — зачем платить больше?». Поэтому старайтесь суммировать, не задевая при этом соседние подсети.
Таким образом, переводя подсети в двоичный формат и находя одинаковые биты, можно их суммировать.
Вообще суммирование полезно применять, когда надо объединить несколько подсетей, расположенных вблизи друг с другом. Это позволит сэкономить ресурсы маршрутизаторов. Однако это не всегда возможно. Просуммировать, например, подсеть 192.168.1.0 и 192.168.15.0, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.
Задача №4
Даны 4 подсети:
1) 10.3.128.0
2) 10.3.129.0
3) 10.3.130.0
4) 10.3.131.0
Просуммируйте подсети и найдите маску, которая сможет покрыть их, не задевая при этом соседние подсети.
ОтветыПришло время закругляться. Статья получилась не очень длинной. Я бы даже сказал наоборот. Но все, что требует знать Cisco про IPv4, мы рассмотрели. Самое главное, что требуется от вас — это научиться работать с адресами и масками и уметь конвертировать их из десятичной в двоичную и обратно. Ну и, конечно, правильно делить на подсети и распределять адресное пространство. Спасибо, что дочитали. А если еще и задачки все сами прорешали, то цены вам нет) А если еще не прорешали, то приятного времяпровождения.
Содержание
Автор
Маска сети и подсети (255.255.255.0) – что это такое и для чего нужна?
Всем доброго времени суток! Из-за обилия чуши в интернете по данной тематике я решил написать собственную подробную и интересную статью, которая наконец-то раскроет вопрос: а что же такое маска подсети, для чего она нужна и где её принимать. Статья подойдёт как для чайников, так и для начинающих специалистов.
IP и маска
Начнем, наверное, с самого начала, а именно с разбора IP 4-ой версии. IPv4 – применяется повсеместно почти во всех сетевых устройствах. Данный параметр нужен для адресации пакетов, а также для обозначения сетевого устройства. Всё аналогично, как на почте – без адреса почтальон не будет знать, куда отправлять информацию.
IPv4 состоит из 32 бита – например, 192.168.28.32. Каждая цифра кодируется в 8 битах и поэтому имеет максимальное число вариантов – 255. В итоге у нас получается диапазон от 0.0.0.0 до 255.255.255.255. Помимо IPv4, есть также и IPv6, который имеет бОльшую длину адреса – 128 бит.
Один бит может принимать вид нуля и единицы – именно эту информацию может понимать компьютер, современный смартфон, телевизор и другие устройства. А так как у нас этих битов 32, то суммарное количество адресов IPv4, которые могут существовать: 232 = 4 294 967 296.
ПРИМЕЧАНИЕ! Достаточно много «АйПи» зарезервированы под какие-то нужды. К таким адресам относят: 255.255.255.255, 0.0.0.0, 0.0.0.1 и т.д.
Итак, у нас есть 4 байтовый или 32 битовый адрес. Чаще всего один кусок адреса называют именно байтом, или так называемыми «октетом». Октет – это 1 байт адреса IPv4. Для удобства представления разделяются точками – так проще воспринимается информация.
Таблица масокДома в домашних роутерах чаще всего используют 255.255.255.0 или 24я маска. Также часто используют:
- 29 – 255.255.255.248
- 30 – 255.255.255.252
- 27 – 255.255.255.224
- 26 – 255.255.255.192
- 32 – 255.255.255.255 (имеет только один узел)
- 23 – 255.255.254.0
Как определить маску подсети? Тут все зависит от потребности сети, а также от количества подсетей. Для шпаргалки можете сохранить верхнюю таблицу. Маску определяет системный администратор или инженер.
Передача данных
Как вы, наверное, знаете – информация в сети передается пакетами, примерно также как на почте. В пакете также есть и заголовок, где прописаны два адреса:
- Source IP – от кого отсылается пакет.
- Destination IP – к кому отсылать пакет.
Никакой маски в передаваемой информации нет, также сам адрес представлен в чистом виде без точек, запятых и без каких-либо разделителей – «голые» 4 байта. И тут сразу встает вопрос – а для чего тогда вообще нужна маска подсети, и где её применяют? – Вот мы и подошли к самой сути. В пакете информации маски нет. Так как она тут просто не нужна. Но вот при присвоении адреса какому-то устройству: будь это компьютер, смартфон, телевизор, сервер – каждому устройству также приписывается маска подсети.
Маска подсети (Mask) – позволяет понять компьютеру или другому сетевому устройству, в какой границе он находится по отношению к другим устройствам. Чтобы он понимал – что те или иные устройства находятся в одной с компьютером сети или нет. Если говорить вообще сельским языком: «С нашего двора или нет?!».
Для чего это вообще нужно? А нужно это для того, чтобы можно было отправлять пакеты информации напрямую. Например, если вы живете в одном городе с другом, то вам проще и быстрее сходить к нему в гости и передать что-то лично в руки. Но если друг живет за пределом города, то проще уже отправить посылку с помощью почты.
Аналогично все происходит в сети. Если устройство находится в пределах одной подсети (можно говорить и просто «сети»), то отправка идет напрямую. Если же устройство находится где-то там, то пакет отправляется через шлюз.
Теперь давайте посмотрим, какой же вид имеет маска сети. Самое главное правило, что при переводе в двоичный код (1 и 0), мы можем видеть строгое разделение единиц (1) и нулей (0).
255.255.248.0 = 11111111.11111111.11111000.00000000
То есть, идут сначала единицы, а потом нули. Не может быть такого, что 1 и 0 постоянно меняются и чередуются: «101010001». При этом идет определенное число единиц (1), а уже потом какое-то число нулей (0). Вот как раз число нулей и является длиной маски. Компьютер определяет границу, достаточно просто. Он переводим IP и маску в двоичный код и просто побитово перемножает два этих числа.
ПРИМЕЧАНИЕ! Всё как в математике 1*1 = 1, 0*1 = 0 и 0*0=0.
11000000.10101000.00001011.00001010 (192.168.11.10)
11111111.11111111.11111000.00000000 (255.255.248.0)
=
11000000.10101000.00001000.00000000 = 192.168.8.0
СОВЕТ! Если вы начинающий системный администратор или IT инженер, то вы должны знать – как переводятся десятичные, шестнадцатеричные числа в двоичные и обратно.
В итоге мы получаем адрес подсети – 192.168.8.0. Есть ещё одно понятие – «направленный броадкаст». Его можно получить, если перевести последние используемые байты в биты, а потом нули заменить на единицы, а единицы на нули. Тогда у нас получится число 192.168.15.255.
ВНИМАНИЕ! Оба этих адреса нельзя использовать в сети.
В итоге у нас получается диапазон от 192.168.8.1 до 192.168.15.254. Можно также записать более коротко как 192.168.8.0/21. В итоге все начальные единицы – это адрес или префикс сети (192.168.х.х). Длина префикса – это начальное количество единиц и нулей до последних сплошных нулей. А все нули, которые идут в самом конце – это идентификатор хоста внутри сети.
В итоге компьютер отсылает пакет второму устройству. Если второе устройство находится в той же подсети, то отправка идет напрямую. Если же второй аппарат находится в другой сети, то пакет отправляется маршрутизатору, который чаще всего выступает шлюзом. Обычно первый сегмент сети и является шлюзом. В нашем случае – это 192.168.8.1.
ПРИМЕЧАНИЕ! При отправке пакетов напрямую, шлюз не может контролировать их. В некоторых организациях для контроля отправки пакетов сети разбивают на несколько сетей, а между ними устанавливают маршрутизаторы, через которые и идут пакеты. Их ещё часто называют «файрволами».
Давайте расскажу на примере обычного Wi-Fi роутера и локальной домашней сети. Дома стоит маршрутизатор, к которому подключены: компьютер, ноутбук, смартфон и телевизор. Роутер раздает настройки сети и присваивает им свои IP и маску. Как я и говорил ранее, чаще всего используется: 255.255.255.0.
Если компьютер отправит пакет напрямую одному из локальных устройств, то пакет отправится сразу к адресату. Но если в пакете будет указан IP, который не находится в этой сети, то он поступит сначала к шлюзу, а именно к роутеру, а он, в свою очередь, отправит его дальше в интернет сеть.
В больших организациях всё куда сложнее, так как между сетями может быть достаточно много шлюзов, хостов, а также других важных устройств. Именно поэтому IT инженеру нужно заранее просчитывать все возможные варианты резервации IP для каждого сетевого устройства.
Таблица сетевых масок, префиксы маски. Короткая запись маски. Шпаргалка.
Префикс маски — это короткая запись сетевой маски, определяет количество бит порции сети.
Маска подсети | Префикс маски | Двоичная запись маски |
0.0.0.0 | /0 | 00000000.00000000.00000000.00000000 |
128.0.0.0 | /1 | 10000000.00000000.00000000.00000000 |
192.0.0.0 | /2 | 11000000.00000000.00000000.00000000 |
224.0.0.0 | /3 | 11100000.00000000.00000000.00000000 |
240.0.0.0 | /4 | 11110000.00000000.00000000.00000000 |
248.0.0.0 | /5 | 11111000.00000000.00000000.00000000 |
252.0.0.0 | /6 | 11111100.00000000.00000000.00000000 |
254.0.0.0 | /7 | 11111110.00000000.00000000.00000000 |
255.0.0.0 | /8 | 11111111.00000000.00000000.00000000 |
255.128.0.0 | /9 | 11111111.10000000.00000000.00000000 |
255.192.0.0 | /10 | 11111111.11000000.00000000.00000000 |
255.224.0.0 | /11 | 11111111.11100000.00000000.00000000 |
255.240.0.0 | /12 | 11111111.11110000.00000000.00000000 |
255.248.0.0 | /13 | 11111111.11111000.00000000.00000000 |
255.252.0.0 | /14 | 11111111.11111100.00000000.00000000 |
255.254.0.0 | /15 | 11111111.11111110.00000000.00000000 |
255.255.0.0 | /16 | 11111111.11111111.00000000.00000000 |
255.255.128.0 | /17 | 11111111.11111111.10000000.00000000 |
255.255.192.0 | /18 | 11111111.11111111.11000000.00000000 |
255.255.224.0 | /19 | 11111111.11111111.11100000.00000000 |
255.255.240.0 | /20 | 11111111.11111111.11110000.00000000 |
255.255.248.0 | /21 | 11111111.11111111.11111000.00000000 |
255.255.252.0 | /22 | 11111111.11111111.11111100.00000000 |
255.255.254.0 | /23 | 11111111.11111111.11111110.00000000 |
255.255.255.0 | /24 | 11111111.11111111.11111111.00000000 |
255.255.255.128 | /25 | 11111111.11111111.11111111.10000000 |
255.255.255.192 | /26 | 11111111.11111111.11111111.11000000 |
255.255.255.224 | /27 | 11111111.11111111.11111111.11100000 |
255.255.255.240 | /28 | 11111111.11111111.11111111.11110000 |
255.255.255.248 | /29 | 11111111.11111111.11111111.11111000 |
255.255.255.252 | /30 | 11111111.11111111.11111111.11111100 |
255.255.255.254 | /31 | 11111111.11111111.11111111.11111110 |
255.255.255.255 | /32 | 11111111.11111111.11111111.11111111 |
Использование маски подсети
Благодаря маске подсети, можно узнать какая часть ip адреса принадлежит сети, а какая – хосту.
Для примера возьмем ip адрес компьютера 192.168.105.21/24 и с помощью маски подсети высчитаем адрес сети, адрес хоста и широковещательный адрес.
Как мы видим, адрес компьютера состоит из ip адреса и префикса, воспользовавшись таблицей выше, мы без труда узнали, что префикс 24 является маской 255.255.255.0.
Дальше переведём ip адрес и маску из десятичного представления данных в двоичное представление.
IP адрес (десятичное, decimal, dec) | 192.168.105.21 |
IP адрес (двоичное, binary, bin ) | 11000000.10101000.01101001.00010101 |
Маска подсети (dec) | 255.255.255.0 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Затем над двоичными ip адресом и маской выполним логическую операцию AND. Операцию AND можно представить обычным умножением: 1 * 1 = 1, 1 * 0 = 0, 0 * 1 = 0, 0 * 0 = 0.
IP адрес (dec) | 192.168.105.21 |
IP адрес (bin) | 11000000.10101000.01101001.00010101 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Адрес сети (bin) | 11000000.10101000.01101001.00000000 |
Адрес сети (dec) | 192.168.105.0 |
Теперь давайте высчитаем широковещательный адрес. Основное отличие широковещательного (broadcast) адреса от адреса сети заключается в том, что в адресе сети, в порции хоста находятся только нули (0), а в широковещательном адресе, в порции хоста – только единицы (1).
Адрес сети (dec) | 192.168.105.0 |
Адрес сети (bin) | 11000000.10101000.01101001.00000000 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Широковещательный адрес (bin) | 11000000.10101000.01101001.11111111 |
Широковещательный адрес (dec) | 192.168.105.255 |
Теперь вы знает для чего нужна маска подсети!
определение IPv4-адресов — Бложик Иного
Слишком много в этих ваших Интернетах неправильных ответов на эту работу. Господа студенты и изучающие циску, ловите подправленную. 100% правильности не гарантирую.
Да не заминусит меня яндекс и гугл.
Задачи
Часть 1. Определение IPv4-адресов
- Определите сетевую и узловую части IP-адреса.
- Определите диапазон адресов узлов с использованием пары маски сети и префикса.
Часть 2. Классификация IPv4-адресов
- Определите тип адреса (адрес сети, узла, многоадресной или широковещательной рассылки).
- Определите, является ли адрес общим или частным.
- Определите, является ли присвоенный адрес допустимым адресом узла.
Исходные данные/сценарий
Адресация составляет важную функцию протоколов сетевого уровня, поскольку обеспечивает обмен
данными между узлами в одной и той же сети или между разными сетями. В ходе лабораторной
работы вы изучите структуру протокола Интернета версии 4 (IPv4). Вы определите различные типы
IPv4-адресов и компоненты, из которых они составляются — сетевую и узловую части, маску подсети.
В число рассматриваемых типов адресов входят общие и частные адреса, адреса для одноадресной
передачи и многоадресной рассылки.
Необходимые ресурсы
- Устройство с выходом в Интернет
- Дополнительно: калькулятор IPv4-адресов
Часть 1: Определение IPv4-адресов
В части 1 вы рассмотрите несколько примеров IPv4-адресов и заполните таблицы соответствующими
данными.
Шаг 1: Проанализируйте приведённую ниже таблицу и определите сетевую и узловую
части указанных IPv4-адресов.
Первые две строки содержат примеры заполнения таблицы.
Сокращения, используемые в таблице:
С = все 8 бит для октета содержатся в сетевой части адреса
с = бит в сетевой части адреса
У = все 8 бит для октета содержатся в узловой части адреса
у = бит в узловой части адреса
IP-адрес/префикс | Сеть/узел С, с = сеть У, у = узел | Маска подсети | Сетевой адрес |
192.168.10.10/24 | С.С.С.У | 255.255.255.0 | 192.168.10.0 |
10.101.99.17/23 | С.С.сссссссу.У | 255.255.254.0 | 10.101.98.0 |
209.165.200.227/27 | C.C.C.cccyyyyy | 255.255.255.224 | 209.165.200.224 |
172.31.45.252/24 | C.C.C.Y | 255.255.255.0 | 172.31.45.0 |
10.1.8.200/26 | C.C.C.ccyyyyyy | 255.255.255.192 | 10.1.8.192 |
172.16.117.77/20 | C.C.ccccyyyy.Y | 255.255.240.0 | 172.16.112.0 |
10.1.1.101/25 | C.C.C.cyyyyyyyy | 255.255.255.128 | 10.1.1.0 |
209.165.202.140/27 | C.C.C.cccyyyyy | 255.255.255.224 | 209.165.202.128 |
192.168.28.45/28 | C.C.C.ccccyyyy | 255.255.255.240 | 192.168.28.32 |
Шаг 2: Проанализируйте приведённую ниже таблицу и укажите диапазон адресов узлов и широковещательных адресов в виде пары маски подсети и префикса.
В первой строке приведён пример завершения таблицы.
IP-адрес/префикс | Адрес первого узла | Адрес последнего узла | Широковещател ьный адрес |
192.168.10.10/24 | 192.168.10.1 | 192.168.10.254 | 192.168.10.255 |
10.101.99.17/23 | 10.101.98.1 | 10.101.99.254 | 10.101.99.255 |
209.165.200.227/27 | 209.165.200.225 | 209.165.200.254 | 209.165.200.255 |
172.31.45.252/24 | 172.31.45.1 | 172.31.45.254 | 172.31.45.255 |
10.1.8.200/26 | 10.1.8.193 | 10.1.8.254 | 10.1.8.255 |
172.16.117.77/20 | 172.16.117.1 | 172.16.117.254 | 172.16.117.255 |
10.1.1.101/25 | 10.1.1.1 | 10.1.1.126 | 10.1.1.127 |
209.165.202.140/27 | 209.165.202.129 | 209.165.202.158 | 209.165.202.159 |
192.168.28.45/28 | 192.168.28.33 | 192.168.28.46 | 192.168.28.47 |
Часть 2: Классификация IPv4-адресов
В части 2 вам необходимо определить и классифицировать несколько примеров IPv4-адресов.
Шаг 1: Проанализируйте приведённую ниже таблицу и определите тип адреса (адрес сети, узла, многоадресной или широковещательной рассылки).
В первой строке приведён пример завершения таблицы.
IP-адрес | Маска подсети | Тип адреса |
10.1.1.1 | 255.255.255.252 | узел |
192.168.33.63 | 255.255.255.192 | широковещательный |
239.192.1.100 | 255.252.0.0 | узел |
172.25.12.52 | 255.255.255.0 | узел |
10.255.0.0 | 255.0.0.0 | узел |
172.16.128.48 | 255.255.255.240 | адрес сети |
209.165.202.159 | 255.255.255.224 | широковещательный |
172.16.0.255 | 255.255.0.0 | узел |
224.10.1.11 | 255.255.255.0 | узел |
Шаг 2: Проанализируйте приведённую ниже таблицу и определите тип адреса — общий или частный.
IP-адрес/префикс | Общий или частный |
209.165.201.30/27 | общий |
192.168.255.253/24 | частный |
10.100.11.103/16 | частный |
172.30.1.100/28 | частный |
192.31.7.11/24 | общий |
172.20.18.150/22 | частный |
128.107.10.1/16 | общий |
192.135.250.10/24 | общий |
64.104.0.11/16 | общий |
Шаг 3: Проанализируйте приведённую ниже таблицу и определите, является ли пара адреса и префикса допустимым адресом узла.
IP-адрес/префикс | Допустимый адрес узла? | Причина |
127.1.0.10/24 | да | |
172.16.255.0/16 | да | |
241.19.10.100/24 | да | |
192.168.0.254/24 | да | |
192.31.7.255/24 | нет | Широковещательный адрес |
64.102.255.255/14 | нет | Широковещательный адрес |
224.0.0.5/16 | да | |
10.0.255.255/8 | да | |
198.133.219.8/24 | да |
Ох уж эти маски подсети… ~ Сетевые заморочки
Наряду с терминами IP и MAC адрес, очень часто, в повседневной речи сетевиков проскакивает термин сетевая маска или маска подсети. Маска подсети является не менее важным параметром, который указывается при конфигурации самых различных сетей, поэтому важно знать и понимать ее смысл, а также способы ее использования.
Для начала отвлечемся от сетевых технологий и приведем следующий, пример из жизни. Все мы с вами живем в домах, кто то в больших, кто то в маленьких, но суть в том, что у каждого дома есть свой адрес, состоящий из названия улицы и номера дома. Как легко заметить этот адрес состоит их двух частей. Первая часть адреса помогает определить улицу, на которой мы живем, а вторая уточняет полученную информацию и указывает на дом. Каждая из частей адреса в отдельности не позволяет обнаружить наше место жительства, и только их сочетание позволяет нас найти. На письме части адреса разделяются между собой с помощью запятой (например, улица Ленина, дом 23).
Теперь вернемся в тему сетевых технологий. Точно также как и наш реальный географический адрес, IPадреса компьютера состоят из двух частей: адреса сети и адреса компьютера в данной сети. Роль разделяющей запятой в географическом адресе, в мире сетевых технологий выполняет маска подсети. Рассмотрим, как это происходит. Пусть у нас есть IPадрес 172.20.20.20 и классическая маска подсети 255.255.255.0, переведем наш IPадрес и маску подсети в двоичный вид, получим IPадрес 10101100.00010100.00010100.00010100 и маску подсети 11111111.11111111.11111111.00000000, теперь последовательно умножим каждый разряд IP адреса на каждый разряд маски подсети (при этом помним, что 1*1=1, 1*0=0,0*1=0,0*0=0), в итоге получим10101100.00010100.00010100.00000000, переведем его в десятичный вид и получим 172.20.20.0 . Полученной адрес будет являться адресом сети. Если же мы умножим наш IP адрес компьютера на инвертированную сетевую маску 00000000.00000000.00000000.11111111 (поменяйте все знаки в исходной маске наоборот), то грубо говоря вы получите 20 – это число будет являться адресом компьютера в данной сети. Итого мы получили, что у компьютера с IPадресом 172.20.20.20 и маской 255.255.255.0, 172.20.20.0 – адрес сети, а 20 – адрес компьютера.
Использование маски подсети |
Если сказать более простыми словами, то каждый символ двоичного представления IPадреса сопоставляется соответствующему символу двоичного представления маске подсети, те символы адреса, которые сопоставляются единицам маски подсети, образуют адрес сети, символы IPадреса сопоставляемые нулям маски подсети образуют адрес компьютера в сети.
Стоит отметить, что маска подсети может иметь не любой вид. В левой части маски должны быть собраны все единицы, а в правой все нули. Этот принцип проиллюстрирован на рисунке.
Разрешенные и запрещенные сетевые маски |
Очень часто маску подсети записывают в сокращенной форме. Например, вместо ip адреса 172.20.20.20 c маской подсети 255.255.255.0, записывают 172.20.20.20/24, в этой записи 24 обозначает количество единиц в двоичном виде маски подсети.
Используя маски подсети можно выполнять деление крупных подсетей на более мелкие. Пусть, например, у нас есть подсеть 172.20.20.0 с маской 255.255.255.0. Такая сеть может содержать в себе адреса начиная с 172.20.20.0 до 172.20.20.255 (адрес сети не меняется, меняется только адрес компьютера, хоста. Он может изменяться только в интервале от 0 до 255, так как маска 255.255.255.0 отводит под адрес хоста 8 двоичных разрядов, см. первый рисунок статьи). Причем из этих адресов 172.20.20.0 – является адресом подсети, 172.20.20.255 – является адресом широковещательной рассылки, и только адреса с 172.20.20.1 по 172.20.20.254 могут быть присвоены хостам (здесь использованное ранее слово компьютер, заменено на слово хост, так как клиентом в сети может быть не только компьютер но и множество других сетевых устройств, далее везде будем использовать именно термин хост). Как видно, такая подсеть может содержать 254 хоста. А что если нам не нужна такая подсеть? Вдруг мы хотим поделить ее на две подсети. В таком случае необходимо в двоичной форме записи увеличить количество бит отводимых под адрес сети, тоесть увеличить количество единичек в маске подсети на 1 штучку. Соответственно количество разрядов под IPадрес уменьшится на 1, и станет равно 7, и будет позволять организовать только 128 адресов. Данный принцип изображен на рисунке, красным цветом отмечен бит, перешедший из адреса хоста в адрес сети.
Деление на подсети с помощью сетевых масок |
С помощью данной операции, подсеть 172.20.20.0 с маской 255.255.255.0 была разделена на две подсети: 172.20.20.0 с маской 255.255.255.128 и 172.20.20.128 с маской 255.255.255.128. В первой подсети адрес 172.20.20.0 является адресом подсети, 172.20.20.127 адресом широковещательной рассылки, адреса с 172.20.20.1 по 172.20.20.126 адресами хостов. Во второй подсети адрес 172.20.20.128 является адресом подсети, 172.20.20.255 адресом широковещательной рассылки, адреса с 172.20.20.129 по 172.20.20.254 отводятся под хосты.
При первом прочтении это может показаться довольно сложным для понимания, поэтому рекомендую для закрепления ответить на следующие вопросы:
- Какой IP адрес является адресом широковещательной рассылки в сети 192.168.1.0 с маской 255.255.255.0?
- Сколько хостов может быть в подсети 192.168.0.0 с маской 255.255.255.192?
- Разбейте подсеть 192.168.0.0 с маской 255.255.255.0 на две подсети.
ipv4 — Как вы вычисляете префикс, сеть, подсеть и номера хостов?
Вычисление длины сетевой маски (также называемой префиксом):
Преобразуйте десятичное представление сетевой маски в двоичную. Затем подсчитайте количество смежных 1 бит, начиная с самого значащего бита в первом октете (т. Е. Левая сторона двоичного числа).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
Префикс 128.42.5.4 с сетевой маской 255.255.248.0 равен /21.
Вычисление сетевого адреса:
Сетевой адрес является логическим И соответствующих битов в двоичном представлении IP-адреса и сетевой маски. Выровняйте биты в обоих адресах и выполните логическое И на каждой паре соответствующих битов. Затем преобразуйте отдельные октеты результата обратно в десятичную.
Логическая таблица истинности:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Как вы можете видеть, сетевой адрес 128.42.5.4/21 равен 128.42.0.0
Вычисление широковещательного адреса:
Широковещательный адрес преобразует все биты хоста в 1s …
Помните, что наш IP-адрес в десятичном формате:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Маска сети:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Это означает, что наши биты хоста — это последние 11 бит IP-адреса, потому что мы находим маску хоста путем инверсии сетевой маски:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Чтобы вычислить широковещательный адрес, мы вынуждаем все биты хоста 1s:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh