Тема 13 Организация компьютерных сетей

01 Номер компьютера в сети

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела 13 организация компьютерных сетей
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#72220Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.255.192 и IP-адрес компьютера в сети 188.134.59.77.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Запишем четвертый слева байт IP-адреса в двоичной системе счисления: 7710 = 010011012  .

Аналогично запишем четвертый слева байт маски, также в двоичной системе счисления: 192  = 11000000
   10          2  .

Так как в маске последние 6 бит – нули, то номер компьютера в сети равен: 0011012 = 1310

Решение Python:

Для определения номера компьютера в сети необходимо вычислить разницу между IP-адресом узла и адресом сети. Адрес сети можно получить, применив поразрядную конъюнкцию (логическое И) между IP-адресом и маской подсети. В Python для работы с IP-адресами и масками удобно использовать модуль ipaddress, который позволяет легко выполнять такие операции. Создаем объект сети с помощью метода ip_network(), используя IP-адрес и маску. Затем, при помощи метода network_address(), находим адрес сети. Номер компьютера – это разница между исходным IP-адресом и адресом сети в числовом представлении, которое можно получить с помощью метода ip_address().

from ipaddress import * # Импортируем модуль для работы с IP-адресами

# Создаем объект сети, используя IP-адрес и маску.
# Параметр strict=False позволяет игнорировать несоответствие хоста и маски.
net = ip_network(’188.134.59.77/255.255.255.192’, strict=False)

# Вычисляем номер компьютера в сети:
# 1) Преобразуем IP-адрес компьютера в число.
# 2) Преобразуем адрес сети в число.
# 3) Находим разницу между ними — это и будет номер хоста.
host_number = int(ip_address(’188.134.59.77’)) - int(net.network_address)
print(host_number)

Ответ: 13

Ошибка.
Попробуйте повторить позже

Задача 2#72221Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.248.0 и IP-адрес компьютера в сети 145.125.105.101.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Запишем третий и четвертый слева байты IP-адреса в двоичной системе счисления: 10510 = 011010012  , 101  = 01100101
   10          2

Аналогично запишем третий и четвертый слева байты маски, также в двоичной системе счисления: 24810 = 111110002  , 010 = 000000002  .

Так как в маске последние 11 бит – нули, то номер компьютера в сети равен: 001011001012 = 35710

Решение Python:

Для определения номера компьютера в сети необходимо вычислить разницу между IP-адресом узла и адресом сети. Адрес сети вычисляется с помощью поразрядной конъюнкции (логическое И) IP-адреса и маски подсети. В Python для работы с IP-адресами и сетями удобно использовать модуль ipaddress, который позволяет легко создавать объекты сетей и получать адрес сети.

1. Сначала мы создаем объект сети с помощью функции ip_network(), указывая IP-адрес компьютера и маску подсети. Параметр strict=False позволяет создавать сеть, даже если указанный IP-адрес не является адресом сети.

2. Затем мы преобразуем IP-адрес компьютера в числовое значение с помощью ip_address(), чтобы можно было выполнять арифметические операции.

3. Адрес сети также преобразуется в число с помощью свойства network_address объекта сети.

4. Разница между числовым представлением IP-адреса и адреса сети даёт номер компьютера в сети (индекс хоста).

from ipaddress import *  # Импортируем модуль для работы с IP-адресами

# Создаем объект сети, используя IP-адрес и маску подсети
# Параметр strict=False позволяет игнорировать несоответствие хоста и маски
net = ip_network(’145.125.105.101/255.255.248.0’, strict=False)

# Вычисляем номер компьютера в сети:
# 1) Преобразуем IP-адрес компьютера в число
# 2) Преобразуем адрес сети в число
# 3) Находим разницу между ними, что и является номером хоста
host_number = int(ip_address(’145.125.105.101’)) - int(net.network_address)

# Выводим номер компьютера
print(host_number)

Ответ: 357

Ошибка.
Попробуйте повторить позже

Задача 3#72429Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 192.168.5.17, а маска равна 255.255.255.0, то адрес сети равен 192.168.5.0.

Для узла с IP-адресом 7.120.112.5 адрес сети равен 7.120.96.0. Чему равен номер компьютера в этой сети? Ответ запишите в виде десятичного числа.

Показать ответ и решение

Решение руками:

Переведем третий слева байт IP-адреса и адреса сети в двоичную систему счисления: 11210 = 011100002,9610 = 011000002  , а также последний байт IP-адреса: 5  = 00000101
10          2

Так как адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске, то третий слева байт маски маска имеет вид: 111000002  .

Номер компьютера в сети будет в той части IP-адреса, где в маске стоят нули. То есть номер компьютера равен 10000000001012 = 410110  .

Решение Python:

Для решения задачи нужно определить номер компьютера в сети, то есть порядковый номер узла относительно адреса сети. Сначала находим маску сети, которая соответствует заданным IP-адресу и адресу сети. Маска показывает, какие биты в IP-адресе отвечают за номер сети, а какие - за номер узла. Затем с помощью поразрядной конъюнкции (логического И) между IP-адресом и маской получаем адрес сети. После этого номер компьютера вычисляется как разница между исходным IP-адресом и найденным адресом сети, то есть сколько адресов отделяет данный узел от начала сети.

