Задания
Версия для печати и копирования в MS Word
Тип 13 № 18493
i

В тер­ми­но­ло­гии сетей TCP/⁠IP мас­кой сети на­зы­ва­ет­ся дво­ич­ное число, опре­де­ля­ю­щее, какая часть IP-⁠ад­ре­са узла сети от­но­сит­ся к ад­ре­су сети, а какая  — к ад­ре­су са­мо­го узла в этой сети. При этом в маске сна­ча­ла (в стар­ших раз­ря­дах) стоят еди­ни­цы, а затем с не­ко­то­ро­го места  — нули. Обыч­но маска за­пи­сы­ва­ет­ся по тем же пра­ви­лам, что и IP-⁠адрес  — в виде четырёх бай­тов, причём каж­дый байт за­пи­сы­ва­ет­ся в виде де­ся­тич­но­го числа. Адрес сети по­лу­ча­ет­ся в ре­зуль­та­те при­ме­не­ния по­раз­ряд­ной конъ­юнк­ции к за­дан­но­му IP-⁠ад­ре­су узла и маске.

На­при­мер, если IP-⁠адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.

Узлы с IP-⁠ад­ре­са­ми 98.162.71.151 и 98.162.71.155 на­хо­дят­ся в одной сети. Чему равно наи­боль­шее ко­ли­че­ство воз­мож­ных еди­ниц в маске этой сети?

Спрятать решение

Ре­ше­ние.

За­пи­шем четвёртый байт IP-⁠ад­ре­сов:

15110  =  1001 01112,

15510  =  1001 10112.

За­ме­тим, что 4 пер­вых слева бита IP-⁠ад­ре­сов сов­па­да­ют. Зна­чит, в четвёртом байте маски еди­нич­ны­ми могут быть толь­ко 4 пер­вых бита. Сле­до­ва­тель­но, наи­боль­шее ко­ли­че­ство воз­мож­ных еди­ниц в этой маске рав­ня­ет­ся 24 + 4  =  28.

 

Ответ: 28.

 

При­ведём ре­ше­ние Ильи Ан­дри­а­но­ва на языке Python.

from ipaddress import *

maxi = 0

for mask in range(32+1):

net1 = ip_network(f'98.162.71.151/{mask}', 0)

net2 = ip_network(f'98.162.71.155/{mask}', 0)

if net1 == net2:

maxi = max(maxi, mask)

print(maxi)


Аналоги к заданию № 17330: 17376 18493 18624 Все