Как найти маску подсети, зная только используемый адрес
Я учусь на сертификацию, и во время симуляции я наткнулся на вопрос, который заставил меня понять, что я не был настолько уверен в расчете IP-адресов и масок.
Вот оно:
У компании есть лес с 4 участками. Подсети следующие:
MainOffice 172.16.1.0 Subnet: 255.255.255.0 Gateway 172.16.1.254
Site1 192.168.12.0 Subnet: 255.255.255.0
Site 2 192.168.13.0 Subnet: 255.255.255.0
Site 3 192.168.14.0 Subnet: 255.255.255.0
Site 4 192.168.15.0 Subnet: 255.255.255.0
Вы добавляете новый сервер в MainOffice, и он должен иметь возможность общаться со всеми сайтами. Какую команду маршрута вы бы запустили?
route add -p 192.168.12.0 netmask 255.255.240.0 172.16.1.254
route add -p 192.168.8.0 netmask 255.255.252.0 172.16.1.254
route add -p 192.168.0.0 netmask 255.255.248.0 172.16.1.254
route add -p 192.168.12.0 netmask 255.255.252.0 172.16.1.254
Я знаю ответ на вопрос, но я не знаю, как добраться до маски сети, основываясь только на используемых IP-адресах. 192.168.12.0
, 192.168.13.0
, 192.168.14.0
а также 192.168.15.0
,
Я использовал IP-калькулятор, чтобы обнаружить, что 192.160.12.1
в 192.160.15.254
является 255.255.252.0
и маска подсети в укусах - 22, но как вычислить это на экзамене? Может кто-нибудь просветить меня, пожалуйста??!!
2 ответа
Думайте обо всех этих сетях как о префиксах, а сетевые маски - просто многословном, устаревшем способе записи длины префикса (в вашем случае все четыре сети /24
"S).
Теперь, так как вам нужен один маршрут, который соответствует всем четырем сетям (или суперсет или совокупный маршрут), вам придется определить префикс, который одинаков для всех четырех.
Один из способов сделать это - записать первый адрес первой сети и последний адрес последней сети и подсчитать соответствующие биты, начиная слева:
192.168.12.0: 11000000 10101000 00001100 00000000
192.168.15.255: 11000000 10101000 00001111 11111111
^^^^^^^^ ^^^^^^^^ ^^^^^^-- -------- 22 bits
Другой способ - записать все сетевые адреса в двоичном формате и сосчитать соответствующие биты. Иногда это может помочь обнаружить дыры между сетками:
192.168.12.0/24: 11000000 10101000 00001100 xxxxxxxx
192.168.13.0/24: 11000000 10101000 00001101 xxxxxxxx
192.168.14.0/24: 11000000 10101000 00001110 xxxxxxxx
192.168.15.0/24: 11000000 10101000 00001111 xxxxxxxx
^^^^^^^^ ^^^^^^^^ ^^^^^^-- 22 bits
В любом случае это /22, длина префикса для маршрута и все идентичные биты равны 192.168.12.0/22
- теперь преобразовать его в маску сети, 255.255.252.0
,
(Конечно, чтобы сэкономить время, можно сразу пометить 192.168
как 2×8 одинаковых битов, и только выписать 12.0
... 15.255
в двоичном.)
Смотрите этот шпаргалку:
255.255.255.255 11111111.11111111.11111111.11111111 /32 Host (single addr)
255.255.255.254 11111111.11111111.11111111.11111110 /31 Unuseable
255.255.255.252 11111111.11111111.11111111.11111100 /30 2 useable
255.255.255.248 11111111.11111111.11111111.11111000 /29 6 useable
255.255.255.240 11111111.11111111.11111111.11110000 /28 14 useable
255.255.255.224 11111111.11111111.11111111.11100000 /27 30 useable
255.255.255.192 11111111.11111111.11111111.11000000 /26 62 useable
255.255.255.128 11111111.11111111.11111111.10000000 /25 126 useable
255.255.255.0 11111111.11111111.11111111.00000000 /24 "Class C" 254 useable
255.255.254.0 11111111.11111111.11111110.00000000 /23 2 Class C's
255.255.252.0 11111111.11111111.11111100.00000000 /22 4 Class C's
255.255.248.0 11111111.11111111.11111000.00000000 /21 8 Class C's
255.255.240.0 11111111.11111111.11110000.00000000 /20 16 Class C's
255.255.224.0 11111111.11111111.11100000.00000000 /19 32 Class C's
255.255.192.0 11111111.11111111.11000000.00000000 /18 64 Class C's
255.255.128.0 11111111.11111111.10000000.00000000 /17 128 Class C's
255.255.0.0 11111111.11111111.00000000.00000000 /16 "Class B"
255.254.0.0 11111111.11111110.00000000.00000000 /15 2 Class B's
255.252.0.0 11111111.11111100.00000000.00000000 /14 4 Class B's
255.248.0.0 11111111.11111000.00000000.00000000 /13 8 Class B's
255.240.0.0 11111111.11110000.00000000.00000000 /12 16 Class B's
255.224.0.0 11111111.11100000.00000000.00000000 /11 32 Class B's
255.192.0.0 11111111.11000000.00000000.00000000 /10 64 Class B's
255.128.0.0 11111111.10000000.00000000.00000000 /9 128 Class B's
255.0.0.0 11111111.00000000.00000000.00000000 /8 "Class A"
Класс C (в старых классных сетях) является вашей стандартной домашней сетью и является хорошей отправной точкой. Каждый бит является степенью 2, поэтому вы удваиваете или наполовину в зависимости от того, идете вы "вверх" или "вниз".
На экзамене проще всего научиться:
255.255.255.0 /24 "Class C" 254 usable
Напишите это в середине страницы, затем над ней напишите остальное, затем внизу. Следуйте шаблону от +-1 к нотации CIDR (/) и вдвое больше к используемому хосту (-network и bcast). Последний октет маски следует шаблону, который легко запомнить.