Протоколы Internet


Язык описания маршрутной политики RPSL - часть 25


Семантика для оператора except имеет вид. Результатом операции исключения является еще один член <import-term>. Результирующий набор политики содержит описание политики правой стороны, но его фильтры модифицированы так, что остаются только маршруты, соответствующие левой стороне. Политика левой стороны, в конце концов, включается, а ее фильтры модифицируются так, чтобы исключить маршруты, соответствующие левой стороне. Заметим, что фильтры модифицированы во время этого процесса, но действия скопированы один к одному. При нескольких уровнях вложения операции (принять или уточнить) выполняются справа налево.

Рассмотрим следующий пример:

import:

from AS1 action pref = 1;

accept as-foo;

except

{

from AS2 action pref = 2;

accept AS226;

except

{

from AS3 action pref = 3;

accept {128.9.0.0/16};

}

}

где маршрут 128.9.0.0/16 порождается AS226, а AS226 является членом набора AS as-foo. В этом примере, маршрут 128.9.0.0/16 воспринят от AS3, любой другой маршрут (не 128.9.0.0/16) порожденный AS226 воспринимается от AS2, и любые другие маршруты AS из as-foo получены от AS1. Можно прийти к тому же заключению, используя алгебраические выкладки, определенные выше. Рассмотрим спецификацию внутреннего исключения:

from AS2 action pref = 2; accept AS226;

except { from AS3 action pref = 3; accept {128.9.0.0/16};}

Эквивалентно

{ from AS3 action pref = 3; accept AS226 AND {128.9.0.0/16};

from AS2 action pref = 2; accept AS226 AND NOT {128.9.0.0/16};}

Следовательно, исходное выражение эквивалентно:

import:

from AS1 action pref = 1; accept as-foo;

except { from AS3 action pref = 3; accept AS226 AND {128.9.0.0/16};

from AS2 action pref = 2; accept AS226 AND NOT {128.9.0.0/16}; }

который эквивалентен

import:

{ from AS3 action pref = 3;

accept as-foo AND AS226 AND {128.9.0.0/16};

from AS2 action pref = 2;

accept as-foo AND AS226 AND NOT {128.9.0.0/16};

from AS1 action pref = 1;

accept as-foo AND NOT

(AS226 AND NOT {128.9.0.0/16} OR AS226 AND {128.9.0.0/16}); }




Начало  Назад  Вперед



Книжный магазин