The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

23.03.2015 23:15  Facebook открыл код инструментария для симуляции работы в проблемных сетях

Facebook представил новый открытый проект ATC (Augmented Traffic Control), предназначенный для организации тестирования приложений в условиях их применения в сетях различного качества. ATC позволяет симулировать такие ситуации, как падение пропускной способности, возникновение задержек в передаче пакетов, различные уровни потери и повреждения пакетов, нарушение порядка следования пакетов. ATC позволяет значительно упростить оценку качества работы любых сервисов и приложений в различных условиях подключения пользователя к сети, например, симулируя типовые характеристики сети 2G.

Код 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.



  1. Главная ссылка к новости (https://code.facebook.com/post...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: facebook, atc, traffic, bandwidth
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, A.Stahl (ok), 23:23, 23/03/2015 [ответить] [показать ветку] [···]     [к модератору]
  • –8 +/
    Кто Что открыл Ну и пусть P S Кому интересно, тот и так знает про старую GNU... весь текст скрыт [показать]
     
     
  • 2.3, someAlex (ok), 23:26, 23/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Так имя утилиты хотя бы приведите, раз уж заинтересовали.
     
     
  • 3.4, A.Stahl (ok), 23:41, 23/03/2015 [^] [ответить]    [к модератору]  
  • –6 +/
    Я программист. Честно - сейчас по-пьяне не вспомню. Но что-то из разряда netstat или около того. Протрезвею -- вспомню. Или кто-то из профессиональных админов напомнит.
     
     
  • 4.9, Crazy Alex (ok), 23:57, 23/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Ты не tc имел в виду? Если что - сабж - это управлялка для него.
     
     
  • 5.11, Аноним (-), 00:26, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Ха, я что то такое и подозревал! :)
     
  • 3.8, Аноним (-), 23:52, 23/03/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    Наверное, он имеет ввиду проект netem от Linux Foundation. Программа называется tc. http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
     
  • 2.23, GrammarNazist (?), 08:17, 24/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    GNU-утилиту
     
  • 1.2, Аноним (-), 23:25, 23/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    > Код ATC написан на языке Python

    Теперь я понимаю почему оно эмулирует плохую, медленную сеть. Хорошая бы все-равно на этом не получилась бы :)

     
     
  • 2.7, Crazy Alex (ok), 23:50, 23/03/2015 [^] [ответить]     [к модератору]  
  • +3 +/
    Абсолютно идеальное применение для питона Там всю раюоту делает стандартная мех... весь текст скрыт [показать]
     
     
  • 3.10, cmp (ok), 00:05, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Исповедь питониста --- именно наш питон идеально подходит для system("tc bla-bla-bla");
    да неужели.
     
     
  • 4.12, Crazy Alex (ok), 01:07, 24/03/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Хм, записать меня в питонисты - это сильно - Я, если что, большой сторонник мо... весь текст скрыт [показать]
     
     
  • 5.15, cmp (ok), 01:46, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Почти все перепробовал на роль - тривиальной управляющей логики , все фигня, пи... весь текст скрыт [показать]
     
     
  • 6.19, Аноним (-), 01:58, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Потому что you re doing it wrong, Luke Представляешь себе какой пипец будет ког... весь текст скрыт [показать]
     
     
  • 7.20, cmp (ok), 04:18, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Дык сервера есть крутые ынтерпрайзные , речь не о том что нужно реально 1000,... весь текст скрыт [показать]
     
     
  • 8.31, Аноним (-), 08:57, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    AnyEvent::Util::fork_call
     
  • 8.37, Motif (ok), 10:54, 24/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    man Erlang, однако.
     
  • 8.54, Аноним (-), 23:56, 24/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Пардон, а ничего что oom killer вызывается ядром ОС Программа в общем виде ниче... весь текст скрыт [показать]
     
     
  • 9.59, cmp (ok), 00:54, 26/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Программа нет, а программист может, еще на стадии разработки не ориентироваться ... весь текст скрыт [показать]
     
  • 6.43, Аноним (-), 13:24, 24/03/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Если тебе нужно 1000 процессов для чего-то не числодробильного да и там больше ч... весь текст скрыт [показать]
     
  • 5.22, Ilya Indigo (ok), 07:07, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    А что вы понимаете под взлётом Создание Qt-подобного фреймвёрка для него, подде... весь текст скрыт [показать]
     
     
  • 6.41, Crazy Alex (ok), 13:20, 24/03/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    О, у меня очень простой и довольно слабый критерий - хотя бы одно приложение, ст... весь текст скрыт [показать]
     
     
  • 7.55, Dmitry77 (ok), 02:19, 25/03/2015 [^] [ответить]    [к модератору]  
  • +/
    ещё хорошо бы наличие достаточного количества грамотных разработчиков на D - без этого стартовать проект на D - довольно рискованно.
     
     
  • 8.58, Crazy Alex (ok), 19:12, 25/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Ну так хорошие проекты не растут из ничего. Если хоть один взлетел и стал известен - значит, на него приходится 100 неизвестных и 1000 умерших. И, соответственно, есть люди, которые всё это писали.
     
  • 3.16, Аноним (-), 01:55, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Так я и говорю настоящий питонист придумает как из бага сделать фичу Ну или по... весь текст скрыт [показать]
     
     
  • 4.42, Crazy Alex (ok), 13:21, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Фишка в том, что для той же задачи всего другого будет полтора кило. И да, скриптовые языки примерно для этого и делались - чтобы склеить возможности ОС в удобоваримом виде.
     
  • 2.24, GrammarNazist (?), 08:17, 24/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    "всё равно"
     
  • 1.5, джавафоб (?), 23:42, 23/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Уж лучше чем на тормозной джаве
     
     
  • 2.14, Аноним (-), 01:12, 24/03/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Реал? С каких это пор питончик стал быстрее жабки?
     
  • 2.25, GrammarNazist (?), 08:18, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    "Яве"
     
     
  • 3.39, Аноним (-), 11:13, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    "Джаве"

    http://en.wiktionary.org/wiki/Java

     
     
  • 4.45, Grammar_Nazism (?), 13:27, 24/03/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Тогда не Индия, а Индиэ, ведь https://en.m.wikipedia.org/wiki/India
     
  • 2.29, Петруччо (?), 08:44, 24/03/2015 [^] [ответить]     [к модератору]  
  • –4 +/
    Джава не такая уж и тормозная Более-менее приемлимо, но если надо делать что-ни... весь текст скрыт [показать]
     
     
  • 3.32, Аноним (-), 09:12, 24/03/2015 [^] [ответить]     [к модератору]  
  • +2 +/
    Когда я начинаю пистать на Java у меня возникает ощущение что над моей работой н... весь текст скрыт [показать]
     
  • 3.35, ZiNk (ok), 10:44, 24/03/2015 [^] [ответить]     [к модератору]  
  • +/
    C - это NET и вообще-то медленнее явы судя по бенчмаркам benchmarksgame aliot... весь текст скрыт [показать]
     
  • 3.38, Grammar_Nazism (?), 11:05, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    "Ява"
     
  • 3.47, dr Equivalent (ok), 16:38, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    В методичке прочел?
     
  • 3.56, Аноним (-), 05:00, 25/03/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Сразу после того как ты перепишешь операционку на своем фетише и выставишь с рын... весь текст скрыт [показать]
     
  • 1.6, Капитан (??), 23:46, 23/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Адский велосипед сатаны!
     
  • 1.13, Crazy Alex (ok), 01:10, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не знаю, кому что не нравится. Оболочка, дающая возможность удобным образом создать сценарии и управлять ими, реальную работу делегирующая тому, что её отлично умеет делать - ядру и netem. Абсолютно правильная штука же.
     
     
  • 2.26, GrammarNazist (?), 08:19, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    "работу, делегирующую"
     
     
  • 3.33, Аноним (-), 10:22, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Плохой грамма, запятую поставил, а согласование перестал.
     
  • 3.48, Crazy Alex (ok), 17:30, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Мысленно выбрось первый причастный оборот: "Оболочка, реальную работу делегирующая тому, что её умеет делать". Неграмотный какой-то граммар наци попался...
     
  • 1.17, бедный буратино (ok), 01:57, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А симуляцию действий юзеров в соцсетях, позволяющую заменять её контингент, когда откроют? :)
     
  • 1.18, Аноним (-), 01:57, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    sudo tc qdisc add dev lo root netem delay 100ms
    sudo tc qdisc del dev lo root netem delay 100ms
     
  • 1.21, Аноним (-), 04:29, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Изобрели велосипед? В смысле dummynet из состава ipfw, который был придуман и реализован ещё 18 лет назад. Ну молодцы, чо.
     
     
  • 2.44, DeadLoco (ok), 13:26, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    +bpf +ng - это чтобы модифицировать пакеты и менять очередность доставки.
     
     
  • 3.57, Аноним (-), 05:01, 25/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Так в линухе это тоже сто лет все есть И умений tc и соотв ядерных подсистем х... весь текст скрыт [показать]
     
  • 2.49, Crazy Alex (ok), 17:33, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    БСДшникам лишь бы ipfw гду угодно увидеть. А изобрели управлялку, которая удобно конфигурирует инструменты, которые сто лет как доступны в линуксе.
     
  • 1.36, YetAnotherOnanym (ok), 10:44, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Открыли бы офис где-нибудь в российских е..нях - и площади дешевле, и тормозной канал автоматом прилагается.
     
  • 1.40, Аноним (-), 12:07, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а чо они сами ей не пользуются? в "проблемных сетях" работать с фб не возможно же - все постоянно сыпется.
     
     
  • 2.46, Grammar_Nazism (?), 13:33, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    С фэйсбуком можно работать?
    "невозможно", позорище!
     
  • 2.50, Andrey Mitrofanov (?), 18:18, 24/03/2015 [^] [ответить]    [к модератору]  
  • +/
    > а чо они сами ей не пользуются? в "проблемных сетях" работать с
    > фб не возможно же - все постоянно сыпется.

    Вот тебя они через неё и пользуют?

     
  • 1.53, Аноним (-), 18:43, 24/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Лично я для имитации "плохих каналов" пользуюсь wanulator'ом (http://wanulator.de/). В настоящее время проект, правда, заброшен, но того, что есть- с лихвой хватает
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor