Теория вопроса

Маска подсети
(задание ЕГЭ-2013 В-11)
   В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.
Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить маршрутизацию.
Маска записывается по тем же правилам, что и IP-адрес.

Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (логическое И).

Поразрядная конъюнкция (или побитовое И) — это бинарная операция, действие которой эквивалентно применению логического И к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0.  Например:
                           1001 and   0101 =  0001
Как по заданным IP-адресу узла сети и маске определить адрес сети и адрес компьютера?
Пусть дан IP-адрес:  194.84.124.51 и
                       Маска:    255.255.224.0.
Представим каждую составляющую IP-адреса в двоичном коде. Получим:
             IP-адрес: 11000010 . 01010100 . 01111100 .  00110011
              Маска:    11111111 . 11111111 . 11100000 . 00000000

Выполним поразрядную конъюнкцию над соответствующими битами IP-адреса и маски. В результате получим:
                             11000010 . 01010100 . 11100000 . 00000000
Переведём составляющие полученного IP-адреса в десятичную систему, получим:
194.84.224.0 - это IP-адрес сети.


Определим номер компьютера в сети.

Младшие биты маски отведены в IP-адресе  для адреса компьютера в подсети, они имеют значение 0. В предыдущем примере первые 19 бит маски (единицы) указывают на адрес сети, а последние 13 бит (нули) указывают на номер компьютера в этой сети. Это: 11100.00110011. Поэтому, чтобы определить номер компьютера в сети,  достаточно перевести в десятичную систему эти биты IP-адреса: 


11100001100112 = 1 ·212 + 1 ·211  + 1 ·210  +1 ·25  +1 ·24  +1 ·21  +1 ·20 = 721910
Таким образом, номер компьютера в сети 7219.

2 комментария: