diff --git a/drawings/cisco_ftd/frd_rules_any_any.puml b/drawings/cisco_ftd/frd_rules_any_any.puml new file mode 100644 index 0000000..0dc16d8 --- /dev/null +++ b/drawings/cisco_ftd/frd_rules_any_any.puml @@ -0,0 +1,73 @@ +@startuml +Title Алгоритм поиска any-any правил Cisco FTD + +!define DN destination_network +!define SN source_network +!define ACTION action +!define NOT_VALID #pink:Правило не не является any-any правилом; +!define VALID #palegreen:Правило является any-any правилом; +!define ANY_CHECK :Проверить, является ли объект предустановленным any4 или any6 объектом; + +start +:Получаем правило Cisco FTD; +:Смотрим на такие поля как: +- SN +- DN +- ACTION; +if (ACTION == либо "Allow" либо "Fast-path") then (Да) + if (SN пустое ∧ DN пустое = 1?) then (Да) + :Значит у SN и DN + стоят значение any; + VALID + end + else (Нет) + :Надо проверить, есть ли в списке\nобъектов SN и DN\nпредуставноеленные any4 и any6 объекты; + fork + :Берем SN; + if(SN пустое?) then (Да) + :SN является any; + stop + else (Нет) + :Итерируемся по списку объектов SN; + while(В списке остались объекты?) is (Да) + if (Объект является any объектом?) then (Да) + :SN является any; + stop + else (Нет) + :Взять следующий объект из списка; + endif + endwhile (Нет) + :SN не является any; + stop + endif + fork again + :Берем DN; + if(DN пустое?) then (Да) + :DN является any; + stop + else (Нет) + :Итерируемся по списку объектов DN; + while(В списке остались объекты?) is (Да) + if (Объект является any объектом?) then (Да) + :DN является any; + stop + else (Нет) + :Взять следующий объект из списка; + endif + endwhile (Нет) + :DN не является any; + stop + endif + endfork + if (SN any ∧ DN any = 1?) then (Да) + VALID + end + else (Нет) + NOT_VALID + end + endif + endif +else (Нет) + NOT_VALID; + end +endif \ No newline at end of file diff --git a/drawings/smc/smc_rc_base_scheme.puml b/drawings/smc/smc_rc_base_scheme.puml new file mode 100644 index 0000000..b9c7570 --- /dev/null +++ b/drawings/smc/smc_rc_base_scheme.puml @@ -0,0 +1,6 @@ +@startuml + +!include ./smc_components_base.puml +!include ./smc_components_separate_db.puml + +@enduml \ No newline at end of file