Поскольку сетевой адрес назначения сам по себе не дает диапазона сетевых адресов, однако в сочетании с сетевой маской определяется полный объем удаленной сети.
Например, скажем, вы использовали хост в сети 10.34.1.0/24 и ваш маршрут был определен следующим образом
route add 10.34.2.0 mask 255.255.255.0 10.34.1.1
Вышеупомянутое правило сообщает вашему компьютеру, что любой хост в сети 10.34.2.0/24 (10.34.2.1 - 10.34.2.254 ) доступен через маршрутизатор 10.34.1.1
Указание пункта назначения без маски подсети не имеет смысла, даже в случае одного хоста, который может быть определен как
route add 10.34.3.4 mask 255.255.255.255 10.34.1.2
Если у вас есть конфликтующие маршруты с использованием маски сети 0.0.0.0, то маршрут с наименьшим значением метрики обычно будет иметь приоритет, например
route add 0.0.0.0 mask 0.0.0.0 10.34.1.3 metric 10
route add 0.0.0.0 mask 0.0.0.0 10.34.1.4 metric 5
10.34.1.4 будет предпочтительным маршрутом,при условии, что не существует других подходящих маршрутов с более низкой метрикой
маска подсети указывает вашему маршрутизатору / ОС, какова сетевая часть вашего адреса.
Допустим, у вас 10.1.2.0, если у вас не будет сетевой маски (это называется классовая маршрутизация), если предполагается, что это сеть 10.0.0.0, поскольку она принадлежит к классу A (некоторые устройства / ОС предоставляют ей подсеть, определенную в их интерфейсе). См. Здесь о классовой и бесклассовой маршрутизации
Это классы:
Class A
1. 0. 0. 1 = 00000000.00000000.00000000.00000000
127.255.255.254 = 01111111.11111111.11111111.11111111
0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B
128. 1. 0. 1= 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
Class C
192. 0. 1. 1 = 11000000.00000000.00000000.00000000
223.255.255.254 = 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
Class D
224. 0. 0. 0 = 11100000.00000000.00000000.00000000
239.255.255.254 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Class E
240. 0. 0. 0 = 11110000.00000000.00000000.00000000
255.255.255.254 = 11111111.11111111.11111111.11111111
1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Но если вы установите маску подсети, вы можете разделить эту сеть 10.0.0.0 на несколько сетей, например 10.1.0.0 или 10.1.1.0.
Маска подсети требуется, потому что когда вы определяете статический адрес (скажем, в Windows, он не использует точную маршрутизацию, а бесклассовую маршрутизацию, которая должна иметь маску подсети).
Если вы установите маску подсети 255.0.0 . 0, это означает, что только первая часть адреса является сетевым адресом, поэтому ваша сеть - x.0.0.0, если вы поместите 255.255.0.0, тогда она займет первые две части адреса, например xx0.0, и т. Д. . Таким образом, когда вы вводите маску подсети 0.0.0.0, это означает любой адрес от 0.0.0.0 до 255.255.255.255.
Если у вас есть более одного маршрута для одного и того же пункта назначения, победит маршрут с более низкой метрикой.
О маске подсети из ваших пунктов назначения, установленного на 0.0.0.0 на большинстве устройств / ОС, я не думаю, что можно установить маску подсети 0.0.0.0, если адрес не 0.0.0.0. То есть они не позволяют помещать 1-битное значение в адрес назначения статического маршрута, если соответствующее значение в маске подсети равно 0.
Windows, например, не позволит вам сделать это
route add 10.10.10.0 mask 255.0.0.0 192.168.1.1
, потому что вы указали маску подсети 255.0.0.0 в двоичной форме 11111111.00000000. 00000000.00000000 и адрес назначения 10.10.10.0 в двоичной форме 00001010.00001010.00001010.00000000. Он имеет 1 в том месте, где маска подсети имеет 0 (вторая и третья часть адреса)