Пример задания:
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. По заданным IP-адресу узла сети и маске определите адрес сети:
IP-адрес: 10.8.248.131 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A | B | C | D | E | F | G | H |
8 | 131 | 255 | 224 | 0 | 10 | 248 | 92 |
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A | B | C | D | E | F | G | H |
128 | 168 | 255 | 8 | 127 | 0 | 17 | 192 |
В этом случае правильный ответ будет HBAF.
Решение (1 способ, логическое «И» маски и номера узла):
нужно помнить, что каждая часть в IP-адресе (и в маске) – восьмибитное двоичное число, то есть десятичное число от 0 до 255 (поэтому каждую часть адреса и маски называют октетом)
поскольку 255 = 111111112, все части IP-адреса узла, для которых маска равна 255, входят в IP-адрес сети без изменений (они полностью относятся к номеру сети)
поскольку 0 = 000000002, все части IP-адреса узла, для которых маска равна 0, в IP-адресе сети заменяются нулями (они полностью относятся к номеру узла в сети)
таким образом, мы почти определили адрес сети, он равен 10.8.X.0, где X придется определять дополнительно
переведем в двоичную систему третью часть IP-адреса и маски
248 = 111110002
224 = 111000002
заметим, что в маске сначала идет цепочка единиц, а потом до конца – цепочка нулей; это правильно, число где цепочка единиц начинается не с левого края (не со старшего, 8-ого бита) или внутри встречаются нули, не может быть маской; поэтому есть всего несколько допустимых чисел для последней части маски (все предыдущие должны быть равны 255):
100000002 = 128
110000002 = 192
111000002 = 224
111100002 = 240
111110002 = 248
111111002 = 252
111111102 = 254
111111112 = 255
выполним между этими числами поразрядную конъюнкцию – логическую операцию «И»; маска 224 = 111000002 говорит о том, что первые три бита соответствующего числа в IP-адресе относятся к номеру сети, а оставшиеся 5 – к адресу узла:
248 = 111110002
224 = 111000002
поэтому часть номера сети – это 224 = 111000002, а номер узла – это 110002 = 24.
таким образом, полный адрес сети – 10.8.224.0
по таблице находим ответ: FADE (F=10, A=8, D=224, E=0)
Решение (2 способ, использование размера подсети, М. Савоськин):
п. 1-4 – так же, как и в способе 1; в результате находим, что адрес сети имеет вид 10.8.X.0
третье число в маске (соответствующее неизвестному X) – 224; в такую подсеть входят адреса, в которых третий октет (третье число IP-адреса) может принимать 256 – 224 = 32 разных значений
выпишем адреса, принадлежащие всем возможным подсетям такого вида (третий октет изменяется от 0 с шагом 32):
Начальный IP-адрес (адрес сети) | Конечный IP-адрес (широковещательный) |
10.8.0.0 | 10.8.31.255 |
10.8.32.0 | 10.8.63. 255 |
10.8.64.0 | 10.8.95. 255 |
10.8.96.0 | 10.8.127. 255 |
10.8.128.0 | 10.8.159. 255 |
10.8.160.0 | 10.8.191. 255 |
10.8.192.0 | 10.8.223. 255 |
10.8.224.0 | 10.8.255. 255 |
смотрим, что нужный нам адрес 10.8.248.131 оказывается в подсети с адресом 10.8.224.0; в данном случае можно было быстрее получить ответ, если бы мы строили таблицу с конца, т.е. с последней подсети
по таблице находим ответ: FADE (F=10, A=8, D=224, E=0)