from ipaddress import ip_address, ip_network

# Задаем IP-адрес и адрес сети
ip = ip_address("7.120.112.5")
network = ip_network("7.120.96.0/255.255.224.0")

# Получаем номер компьютера в сети
host_number = int(ip) - int(network.network_address)

print(host_number)

Ответ: 4101

Ошибка.
Попробуйте повторить позже

Задача 4#75274Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.255.248 и IP-адрес компьютера в сети 108.23.252.178.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Запишем четвертый слева байт IP-адреса в двоичной системе счисления: 17810 = 101100102  .

Аналогично запишем четвертый слева байт маски, также в двоичной системе счисления: 248  = 11111000
   10          2  .

Так как в маске последние 3 бит – нули, то номер компьютера в сети равен: 0102 = 210  .

Решение Python:

Для нахождения номера компьютера в сети нужно сначала вычислить адрес сети, который определяется поразрядной конъюнкцией IP-адреса узла и маски подсети. Маска разделяет IP-адрес на часть сети и часть узла, поэтому адрес сети всегда имеет одинаковые старшие биты с узлом, а младшие обнуляются. После того как адрес сети найден, номер компьютера в сети определяется как разница между числовыми значениями IP-адреса узла и адреса сети. Таким образом, получаем порядковый номер данного узла внутри своей подсети.

from ipaddress import *
# Создаем объект сети
net = ip_network("108.23.252.178/255.255.255.248", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("108.23.252.178")) - int(net.network_address)
print(host_number)

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 5#80018Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.255.192 и IP-адрес компьютера в сети 134.242.26.155.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Запишем четвертый слева байт IP-адреса в двоичной системе счисления: 15510 = 100110112  .

Аналогично запишем четвертый слева байт маски, также в двоичной системе счисления: 192  = 11000000
   10          2  .

Так как в маске последние 6 бит – нули, то номер компьютера в сети равен: 0110112 = 2710  .

Решение Python:

Для решения задачи необходимо сначала определить адрес сети, который вычисляется применением поразрядной конъюнкции между IP-адресом и маской подсети. Маска выделяет часть адреса, относящуюся к сети, а оставшиеся биты отвечают за номер узла в этой сети. После нахождения адреса сети можно вычислить номер компьютера: это разница между числовым значением IP-адреса узла и адреса сети. Таким образом, результат покажет порядковый номер данного компьютера внутри своей подсети.

