URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 9422
[ Назад ]

Исходное сообщение
"проясните по wildcard bits"

Отправлено stratus , 15-Дек-05 18:54 
Привет!
Как при помощи wildcard можно указать диапазон адресов, а не подсеть.
Например 10.0.0.7 - 10.0.0.9  
Если с помощью wildcard  можно указывать только подсети, то в чем смысл wildcard и в чем отличие от обычной маски подсети?

Содержание

Сообщения в этом обсуждении
"проясните по wildcard bits"
Отправлено sh_ , 15-Дек-05 19:19 
wildcard это инвертированная маска подсети. Больше отличий нет.

"проясните по wildcard bits"
Отправлено stratus , 15-Дек-05 20:08 
>wildcard это инвертированная маска подсети. Больше отличий нет.
а зачем она нужна, такая маска? разве недостаточно обычной?

"проясните по wildcard bits"
Отправлено Nailer , 15-Дек-05 20:13 
>wildcard это инвертированная маска подсети. Больше отличий нет.


Неправда ваша, wildcard намного более гибкая, так как, в отличие от сетевой маски, еденички в wildcard могут идти не подряд, а типа 001011.
Расскажите, как с помощью маски одной строчкой описать все нечетные хосты сети..


"проясните по wildcard bits"
Отправлено qsw , 19-Мрт-09 16:06 

>Расскажите, как с помощью маски одной строчкой описать все нечетные хосты сети..
>

и Вы, пжлст, расскажите, а то я весь запутался ))

Или хотя бы укажите на ошибку.

Возьмем станд. сеть /24. Перечислим нечетные ИП: 1,3,5,7,9,11...255 Колличество элементов в ряде составит 128 (что = 2^7, тось является "правильным" числом, попадающим в вайлдкард рейндж (2,4,8,16,32...)

Переведем ряд в двоичную систему:

00000001 [1]
00000011 [3]
00000101 [5]
00000111 [7]
00001001 [9]
00001011 [11]
..............
11111111 [255]
--------
11111110 <-- вайлдкард --> 254 (бр-р-р, явно не равно 2^n-1)

Как так-то?



"проясните по wildcard bits"
Отправлено VaSh , 19-Мрт-09 16:18 
>>wildcard это инвертированная маска подсети. Больше отличий нет.
>
>
>Неправда ваша, wildcard намного более гибкая, так как, в отличие от сетевой
>маски, еденички в wildcard могут идти не подряд, а типа 001011.
>
>Расскажите, как с помощью маски одной строчкой описать все нечетные хосты сети..
>

извените, единички с нулями перепутал.

вк = 00000001 == 1 (в десятичной системе)
все сошлось.


"проясните по wildcard bits"
Отправлено VaSh , 19-Мрт-09 16:47 
>Расскажите, как с помощью маски одной строчкой описать все нечетные хосты сети..
>

Во второй раз извините. Но нельзя так людей пугать )) Все нечетные хосты описать одной строчкой не получится ибо они не стоят вместе, а через один.



"проясните по wildcard bits"
Отправлено VaSh , 19-Мрт-09 16:53 
)))

However, any bits can be marked as "don't care". For example, a wildcard mask of 0.0.0.254 (binary equivalent = 00000000.00000000.00000000.11111110) in an ACL might accept (or deny) all even-numbered IP addresses in a specific network.


"проясните по wildcard bits"
Отправлено Nailer , 15-Дек-05 20:14 
>Привет!
>Как при помощи wildcard можно указать диапазон адресов, а не подсеть.
>Например 10.0.0.7 - 10.0.0.9
>Если с помощью wildcard  можно указывать только подсети, то в чем
>смысл wildcard и в чем отличие от обычной маски подсети?


10.0.0.7 0.0.0.2


"проясните по wildcard bits"
Отправлено stratus , 15-Дек-05 20:37 
>>Привет!
>>Как при помощи wildcard можно указать диапазон адресов, а не подсеть.
>>Например 10.0.0.7 - 10.0.0.9
>>Если с помощью wildcard  можно указывать только подсети, то в чем
>>смысл wildcard и в чем отличие от обычной маски подсети?
>
>
>10.0.0.7 0.0.0.2

задал диапазон как вы указали, в результате адрес начала диапазона изменился на 10.0.0.5,вот так:

rs-12.vl1(config)#ip access-list extended 123
rs-12.vl1(config-ext-nacl)#permit ip 10.0.0.7 0.0.0.2 any
rs-12.vl1(config-ext-nacl)#^Z
rs-12.vl1#sh ip access-lists 123
Extended IP access list 123
    10 permit ip 10.0.0.5 0.0.0.2 any
rs-12.vl1#


"проясните по wildcard bits"
Отправлено Nailer , 15-Дек-05 21:11 
>>>Привет!
>>>Как при помощи wildcard можно указать диапазон адресов, а не подсеть.
>>>Например 10.0.0.7 - 10.0.0.9
>>>Если с помощью wildcard  можно указывать только подсети, то в чем
>>>смысл wildcard и в чем отличие от обычной маски подсети?
>>
>>
>>10.0.0.7 0.0.0.2
>
>задал диапазон как вы указали, в результате адрес начала диапазона изменился на
>10.0.0.5,вот так:
>
>rs-12.vl1(config)#ip access-list extended 123
>rs-12.vl1(config-ext-nacl)#permit ip 10.0.0.7 0.0.0.2 any
>rs-12.vl1(config-ext-nacl)#^Z
>rs-12.vl1#sh ip access-lists 123
>Extended IP access list 123
>    10 permit ip 10.0.0.5 0.0.0.2 any
>rs-12.vl1#


