Facebook открыл код инструментария для симуляции работы в проблемных сетях
Код ATC написан на языке Python и распространяется под лицензией BSD. Инструментарий состоит из двух компонентов: web-интерфейс на базе фреймворка Django для управления процессом симуляции и демон atcd, который запускается на сетевом шлюзе и вносит те или иные изменения в характер прохождения трафика. Для влияния на трафик применяются штатные механизмы ядра Linux, доступ к которым производится через API netlink, для работы с которым применяется pyroute2. Взаимодействие web-интерфейса и демона управления трафиком построено с использованием REST API и интерфейса Apache Thrift.
Для оценки влияния сетевых аномалий, достаточно обеспечить выход исследуемой системы через сетевой шлюз, на котором установлен atcd. Симуляция применяется выборочно только к участвующим в эксперименте IP-адресам, что позволяет применять ATC на обычных шлюзах, обрабатывающих реальный трафик. Для маркировки участвующих в эксперименте пакетов применяется iptables (цель MARK в таблице mangle). Урезание трафика и внесения изменений в его характер производится с использованием методов классификации трафика (filter, class, qdisc), задаваемых утилитой tc из состава пакета iproute2.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41896
|
0 | Tweet | Нравится |
|