Как найти маску подсети, зная только используемый адрес

943
Claudia Sardinha

Я учусь на сертификацию, и во время симуляции я наткнулся на вопрос, который заставил меня понять, что я не был так уверен в расчете 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, но как рассчитать это на экзамене? Может кто-нибудь просветить меня, пожалуйста ?? !!

0
Дело в том, что я не знал, что это был / 22 без калькулятора показывает мне. Это то, что я не знаю, как сделать. Claudia Sardinha 9 лет назад 0

2 ответа на вопрос

3
grawity

Думайте обо всех этих сетях как о префиксах, а сетевые маски - просто озвученном, устаревшем способе записи длины префикса (в вашем случае все четыре сети - /24это).

Теперь, поскольку вам нужен один маршрут, который соответствует всем четырем сетям (он же суперсет или совокупный маршрут), вам придется определить префикс, который одинаков для всех четырех.

Один из способов сделать это - записать первый адрес первой сети и последний адрес последней сети и подсчитать соответствующие биты, начиная слева:

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.015.255в двоичном формате.)

-2
Linef4ult

Смотрите этот шпаргалку:

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). Последний октет маски следует шаблону, который легко запомнить.

Итак, вы говорите, что преобразование 192.168.12.0 в двоичном виде у меня это: 11000000 10101000 000011 ** 00 00000000 ** Итак, последние 10 нулей показывают мне, что это заканчивается 252,0 ?? Это легко? Потому что 3-я октата не полностью с 1 .. поэтому я не был уверен. Claudia Sardinha 9 лет назад 0
К какому классу относится адрес, не зависит от маски. Адреса класса A начинаются с «0» в качестве первого бита, адреса класса B начинаются с «10» в качестве первых двух битов, адреса класса C начинаются с «110» в качестве первых трех битов, адреса класса D начинаются с «1110» как первые четыре бита и адреса класса E начинаются с `1111` в качестве первых четырех битов. Вы можете использовать частную адресацию класса A с маской `/ 24` дома, но это не делает ее адресом класса C. Ron Maupin 9 лет назад 0
Кроме того, у вас есть `/ 31` как непригодный для использования, но это просто неправда. [RFC 3021, Использование 31-битных префиксов в двухточечных каналах IPv4] (https://tools.ietf.org/html/rfc3021) позволил использовать `/ 31` для двухточечных ссылок для 15 лет. Ron Maupin 9 лет назад 1
Спасибо большое .. теперь я понимаю, как рассчитать этот вопрос. Я ценю ваши усилия, чтобы помочь мне :) Claudia Sardinha 9 лет назад 0