04 Определение маски
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 97.122.41.0. адрес сети равен 97.122.32.0. Чему равно наибольшее значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’97.122.41.0/{mask}’, 0) print(net, net.netmask) # Ищем в списке сеть 97.122.32.0 и выбираем ту, в которой количество единиц больше (число после знака /), в таком случае и значение маски будет больше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в числе, которое
нам нужно найти. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на
какой-то позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что стоит
в этом месте в искомом числе — в результате конъюнкции все равно будет 0. Значит, на
первых трех местах слева маски стоят единицы, а на четвертом месте слева месте может
стоять 0 или 1. Так как нужно выбрать максимальное значение, запишем там 1. В маске в
двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Маска не может начинаться с 0, поэтому окончательный ответ:.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 35.167.206.16 адрес сети равен 35.167.192.0 Чему равно наименьшее значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’35.167.206.16/{mask}’, 0) print(net, net.netmask) # Ищем в списке сеть 35.167.192.0 и выбираем ту, в которой количество единиц меньше (число после знака /), тогда и байт маски будет меньше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом
слагаемом. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то
позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что стоит в этом месте в
искомом числе - в результате конъюнкции все равно будет 0. Значит, на третьем и четвертом местах
слева может стоять как 0, так и 1. Так как нужно выбрать минимальное значение, запишем там 0. В
маске в двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 203.90.129.237 адрес сети равен 203.90.129.236. Чему равно наименьшее значение четвертого слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’203.90.129.237/{mask}’, 0) print(net, net.netmask) # Ищем в списке сеть 203.90.129.236 и выбираем ту, в которой количество единиц меньше (число после знака /), тогда и байт маски будет меньше # В ответ записываем четвертый байт маски
Решение руками:
Чтобы восстановить значение четвертого слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом
слагаемом. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то
позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что стоит в этом месте в
искомом числе - в результате конъюнкции все равно будет 0. Значит, на cедьмом месте слева месте
может стоять как 0, так и 1. Так как нужно выбрать минимальное значение, запишем там 0. В маске в
двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Маска не может начинаться с 0, поэтому окончательный ответ:
.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
По IP-адресу узла 125.170.90.148 и адресу сети 125.170.88.0 определите чему равно наименьшее количество единиц в двоичной записи третьего байта маски.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’125.170.90.148/{mask}’, strict=False) third_byte_mask = bin(int(net.netmask))[2:].zfill(32)[16:24] print(net, third_byte_mask) # Вывод адреса сети и третьего слева байта маски # Ищем в списке сеть 125.170.88.0 и выбираем ту, в которой количество единиц меньше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и маске сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
Запишем уравнение поразрядной конъюнкции IP-адреса и маски, в результате которой получается адрес сети:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в числе,
которое нам нужно найти. Если же на месте
стоит 0, то результат конъюнкции будет
равен 0. Если на какой-то позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно
определить, что стоит в этом месте в искомом числе — в результате конъюнкции все равно будет 0.
Значит, на первых пяти местах слева маски стоят единицы, а на шестом месте слева может
стоять 0 или 1. Так как нужно выбрать минимальное значение, запишем там 0. В маске в
двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Наименьшее возможное количество единиц в маске равно 5.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
По IP-адресу узла 216.234.148.136 и адресу сети 216.234.144.0 определите чему равно наименьшее количество единиц в двоичной записи третьего байта маски.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’216.234.148.136/{mask}’, strict=False) third_byte_mask = bin(int(net.netmask))[2:].zfill(32)[16:24] print(net, third_byte_mask) # Вывод адреса сети и третьего слева байта маски # Ищем в списке сеть 216.234.144.0 и выбираем ту, в которой количество единиц меньше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и маске сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в числе, которое
нам нужно найти. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на
какой-то позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что
стоит в этом месте в искомом числе — в результате конъюнкции все равно будет 0. Значит,
на первых четрех местах слева маски стоят единицы, а на пятом месте слева месте может
стоять 0 или 1. Так как нужно выбрать минимальное значение, запишем там 0. В маске в
двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Наименьшее возможное количество единиц в маске равно 4.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 113.184.190.40 маска равна 255.255.224.0. Чему равно количество нулей третьего слева байта адреса сети? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network # Определяем сеть net = ip_network(f’113.184.190.40/255.255.224.0’, 0) # Получаем сетевой адрес в двоичном виде net1 = bin(int(net.network_address))[2:].zfill(32) # Извлекаем третий байт и выводим количество нулей print(net1[16:24].count(’0’))
Решение руками:
Чтобы восстановить значение третьего слева байта адреса сети, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для маски:
;
В результате поразрядной конъюнкции имеем:
Если же 0 есть на позиции в одном из чисел, значит результат конъюнкции цифр, стоящих на этих
позициях будет равен 0. Значит, на первом и третьем местах слева месте не должен стоять 0. Так как
конъюнкция только двух цифр равных 1 равна 1, поэтому искомое число имеет вид , которое
имеет 2 единицы.
В каждом байте адреса содержится 8 цифр, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 179.189.172.104 адрес сети равен 179.189.172.96. Чему равно наименьшее значение четвертого слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’179.189.172.104/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 179.189.172.96 и выбираем ту, в которой значение четвертого байта маски меньше
Решение руками:
Чтобы восстановить значение четвертого слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом
слагаемом. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то
позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что стоит в этом месте в
искомом числе - в результате конъюнкции все равно будет 0. Значит, на четвертом месте слева месте
может стоять как 0, так и 1. Так как нужно выбрать минимальное значение, запишем там 0. В маске в
двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 165.225.161.164 адрес сети равен 165.225.161.160. Чему равно наибольшее значение четвертого слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’165.225.161.164/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 165.225.161.160 и выбираем ту, в которой значение четвертого байта маски больше
Решение руками:
Чтобы восстановить значение четвертого слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом
слагаемом. Если же на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то
позиции в IP-адресе стоит 0, то, вообще говоря, нельзя однозначно определить, что стоит в этом месте в
искомом числе - в результате конъюнкции все равно будет 0. Значит, на четвертом и пятом местах слева
месте может стоять как 0, так и 1. Так как нужно выбрать максимальное значение, запишем там 1. В
маске в двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет вид
.
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 117.35.122.92 адрес сети равен 117.35.120.0. Чему равно наименьшее значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’117.35.122.92/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 117.35.120.0 и выбираем ту, в которой значение четвертого байта маски меньше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом слагаемом. Если же
на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то позиции в IP-адресе стоит 0, то, вообще
говоря, нельзя однозначно определить, что стоит в этом месте в искомом числе - в результате конъюнкции все равно
будет 0.
Значит, на шестом месте слева месте может стоять как 0, так и 1. Так как нужно выбрать минимальное значение,
запишем там 0. В маске в двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет
вид .
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 91.144.83.48 адрес сети равен 91.144.64.0. Чему равно наибольшее значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’91.144.83.48/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 91.144.64.0 и выбираем ту, в которой значение четвертого байта маски больше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом слагаемом. Если же
на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то позиции в IP-адресе стоит 0, то, вообще
говоря, нельзя однозначно определить, что стоит в этом месте в искомом числе - в результате конъюнкции все равно
будет 0.
Значит, на третьем месте слева месте может стоять как 0, так и 1. Так как нужно выбрать максимальное значение,
запишем там 1. В маске в двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет
вид .
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 178.32.27.129 адрес сети равен 178.32.24.0. Чему равно наибольшее значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(1, 33): net = ip_network(f’178.32.27.129/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 178.32.24.0 и выбираем ту, в которой значение четвертого байта маски больше
Решение руками:
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и адресе сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
Для IP-адреса:
;
Для адреса сети:
;
В результате поразрядной конъюнкции имеем:
Если на месте стоит 1, то в этой позиции цифра в результате совпадет с цифрой в искомом слагаемом. Если же
на месте
стоит 0, то результат конъюнкции будет равен 0. Если на какой-то позиции в IP-адресе стоит 0, то, вообще
говоря, нельзя однозначно определить, что стоит в этом месте в искомом числе - в результате конъюнкции все равно
будет 0.
Значит, на шестом месте слева месте может стоять как 0, так и 1. Так как нужно выбрать максимальное значение,
запишем там 1. В маске в двоичном коде сначала стоят все единицы, а потом все нули, поэтому искомое число имеет
вид .
Маска не может начинаться с 0, поэтому окончательный ответ: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу
сети, а какая -– к адресу самого узла в этой сети.
Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 121.32.255.121, а маска равна 255.255.255.0, то адрес сети равен 121.32.255.0.
Для узла с IP-адресом 204.185.106.48 адрес сети равен 204.185.96.0. Найдите наименьшее возможное количество единиц в двоичной записи маски подсети.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’204.185.106.48/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 204.185.96.0 и выбираем ту, в которой количество единиц меньше (значение после /)
Решение руками:
Перепишем IP-адрес узла и адрес сети в двоичной системе счисления:
IP | 11001100.10111001.01101010.00110000 |
Net | 11001100.10111001.01100000.00000000 |
Зная тот факт, что адрес подсети получается путём перемножения цифр двоичной записи маски и IP-адреса, можно точно определить некоторые цифры в маске подсети:
Mask | 11111111.11111111.111*0000.00000000 |
IP | 11001100.10111001.01101010.00110000 |
Net | 11001100.10111001.01100000.00000000 |
Так как по условию задачи нам необходимо найти наименьшее количество единиц, то на пустое место поставим ноль.
Получим маску подсети – 11111111.11111111.11100000.00000000. Количество единиц в ней равно 19.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называется 32-разрядная двоичная последовательность, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа.
Пример. Пусть IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0. Тогда адрес сети равен 231.32.240.0.
Для узла с IP-адресом 199.88.184.57 адрес сети равен 199.88.176.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’199.88.184.57/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 199.88.176.0 и смотрим на значение третьего слева байта маски
Решение руками:
Рассмотрим третий слева байт в IP-адресе узла и адресе сети, представим их в двоичном виде:
Заметим, что в 1, 3 и 4 слева битах маски должна стоять единица, чтобы в первом, третьем и четвертом битах
адреса сети была единица, а в 5 слева бите – ноль, так как в ip-адресе там стоит единица, а в адресе сети ноль. И так
как в маске сначала идут единицы, а потом одни нули, третий байт будет равен .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называется 32-разрядная двоичная последовательность, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа.
Пример. Пусть IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0. Тогда адрес сети равен 231.32.240.0.
Для узла с IP-адресом 222.135.184.200 адрес сети равен 222.135.160.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’222.135.184.200/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 222.135.160.0 и смотрим на значение третьего слева байта маски
Решение руками:
Рассмотрим третий слева байт в IP-адресе узла и адресе сети, представим их в двоичном виде:
Заметим, что в 3 слева бите маски должна стоять единица, чтобы в третьем бите адреса сети была единица, а в 4
слева бите – ноль, так как в ip-адресе там стоит единица, а в адресе сети ноль. И так как в маске сначала идут
единицы, а потом одни нули, третий байт будет равен .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маской сети называется 32-разрядная двоичная последовательность, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа.
Пример. Пусть IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0. Тогда адрес сети равен 231.32.240.0.
Для узла с IP-адресом 114.217.199.111 адрес сети равен 114.217.128.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’114.217.199.111/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 114.217.128.0 и смотрим на значение третьего слева байта маски
Решение руками:
Рассмотрим третий слева байт в IP-адресе узла и адресе сети, представим их в двоичном виде:
Заметим, что в 1 слева бите маски должна стоять единица, чтобы в первом бите адреса сети была единица, а в 2
слева бите – ноль, так как в ip-адресе там стоит единица, а в адресе сети ноль. И так как в маске сначала идут
единицы, а потом одни нули, третий байт будет равен .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к
адресу сети, а какая -– к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам,
что и IP-адрес — в виде четырех байт, причем каждый байт записывается в виде десятичного числа.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и
маске.
Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.
Для узла с IP-адресом 147.36.148.86 адрес сети равен 147.36.128.0. Для скольких значений третьего слева байта маски допустим такой адрес сети?
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’147.36.148.86/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 147.36.128.0 и смотрим количество различных масок
Решение руками:
Запишем третий слева байт IP-адреса в двоичной системе счисления: .
Аналогично запишем третий слева байт адреса сети, также в двоичной системе счисления: .
Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу
узла и маске, запишем возможный вариант маски, обозначив символом «x» те места, где маска может иметь
неоднозначное значение: .
Мы знаем, что в маске сначала идут единицы, затем нули. Значит, возможно вставить всего три различных варианта вместо «хх»: 00, 10, 11.
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети
относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же
правилам, что и IP-адрес – в виде четырех байт, причем каждый байт записывается в виде десятичного числа.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и
маске.
Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.
Для узла с IP-адресом 130.110.203.197 адрес сети равен 130.110.203.196. Какое минимальное количество единиц может быть в маске сети?
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’130.110.203.197/{mask}’, 0) print(net, net.netmask) # Вывод адреса сети и маски # Ищем в списке сеть 130.110.203.196 и смотрим на минимальное значение количества единиц (число после /)
Решение руками:
Запишем четвертый слева байт IP-адреса в двоичной системе счисления: .
Аналогично запишем четыертый слева байт адреса сети, также в двоичной системе счисления: .
Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу
узла и маске, запишем возможный вариант маски, обозначив символом «x» те места, где маска может иметь
неоднозначное значение: .
Так как по условию задачи нам необходимо найти минимальное количество единиц, то на место символа «x» ставим
цифру 0. Получаем искомое количество единиц: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули.
Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес – в виде четырех байт, причем каждый байт записывается в виде десятичного числа.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.
Для узла с IP-адресом 25.74.172.28 адрес сети равен 25.74.160.0. Найдите наименьшее возможное количество нулей в двоичной записи маски подсети.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’25.74.172.28/{mask}’, 0) print(net, bin(int(net.netmask))[2:].zfill(32).count(’0’)) # Вывод адреса сети и количества нулей в маске # Ищем в списке сеть 25.74.160.0 и смотрим на минимальное значение количества нулей
Решение руками:
Запишем третий слева байт IP-адреса в двоичной системе счисления: .
Аналогично запишем третий слева байт адреса сети, также в двоичной системе счисления: .
Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу
узла и маске, запишем возможный вариант маски, обозначив символом «x» те места, где маска может иметь
неоднозначное значение: .
Так как по условию задачи нам необходимо найти минимальное количество нулей, то на место символа «x» ставим
цифру 1. Получаем искомое количество нулей: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к
адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам,
что и IP-адрес — в виде четырех байт, причем каждый байт записывается в виде десятичного числа.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и
маске.
Для узла с IP-адресом 210.210.230.65 адрес сети равен 210.210.224.0.
Найдите наименьшее возможное количество нулей в двоичной записи маски подсети.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’210.210.230.65/{mask}’, 0) print(net, bin(int(net.netmask))[2:].zfill(32).count(’0’)) # Вывод адреса сети и количества нулей в маске # Ищем в списке сеть 210.210.224.0 и смотрим на минимальное значение количества нулей
Решение руками:
Запишем третий и четвертый слева байты IP-адреса в двоичной системе счисления: ,
Аналогично запишем третий и четвертый слева байты адреса сети, также в двоичной системе счисления:
,
.
Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу
узла и маске, запишем возможный вариант двух последних байт маски, обозначив символом «x» те места, где маска
может иметь неоднозначное значение: .
Так как по условию задачи нам необходимо найти наименьшее количество нулей, то на место символа «x» ставим
цифру 1. Получаем искомое количество нулей: .
Ошибка.
Попробуйте повторить позже
В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее ; в маске сначала (в старших разрядах)
стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к
адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам,
что и IP-адрес — в виде четырех байт, причем каждый байт записывается в виде десятичного числа.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и
маске.
Для узла с IP-адресом 135.121.69.38 адрес сети равен 135.121.64.0.
Найдите наибольшее возможное значение третьего слева байта маски.
Ответ запишите в виде десятичного числа.
Решение Python:
from ipaddress import ip_network for mask in range(33): net = ip_network(f’135.121.69.38/{mask}’, 0) print(net, net.netmask) # Ищем в списке сеть 135.121.64.0 и смотрим на наибольшее значение третьего байта маски
Решение руками:
Запишем третий слева байт IP-адреса в двоичной системе счисления: .
Аналогично запишем третий слева байт адреса сети, также в двоичной системе счисления: .
Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу
узла и маске, запишем возможный вариант третьего слева байта маски, обозначив символом «x» те места, где маска
может иметь неоднозначное значение: .
Так как по условию задачи нам необходимо найти наибольшее возможное значение третьего слева байта маски, то
на место символа «x» ставим цифру 1. Получаем значение третьего байта:.