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

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

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

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

Для узла с IP-⁠ад­ре­сом 227.138.127.144 адрес сети равен 227.138.64.0. Чему равен тре­тий слева байт маски? Ответ за­пи­ши­те в виде де­ся­тич­но­го числа.

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

Ре­ше­ние.

12710  =  0111 11112.

06410  =  0100 00002.

За­ме­тим, что в маске во вто­ром бите слева долж­на сто­ять еди­ни­ца, а в тре­тьем бите слева  — ноль. И так как мы знаем про маски, что в них сна­ча­ла идут еди­ни­цы, а потом нули, то по­лу­ча­ем, что тре­тий слева байт равен 110000002  =  19210.

 

Ответ: 192.

 

При­ведём ре­ше­ние Ма­си­са Да­во­я­на на языке Python.

from ipaddress import *

for mask in range(33):

net = ip_network(f'227.138.127.144/{mask}', 0)

if str(net)[:-3] == '227.138.64.0':

print(net.netmask)


Аналоги к заданию № 9196: 9304 Все