from ipaddress import *
# Создаем объект сети
net = ip_network("134.242.26.155/255.255.255.192", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("134.242.26.155")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 27

Ошибка.
Попробуйте повторить позже

Задача 6#105542Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.248.0 и IP-адрес компьютера в сети 17.100.13.33.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведем IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11111111.11111000.00000000
IP 00010001.01100100.00001101.00100001

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят нули.

Получаем, что номер компьютера равен 10100100001  = 1313
          2       10  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.255.248.0. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("17.100.13.33/255.255.248.0", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("17.100.13.33")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 1313

Ошибка.
Попробуйте повторить позже

Задача 7#105543Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.192.0.0 и IP-адрес компьютера в сети 101.204.137.184.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведем IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11000000.00000000.00000000
IP 01100101.11001100.10001001.10111000

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят нули.

Получаем, что номер компьютера равен 0011001000100110111000 = 821688
                     2        10  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.192.0.0. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("101.204.137.184/255.192.0.0", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("101.204.137.184")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 821688

Ошибка.
Попробуйте повторить позже

Задача 8#105544Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.128.0 и IP-адрес компьютера в сети 166.229.54.0.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведем IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11111111.10000000.00000000
IP 10100110.11100101.00110110.00000000

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят нули.

Получаем, что номер компьютера равен 011011000000000  = 13824
              2       10  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.255.128.0. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("166.229.54.0/255.255.128.0", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("166.229.54.0")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 13824

Ошибка.
Попробуйте повторить позже

Задача 9#105545Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.252.0 и IP-адрес компьютера в сети 162.115.138.246.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведем IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11111111.11111100.00000000
IP 10100010.01110011.10001010.11110110

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят нули.

Получаем, что номер компьютера равен 1011110110 = 758
         2      10  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.255.252.0. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("162.115.138.246/255.255.252.0", strict=False)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("162.115.138.246")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 758

Ошибка.
Попробуйте повторить позже

Задача 10#105560Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.255.192 и IP-адрес компьютера в сети 2.122.134.133.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведём IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11111111.11111111.11000000
IP 00000010.01111010.10000110.10000101

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят соответствующие нули.

Получаем, что номер компьютера равен 0001012 = 510  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.255.255.192. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("2.122.134.133/255.255.255.192", 0)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("2.122.134.133")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 5

Ошибка.
Попробуйте повторить позже

Задача 11#105561Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Определите номер компьютера в сети, если маска подсети равна 255.255.252.0 и IP-адрес компьютера в сети 162.115.138.246.

Ответ запишите в десятичной системе счисления.

Показать ответ и решение

Решение руками:

Переведём IP-адрес и маску в двоичную систему счисления.

Mask 11111111.11111111.11111100.00000000
IP 10100010.01110011.10001010.11110110

Номер компьютера находится в той части IP-адреса компьютера, где в маске стоят соответствующие нули.

Получаем, что номер компьютера равен 10111101102 = 75810  .

Решение программой:

Чтобы найти номер компьютера в сети, сначала определяем адрес самой сети, используя заданный IP-адрес и маску 255.255.252.0. Далее вычисляем разницу между числовым значением IP-адреса компьютера и числовым значением адреса сети. Это значение показывает порядковый номер узла внутри подсети. Полученный результат и будет искомым номером компьютера в сети в десятичной системе счисления.

from ipaddress import *
# Создаем объект сети
net = ip_network("162.115.138.246/255.255.252.0", 0)
# Номер компьютера в сети (индекс хоста)
host_number = int(ip_address("162.115.138.246")) - int(net.network_address)
# Печатаем ответ
print(host_number)

Ответ: 758

Ошибка.
Попробуйте повторить позже

Задача 12#105570Максимум баллов за задание: 1

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

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Сеть задана IP-адресом одного из входящих в неё узлов 186.215.243.5 и сетевой маской 255.255.192.0.

Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру.

В ответе укажите найденный IP-адрес в десятичной системе счисления без точек и разделителей.

Показать ответ и решение

Решение руками

Переведём IP-адрес узла и маску сети в двоичную систему счисления:

IP узла 10111010.11010111.11110011.00000101
IP маска 11111111.11111111.11000000.00000000

Узлы в сети имеют вид: 10111010.11010111.11xxxxxx.xxxxxx

Нам нужно найти наибольший IP-адрес в данной сети, который может быть назначен компьютеру. Но мы не можем назначать компьютеру широковещательный адрес.

Поэтому, последний возможный IP-адрес будет равен: 10111010.11010111.11111111.111111102 = 186.215.255.25410

Решение программой

Для решения задачи необходимо определить наибольший IP-адрес, который может быть назначен компьютеру в заданной сети. Адрес сети можно получить, применив маску подсети к заданному IP-адресу, а диапазон всех адресов сети легко получить с помощью модуля «ipaddress». Важно помнить, что последний адрес сети зарезервирован как широковещательный, поэтому максимальный адрес для узла - это предпоследний адрес в диапазоне. В Python это реализуется через объект «ip_network», из которого можно взять адрес по индексу «-2», и затем вывести его в виде числа без точек.

from ipaddress import *
# Создаем объект сети
net = ip_network("186.215.243.5/255.255.192.0", 0)
# Берем предпоследний адрес, так как последний - широковещательный
print(str(net[-2]).replace(".",""))

Ответ: 186215255254

Ошибка.
Попробуйте повторить позже

Задача 13#136723Максимум баллов за задание: 1

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.

Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.

Сеть задана IP-адресом одного из входящих в неё узлов 191.128.66.83 и сетевой маской 255.192.0.0.

Найдите в данной сети наибольший IP-адрес, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей.

Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать: 11122344.

Показать ответ и решение

Решение руками

Переведём IP-адрес узла и маску сети в двоичную систему счисления:

IP узла 10111111.10000000.01000010.01010011
Маска 11111111.11000000.00000000.00000000

Узлы в сети имеют вид: 10111111.10xxxxxx.xxxxxxxx.xxxxxx

Нам нужно найти наибольший IP-адрес в данной сети, который может быть назначен компьютеру. Но мы не можем назначать компьютеру широковещательный адрес.

Поэтому, последний возможный IP-адрес будет равен: 10111111.10111111.11111111.11111110 = 191.191.255.25410

Решение программой

Для нахождения наибольшего IP-адреса компьютера в сети необходимо определить широковещательный адрес сети и взять адрес, предшествующий ему. Широковещательный адрес является последним адресом в диапазоне сети и не может быть использован для компьютеров. Следовательно, наибольший допустимый адрес для компьютера будет предпоследним адресом в сети.

В Python для работы с IP-адресами удобно использовать модуль ipaddress, который позволяет легко выполнять операции с сетевыми диапазонами. Создаем объект сети с помощью метода ip_network(), используя IP-адрес узла и маску подсети. Затем, используя индексацию [-2], получаем предпоследний адрес в сети, который и будет искомым наибольшим адресом для компьютера.

# Импортируем модуль для работы с IP-адресами
from ipaddress import *

# Создаем объект сети с указанным IP-адресом и маской
net = ip_network(’191.128.66.83/255.192.0.0’, 0)

# Получаем предпоследний адрес в сети:
# net[-1] - последний адрес (широковещательный)
# net[-2] - предпоследний адрес
# str() - преобразуем IP-адрес в строку
# replace(’.’,’’) - удаляем все точки из строки, чтобы дать ответ без разделителей
print(str(net[-2]).replace(’.’,’’))

# Вывод: 191191255254.

Ответ: 191191255254
Рулетка
Вы можете получить скидку в рулетке!