Гм. У меня то же самое :-)

Придется вспоминать бинарную арифметику и размышлять вместе..
wildcard mask обозначает биты IP-адреса, которые должны быть проанализированы. 0 - анализируется, 1 - нет.

IP 10.0.0.7 в бинарном виде выглядит так
00001010.00000000.00000000.00000111

Если мы хотим адресовать сеть /24, то есть задать все IP из сети 10.0.0.0/24, то Wildcard mask будет выглядеть как 0.0.0.255, то есть в бинарном виде:

00001010.00000000.00000000.00000111
00000000.00000000.00000000.11111111

То есть в приходящем пакете проверяются биты адреса, которые стоят над нулями. Те, что над еденичками, не проверяются.

В чем сила wildcard mask - в том, что биты могут идти не подряд. Например, wildcard mask может выглядеть как:
00000000.00000000.00001001.10110011

Сетевая маска так выглядеть не может, так как она означает, какая часть адреса является адресом сети, какая адресом хоста. Она обязна быть непрерывной.

Теперь давайте подумаем, почему не получается задать ваш диапазон.

10.0.0.7 выглядит в бинарном виде как:
00001010.00000000.00000000.00000111

10.0.0.9 выглядит так:
00001010.00000000.00000000.00001001

С wildcard mask 0.0.0.2, которая в бинарном виде выглядит как

00000000.00000000.00000000.00000010, получается, что не надо анализировать только один бит. В получившийся диапазон попадают адреса

00001010.00000000.00000000.000001x1, то есть оканчивающиеся на 5 (101) или на 7 (111). Вот поэтому рутер и заменил 7 на 5, так как диапазон начинается на 5, это нагляднее выглядит.

Теперь подумаем, как адресовать адреса с 7 по 9.

7 в бинарном виде 0111, 9 - 1001. Соответственно, не нужно анализировать первые три бита, то есть маска будет выглядеть 1110. Но под такую маску попадут любые адреса, оканчивающиеся на xxx1, то есть:

1 (0001)
3 (0011)
5 (0101)
7 (0111)
9 (1001)
11 (1011)
13 (1101)
15 (1111)

Так что это не выход :-( Увы, придется писать две строчки..
А wildcard mask - мощный инструмент, надо только хорошо понимать принцип его работы..


"проясните по wildcard bits"
Отправлено Nailer , 15-Дек-05 21:21 
Водгонку.

3 хоста можно (и нужно, так как чем меньше строчек ACL-я рутер проверяет, тем быстрее работает) описать двумя строчками:

permit ip 10.0.0.7 0.0.0.0 any
permit ip 10.0.0.8 0.0.0.1 any

То есть удобно описывать по два, четыре, восемь хостов сразу..


"проясните по wildcard bits"
Отправлено stratus , 15-Дек-05 21:49 
>Водгонку.
>
>3 хоста можно (и нужно, так как чем меньше строчек ACL-я рутер
>проверяет, тем быстрее работает) описать двумя строчками:
>
>permit ip 10.0.0.7 0.0.0.0 any
>permit ip 10.0.0.8 0.0.0.1 any
>
>То есть удобно описывать по два, четыре, восемь хостов сразу..

Спасибо за доступное объяснение,в голове стало проясняться  :)



"проясните по wildcard bits"
Отправлено gabber , 14-Мрт-07 16:59 
>>Водгонку.
>>
>>3 хоста можно (и нужно, так как чем меньше строчек ACL-я рутер
>>проверяет, тем быстрее работает) описать двумя строчками:
>>
>>permit ip 10.0.0.7 0.0.0.0 any
>>permit ip 10.0.0.8 0.0.0.1 any
>>
>>То есть удобно описывать по два, четыре, восемь хостов сразу..
>
>Спасибо за доступное объяснение,в голове стало проясняться  :)


Вы сразу смотрите на вайлдкард маску. Четной, типо 0.0.0.2, она быть не может никак. Тоесть, простое "вычитание" из верхнего нижнее не подходит тут. Корректные значения 2^n-1, i.e. 0,1,3,7,15,31,63,127,255.
В итоге Nailer все-таки правильно разбил ;)


"проясните по wildcard bits"
Отправлено VaSh , 19-Мрт-09 17:01 
>[оверквотинг удален]
>>>
>>>То есть удобно описывать по два, четыре, восемь хостов сразу..
>>
>>Спасибо за доступное объяснение,в голове стало проясняться  :)
>
>
>Вы сразу смотрите на вайлдкард маску. Четной, типо 0.0.0.2, она быть не
>может никак. Тоесть, простое "вычитание" из верхнего нижнее не подходит тут.
>Корректные значения 2^n-1, i.e. 0,1,3,7,15,31,63,127,255.
>В итоге Nailer все-таки правильно разбил ;)

получается таки, что может ))