Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sergey Sobko - Динамические оверлейные сети: передача трафика L3 через L7 с помощью Clojure

Moscow 2600
January 04, 2019

Sergey Sobko - Динамические оверлейные сети: передача трафика L3 через L7 с помощью Clojure

Moscow 2600

January 04, 2019
Tweet

More Decks by Moscow 2600

Other Decks in Research

Transcript

  1. Динамические оверлейные сети: передача трафика L3 через L7 с помощью

    Clojure 2600, 4 января – Москва, Россия Сергей Собко
  2. About Sergey Sobko (@IwasakiRussia; GH: profitware; bug2bug.me) Руководитель группы разработки

    PT Application Firewall Преподаватель курса веб-разработки в НИУ ВШЭ
  3. Зачем L3 over L7  Посмотреть на границы применимости Clojure

     Посмотреть на сетевые пакеты изнутри  Изучить возможности различных брокеров сообщений
  4. Практическое применение  Построить свой персональный интернет (e.g., VPN, Mesh,

    Tor)  Динамическое реконфигурирование топологии сети  Заменяемость частей захвата, разбора и передачи трафика
  5. Общая схема L3 interface (TUN) Processing L7 interface (Ignite) L3

    interface (TUN) Processing L7 interface (Ignite)
  6. PCAP  PCAP как удобный формат для хранения пакетов 

    PCAP4J — биндинги для promiscuous mode и разбор пакетов  Фабрика пакетов (и подстановка через замыкание)
  7. TUN/TAP  Захват трафика через виртуальный адаптер TUN  Библиотека

    clj-linux-net (JavaLinuxNet) — JNI интерфейс к tun  В перспективе JNI/JNA-биндинги к libtuntap
  8. Брокер  RabbitMQ / ZeroMQ / etc. ?  Распределенное

    in-memory хранилище  Apache Ignite как подходящее решение
  9. Планы  Сделать обвязку для libtuntap (для кроссплатформенности)  Проверить

    возможность централизованного использования  В далекой перспективе создать production-ready решение