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

Мас­кой под­се­ти на­зы­ва­ет­ся 32-⁠раз­ряд­ное дво­ич­ное число, ко­то­рое опре­де­ля­ет, какая часть IP-⁠ад­ре­са ком­пью­те­ра от­но­сит­ся к ад­ре­су сети, а какая часть IP-⁠ад­ре­са опре­де­ля­ет адрес ком­пью­те­ра в под­се­ти. В маске под­се­ти стар­шие биты, от­ве­ден­ные в IP-⁠ад­ре­се ком­пью­те­ра для ад­ре­са сети, имеют зна­че­ние 1; млад­шие биты, от­ве­ден­ные в IP-⁠ад­ре­се ком­пью­те­ра для ад­ре­са ком­пью­те­ра в под­се­ти, имеют зна­че­ние 0.

Если маска под­се­ти 255.255.255.224 и IP-⁠адрес ком­пью­те­ра в сети 162.198.0.157, то по­ряд­ко­вый номер ком­пью­те­ра в сети равен _____.

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

Ре­ше­ние.

1.  По­сколь­ку пер­вые три ок­те­та (октет  — число маски, со­дер­жит 8 бит) все равны 255, то в дво­ич­ном виде они за­пи­сы­ва­ют­ся как 24 еди­ни­цы, а зна­чит, пер­вые три ок­те­та опре­де­ля­ют адрес сети.

2.  За­пи­шем число 224 в дво­ич­ном виде: 224_10=11100000_2.

3.  За­пи­шем по­след­ний октет IP-⁠ад­ре­са ком­пью­те­ра в сети: 157_10=10011101_2.

4.  Со­по­ста­вим по­след­ний октет маски и ад­ре­са ком­пью­те­ра в сети:

11100000,

10011101.

Жир­ным вы­де­ле­на нуж­ная нам часть, от­ве­ча­ю­щая (по усло­вию) за адрес ком­пью­те­ра в под­се­ти. Пе­ре­ве­дем её в де­ся­тич­ную си­сте­му счис­ле­ния: 11101_2=29_10.

 

Ответ: 29.

 

При­ведём ре­ше­ние Ла­ри­сы Нефёдовой на языке Python.

import ipaddress

def calculate_host_number(subnet_mask, ip_address):

network = ipaddress.IPv4Network(ip_address + '/' + subnet_mask, strict=False)

host_number = int(ipaddress.IPv4Address(ip_address)) - int(network.network_address)

return host_number

subnet_mask = '255.255.255.224'

ip_address = '162.198.0.157'

host_number = calculate_host_number(subnet_mask, ip_address)

print('По­ряд­ко­вый номер ком­пью­те­ра в сети:', host_number)

 

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

from ipaddress import ip_network, ip_address

net = ip_network('162.198.0.157/255.255.255.224',0)

print(int(ip_address('162.198.0.157'))-int(net.network_address))


Аналоги к заданию № 2231: 2232 2234 2235 Все