eBPF
Оригинальный автор(ы) | Алексей Старовойтов, Дэниел Боркманн [1] [2] |
---|---|
Разработчик(и) | Сообщество открытого исходного кода, Meta , Google , Isoвалент, Microsoft , Netflix [1] |
Первоначальный выпуск | 2014 год [3] |
Репозиторий | Линукс: git Windows: гитхаб |
Написано в | С |
Операционная система | Линукс , Винда [4] |
Тип | Система выполнения |
Лицензия | Линукс: лицензия GPL Windows: лицензия MIT |
Веб-сайт | ebpf.io |
eBPF — это технология, позволяющая запускать программы в привилегированном контексте , например, операционной системы в ядре . [5] Он является преемником механизма фильтрации пакетов Berkeley Packet Filter (BPF, где буква «e» изначально означает «расширенный») в Linux, а также используется в несетевых частях ядра Linux.
Он используется для безопасного и эффективного расширения возможностей ядра во время выполнения без необходимости внесения изменений в исходный код ядра или загрузки модулей ядра . [6] Безопасность обеспечивается за счет встроенного в ядро средства проверки, которое выполняет статический анализ кода и отклоняет программы, которые приводят к сбою, зависанию или иным образом негативно влияют на работу ядра. [7] [8]
Эта модель проверки отличается от изолированных сред, где среда выполнения ограничена и среда выполнения не имеет информации о программе. [9] Примерами программ, которые автоматически отклоняются, являются программы без строгих гарантий выхода (т. е. циклы for/ while без условий выхода) и программы, разыменовывающие указатели без проверок безопасности. [10]
Дизайн
[ редактировать ]Загруженные программы, прошедшие проверку, либо интерпретируются в ядре , либо компилируются JIT-компиляцией для обеспечения собственной производительности выполнения. Модель выполнения управляется событиями и, за некоторыми исключениями, работает до завершения . [2] это означает, что программы могут быть прикреплены к различным точкам перехвата в ядре операционной системы и запускаться при возникновении события. Варианты использования eBPF включают (но не ограничиваются) сетевые технологии, такие как XDP , трассировки и безопасности . подсистемы [5] Учитывая, что эффективность и гибкость eBPF открывают новые возможности для решения производственных проблем, Брендан Грегг назвал eBPF «сверхспособностями Linux». [11] Линус Торвальдс сказал: «BPF на самом деле оказался очень полезным, и настоящая его сила в том, что он позволяет людям создавать специализированный код, который не включается, пока его не попросят». [12] Благодаря успеху в Linux среда выполнения eBPF была перенесена на другие операционные системы, такие как Windows . [4]
История
[ редактировать ]eBPF произошел от классического фильтра пакетов Беркли (cBPF, название, примененное задним числом). На самом базовом уровне было введено использование десяти 64-битных регистров (вместо двух 32-битных регистров для cBPF), другая семантика перехода, инструкция вызова и соответствующее соглашение о передаче регистров, новые инструкции и другая кодировка для эти инструкции. [13]
Дата | Событие |
---|---|
апрель 2011 г. | Был объединен первый внутриядерный JIT-компилятор Linux для классического фильтра пакетов Беркли. [14] |
Январь 2012 г. | Первый несетевой вариант использования классического фильтра пакетов Беркли, seccomp-bpf . [15] появился; он позволяет фильтровать системные вызовы с помощью настраиваемой политики, реализуемой с помощью инструкций BPF. |
Март 2014 г. | Дэвид С. Миллер , основной сопровождающий сетевого стека Linux, принял переработку старого встроенного в ядро интерпретатора BPF . Он был заменен интерпретатором eBPF, а ядро Linux внутренне преобразует классический BPF (cBPF) в инструкции eBPF. [16] Он был выпущен в версии 3.18 ядра Linux. [17] |
Март 2015 г. | Была объединена возможность прикреплять eBPF к kprobes в качестве первого варианта использования трассировки . [19] В том же месяце были приняты первоначальные работы по инфраструктуре для подключения eBPF к уровню управления сетевым трафиком (tc), что позволило подключить eBPF к входным, а затем и к выходным путям ядра сетевого стека, которые позже активно использовались такими проектами, как Cilium . [20] [21] [22] |
август 2015 г. | eBPF Серверная часть компилятора была объединена с версией LLVM 3.7.0. [23] |
Сентябрь 2015 г. | Брендан Грегг анонсировал набор новых инструментов трассировки на основе eBPF в качестве проекта bcc, предоставляющего интерфейс для eBPF, упрощающий написание программ. [24] |
июль 2016 г. | eBPF получил возможность подключаться к основному пути приема сетевого драйвера. Этот уровень сегодня известен как eXpress DataPath (XDP) и был добавлен как ответ на DPDK для создания быстрого пути данных, который работает в сочетании с ядром Linux, а не в обход его. [25] [26] [27] |
август 2016 г. | Первоначально Cilium был анонсирован на LinuxCon как проект, обеспечивающий быструю работу IPv6 контейнерной сети с eBPF и XDP. Сегодня Cilium используется в предложениях Kubernetes крупнейших облачных провайдеров и является одним из наиболее широко используемых CNI. [28] [22] [29] |
ноябрь 2016 г. | Netronome добавила разгрузку программ eBPF для уровня XDP и tc BPF на свой сетевой адаптер. [30] |
май 2017 г. | Meta Балансировщик нагрузки 4-го уровня , Katran, запущен в эксплуатацию. С тех пор каждый пакет, направленный на facebook.com, обрабатывался eBPF и XDP. [31] |
ноябрь 2017 г. | eBPF становится собственной подсистемой ядра, чтобы упростить постоянно растущее управление исправлениями ядра. От сопровождающих eBPF был отправлен первый запрос на включение. [32] |
Сентябрь 2017 г. | Bpftool был добавлен в ядро Linux как утилита пользовательского пространства для анализа подсистемы eBPF. [33] |
январь 2018 г. | Было опубликовано новое семейство сокетов под названием AF_XDP, обеспечивающее высокопроизводительную обработку пакетов с семантикой нулевого копирования на уровне XDP. [34] Сегодня DPDK имеет официальную поддержку драйвера режима опроса AF_XDP. [35] |
февраль 2018 г. | Опубликован прототип bpfilter, позволяющий переводить подмножество наборов правил iptables в eBPF с помощью недавно разработанного драйвера пользовательского режима. Работа вызвала разногласия из-за продолжающихся усилий по разработке nftables и не была объединена с основной веткой. [36] [37] |
Октябрь 2018 г. | анонсировал новый инструмент bpftrace Брендан Грегг как DTrace 2.0 для Linux. [38] |
ноябрь 2018 г. | была добавлена интроспекция eBPF Для kTLS , чтобы поддержать возможность применения политики TLS внутри ядра. [39] |
ноябрь 2018 г. | BTF (формат типа BPF) был добавлен в ядро Linux как эффективный формат метаданных, размер которого примерно в 100 раз меньше, чем DWARF . [40] |
декабрь 2019 г. | Была выпущена первая 880-страничная книга по BPF, написанная Бренданом Греггом. [41] |
март 2020 г. | Google внедрил поддержку BPF LSM в ядро Linux, позволяя программировать модули безопасности Linux (LSM) через eBPF. [42] |
сентябрь 2020 г. | Серверная часть компилятора eBPF для GNU Compiler Collection (GCC) была объединена. [43] |
июль 2022 г. | Microsoft выпустила eBPF для Windows, который запускает код в ядре NT. [4] |
Брендинг
[ редактировать ]Псевдоним eBPF часто используется как синоним BPF. [2] [44] например, сообществом ядра Linux. eBPF и BPF упоминаются как название технологии, например LLVM . [2] eBPF произошел от фильтра пакетов Беркли как расширенная версия, но, поскольку варианты его использования вышли за рамки сетевых технологий, сегодня «eBPF» предпочтительно интерпретируется как псевдоаббревиатура . [2]
Пчела — официальный логотип eBPF. На первом саммите eBPF было проведено голосование, и талисман пчелы был назван «eBee». [45] [46] Логотип изначально создал Вадим Щеколдин. [46] Ранее неофициальные талисманы eBPF существовали и раньше. [47] но не получил широкого распространения.
Управление
[ редактировать ]Фонд eBPF был создан в августе 2021 года с целью расширить вклад в расширение мощных возможностей eBPF и выйти за рамки Linux. [1] В число учредителей входят Meta , Google , Isoвалент, Microsoft и Netflix . Цель состоит в том, чтобы собрать, составить бюджет и потратить средства на поддержку различных проектов с открытым исходным кодом, открытыми данными и/или открытыми стандартами, относящимися к технологиям eBPF. [48] для дальнейшего стимулирования роста и внедрения экосистемы eBPF. С момента создания к нам также присоединились Red Hat , Huawei , Crowdstrike , Tigera, DaoCloud, Datoms, FutureWei. [49]
Принятие
[ редактировать ]eBPF был принят рядом крупных производственных пользователей, например:
- Meta использует eBPF через свой балансировщик нагрузки Katran уровня 4 для всего трафика, идущего на facebook.com. [50] [51] [52] [31]
- Google использует eBPF в GKE , разработал и использует BPF LSM для замены аудита, а также использует eBPF для работы в сети. [29] [53] [54] [55]
- Cloudflare использует eBPF для балансировки нагрузки, защиты от DDoS и обеспечения безопасности. [56] [57] [58] [59] [60]
- Netflix за всей сетью использует eBPF для наблюдения и диагностики производительности [61] [62]
- Dropbox использует eBPF через Katran для балансировки нагрузки на уровне 4. [63]
- Android использует eBPF для NAT46 и мониторинга трафика [64] [65] [66]
- Samsung Galaxy использует eBPF для сетевых решений [67]
- Yahoo! Inc использует eBPF через Cilium для балансировки нагрузки на уровне 4 [68]
- LinkedIn использует eBPF для наблюдения за инфраструктурой [69]
- Alibaba использует eBPF для Kubernetes балансировки нагрузки подов [70]
- Datadog использует eBPF для сети Kubernetes Pod и обеспечения безопасности [71] [72] [73]
- Trip.com использует eBPF для сети Kubernetes Pod [74] [75]
- Shopify использует eBPF для обнаружения вторжений через Falco [76]
- DoorDash использует eBPF через BPFAgent для мониторинга на уровне ядра. [77]
- Microsoft портировала eBPF и XDP на Windows [78] [79] [80]
- Seznam использует eBPF через Cilium для балансировки нагрузки на уровне 4. [81]
- DigitalOcean использует eBPF и XDP для ограничения доступа к внутренним сервисам в своей виртуальной сети. [82]
- CapitalOne использует eBPF для сети Kubernetes Pod [83]
- Bell Canada использует eBPF для модерации телекоммуникационных сетей с помощью SRv6 [84]
- Elastic_NV использует eBPF для профилирования кода в рамках своего предложения по наблюдаемости. [85]
- Apple использует eBPF для безопасности Kubernetes Pod [86]
- Sky использует eBPF для сети Kubernetes Pod [87]
- Walmart использует eBPF для балансировки нагрузки уровня 4 [88] [89]
- Huawei использует eBPF через свою систему безопасной загрузки DIGLIM. [90]
- Ikea использует eBPF для сети Kubernetes Pod [91]
- The New York Times использует eBPF для нетворкинга [92]
- Red Hat использует eBPF в масштабе для балансировки нагрузки и отслеживания в своем частном облаке.
- Palantir Technologies использует eBPF для устранения сетевых проблем в крупномасштабных кластерах Kubernetes. [93]
Безопасность
[ редактировать ]Благодаря простоте программирования eBPF использовался в качестве инструмента для реализации микроархитектурных атак по побочным каналам, таких как Spectre, против уязвимых микропроцессоров . [94] В то время как непривилегированный eBPF реализовал меры защиты от атак временного выполнения, [95] непривилегированное использование в конечном итоге было отключено сообществом ядра по умолчанию, чтобы защитить от использования в будущем уязвимости оборудования. [96]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с «Meta, Google, Isoвалент, Microsoft и Netflix запускают eBPF Foundation как часть Linux Foundation» . Фонд Linux . 12 августа 2021 г. Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б с д и «Внутренности БПФ» . Конференция USENIX LISA 2021 . 1 июня 2021 г. Проверено 1 июля 2022 г.
- ^ «eBPF и Kubernetes: маленькие помощники для масштабирования микросервисов» . CNCF KubeCon + CloudNativeCon Europe 2020 . 19 августа 2020 г. Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б с «Как заставить eBPF работать в Windows» . Microsoft Блог с открытым исходным кодом . 10 мая 2021 г. Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б «Документация eBPF: что такое eBPF?» . eBPF.io. Проверено 1 июля 2022 г.
- ^ «eBPF — переосмысление ядра Linux» . ККон 2020 . Проверено 1 июля 2022 г.
- ^ «Безопасные программы Фонда БНФ» . Саммит eBPF 2021 . 8 ноября 2020 г. Проверено 1 июля 2022 г.
- ^ «BPF и Spectre: смягчение атак временного выполнения» . Конференция ПОПЛ 2022 . 22 января 2022 г. Проверено 1 июля 2022 г.
- ^ «eBPF — революция бесшумной платформы от Cloud Native» (PDF) . SIGCOMM 2023, 1-й семинар по eBPF и расширениям ядра . 10 сентября 2023 г. Проверено 5 октября 2023 г.
- ^ Хедам, Никлас (26 мая 2023 г.). «eBPF — с точки зрения программиста» (PDF) . дои : 10.13140/RG.2.2.33688.11529/4 .
- ^ «Суперсилы Linux BPF» . Брендана Грегга Блог . 5 марта 2016 года . Проверено 1 июля 2022 г.
- ^ «Линус Торвальдс говорит о возвращении к работе над Linux» . zdnet Интервью с Линусом Торвальдсом . 23 октября 2018 года . Проверено 1 июля 2022 г.
- ^ «Классический BPF против eBPF» . ЛВН . Март 2014 года . Проверено 6 января 2023 г.
- ^ «net: filter: Компилятор Just In Time» . lore.kernel.org . Апрель 2011 года . Проверено 1 июля 2022 г.
- ^ «Еще один новый подход к seccomp» . ЛВН . 1 января 2012 года . Проверено 1 июля 2022 г.
- ^ «Обновления БПФ» . lore.kernel.org . Март 2014 года . Проверено 1 июля 2022 г.
- ^ «Ядро Linux 3.18, раздел 1.3. Системный вызов bpf() для программ виртуальной машины eBFP» . kernelnewbies.org . 7 декабря 2014 года . Проверено 6 сентября 2019 г.
- ^ «С днем рождения БПФ!» . lore.kernel.org . Сентябрь 2014 года . Проверено 1 июля 2022 г.
- ^ «трассировка: прикрепите программы eBPF к kprobes» . lore.kernel.org . Март 2015 года . Проверено 1 июля 2022 г.
- ^ «Поддержка eBPF для cls_bpf» . lore.kernel.org . Март 2015 года . Проверено 1 июля 2022 г.
- ^ «net, sched: добавить qdisc clsact» . lore.kernel.org . Январь 2016 года . Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б «Сеть на основе eBPF, наблюдаемость, безопасность» . cilium.io . Январь 2016 года . Проверено 1 июля 2022 г.
- ^ «Примечания к выпуску LLVM 3.7» . Releases.llvm.org . Август 2015 года . Проверено 1 июля 2022 г.
- ^ «bcc: Укрощение Linux 4.3+ и поиск сверхспособностей» . brendangregg.com . Сентябрь 2015 года . Проверено 1 июля 2022 г.
- ^ «Добавить драйвер bpf для раннего отбрасывания и пересылки пакетов» . lore.kernel.org . июль 2016 года . Проверено 1 июля 2022 г.
- ^ «eCHO, эпизод 9: XDP и балансировка нагрузки» . youtube.com . Июнь 2021 года . Проверено 1 июля 2022 г.
- ^ Хойланд-Йоргенсен, Токе; Брауэр, Джеспер Дангаард; Боркманн, Дэниел; Фастабенд, Джон; Герберт, Том; Ахерн, Дэвид; Миллер, Дэвид (декабрь 2018 г.). «Путь данных eXpress: быстрая программируемая обработка пакетов в ядре операционной системы». Материалы 14-й Международной конференции по новым сетевым экспериментам и технологиям . стр. 54–66. дои : 10.1145/3281411.3281443 . ISBN 9781450360807 . S2CID 53779310 .
- ^ «Cilium — быстрая контейнерная сеть IPv6 с BPF и XDP» . SlideShare.net . Август 2016 года . Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б «Новый GKE Dataplane V2 повышает безопасность и прозрачность контейнеров» . Cloud.google.com . Май 2021 года . Проверено 16 августа 2022 г.
- ^ «Реконфигурация кольца nfp и поддержка XDP» . lore.kernel.org . Ноябрь 2016 года . Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б «XDP 1,5 года в производстве. Эволюция и извлеченные уроки» . lpc.events . Ноябрь 2018 года . Проверено 16 августа 2022 г.
- ^ "pull-request: bpf 2017-11-23" . lore.kernel.org . Ноябрь 2017 года . Проверено 1 июля 2022 г.
- ^ «инструменты: добавить bpftool» . lore.kernel.org . Сентябрь 2017 года . Проверено 1 июля 2022 г.
- ^ «Представляем поддержку AF_XDP» . lore.kernel.org . Январь 2018 года . Проверено 1 июля 2022 г.
- ^ «Драйвер режима опроса AF_XDP» . doc.dpdk.org . Август 2022 года . Проверено 16 августа 2022 г.
- ^ «BPF приходит в межсетевые экраны» . lwn.net . февраль 2018 года . Проверено 1 июля 2022 г.
- ^ «Почему сообщество ядра заменяет iptables на BPF?» . cilium.io . Апрель 2018 года . Проверено 1 июля 2022 г.
- ^ «bpftrace (DTrace 2.0) для Linux 2018» . brendangregg.com . Октябрь 2018 года . Проверено 16 августа 2022 г.
- ^ «Объединение kTLS и BPF для самоанализа и обеспечения соблюдения политик» (PDF) . vger.kernel.org . Ноябрь 2018 года . Проверено 1 июля 2022 г.
- ^ «Дедупликация BTF и BTF ядра Linux» . nakryiko.com . Ноябрь 2018 года . Проверено 1 июля 2022 г.
- ^ «Инструменты производительности BPF (книга)» . brendangregg.com . декабрь 2019 года . Проверено 16 августа 2022 г.
- ^ «MAC и политика аудита с использованием eBPF (KRSI)» . lore.kernel.org . Март 2020 года . Проверено 16 августа 2022 г.
- ^ «БПФ в Персидском заливе» . lwn.net . Сентябрь 2020 года . Проверено 16 августа 2022 г.
- ^ Брендан Грегг (декабрь 2019 г.). Инструменты производительности BPF . Аддисон-Уэсли. ISBN 978-0136554820 .
- ^ «Саммит eBPF, день второй» . cilium.io . Октябрь 2020 года . Проверено 1 июля 2022 г.
- ^ Перейти обратно: а б «Как зовут пчелу?» . ebpf.io. Проверено 1 июля 2022 г.
- ^ «eBPF: один маленький шаг» . Блог Брендана Грегга . Май 2015 года . Проверено 1 июля 2022 г.
- ^ «Устав Фонда eBPF» . ebpf.foundation . Июнь 2021 года . Проверено 16 августа 2022 г.
- ^ «Управление Фондом eBPF» . ebpf.foundation . Август 2022 года . Проверено 16 августа 2022 г.
- ^ «Катран с открытым исходным кодом, масштабируемый балансировщик сетевой нагрузки» . фб.ком . Май 2018 года . Проверено 16 августа 2022 г.
- ^ «БПФ в Facebook» . youtube.com . декабрь 2019 года . Проверено 16 августа 2022 г.
- ^ «От XDP к сокету» . lpc.events . Сентябрь 2021 года . Проверено 16 августа 2022 г.
- ^ «eCHO, эпизод 29: BPF LSM с К.П. Сингхом» . youtube.com . Ноябрь 2021 года . Проверено 16 августа 2022 г.
- ^ «Аудит безопасности BPF в Google — Брендан Джекман/КП Сингх» . youtube.com . Ноябрь 2021 года . Проверено 16 августа 2022 г.
- ^ «Замена ХТБ на ЭДТ и БПФ» . netdevconf.info . июль 2020 года . Проверено 16 августа 2022 г.
- ^ «Архитектура Cloudflare и как BPF пожирает мир» . blog.cloudflare.com . Май 2019 года . Проверено 16 августа 2022 г.
- ^ «Здесь тесно!» . blog.cloudflare.com . Октябрь 2019 года . Проверено 16 августа 2022 г.
- ^ «Готовый к производству eBPF, или как мы исправили API сокетов BSD» . blog.cloudflare.com . февраль 2022 года . Проверено 16 августа 2022 г.
- ^ «Живое исправление уязвимостей безопасности внутри ядра Linux с помощью модуля безопасности Linux eBPF» . blog.cloudflare.com . Июнь 2022 года . Проверено 16 августа 2022 г.
- ^ «Unimog — периферийный балансировщик нагрузки Cloudflare» . blog.cloudflare.com . Сентябрь 2020 года . Проверено 16 августа 2022 г.
- ^ «Как Netflix использует журналы потоков eBPF в масштабе для анализа сети» . netflixtechblog.com . Июнь 2021 года . Проверено 16 августа 2022 г.
- ^ «Расширение Vector с помощью eBPF для проверки производительности хоста и контейнера» . netflixtechblog.com . февраль 2019 года . Проверено 16 августа 2022 г.
- ^ «Инфраструктура трафика Dropbox: пограничная сеть» . dropbox.tech . Октябрь 2018 года . Проверено 16 августа 2022 г.
- ^ «Мониторинг трафика eBPF» . источник.android.com . Август 2022 года . Проверено 16 августа 2022 г.
- ^ «Расширение ядра с помощью eBPF» . источник.android.com . Август 2022 года . Проверено 16 августа 2022 г.
- ^ «Трансляция NAT46 с помощью BPF» . lore.kernel.org . Апрель 2022 года . Проверено 16 августа 2022 г.
- ^ «BPF для Android: как мы используем BPF для наших сетевых решений — Мадхан Радж Канагаратинам» . www.youtube.com . Февраль 2024 года . Проверено 19 февраля 2022 г.
- ^ Программное обеспечение для балансировки нагрузки L4 для служб Kubernetes на Yahoo! – Картикеян Тангарадж, Verizon Media , получено 3 февраля 2024 г.
- ^ «Skyfall: агент eBPF для наблюдения за инфраструктурой» . www.linkedin.com . Проверено 3 февраля 2024 г.
- ^ «Как Alibaba Cloud создает высокопроизводительные облачные сети Pod в производственных средах?» . Alibabacloud.com . Сентябрь 2020 года . Проверено 16 августа 2022 г.
- ^ «Datadog на eBPF» . datadogon.datadoghq.com . февраль 2021 года . Проверено 16 августа 2022 г.
- ^ «Мониторинг безопасности во время выполнения с помощью eBPF» (PDF) . sstic.org . февраль 2021 года . Проверено 16 августа 2022 г.
- ^ «Наше путешествие по eBPF в Datadog — Лоран Бернай и Табита Сейбл, Datadog» . youtube.com . Ноябрь 2020 года . Проверено 16 августа 2022 г.
- ^ «История пользователя — как Trip.com использует Cilium» . cilium.io . февраль 2020 года . Проверено 16 августа 2022 г.
- ^ «Trip.com: шаг в эру облачных сетей с Cilium+BGP» . arthurchiao.art . Ноябрь 2020 года . Проверено 16 августа 2022 г.
- ^ Основной доклад: Обнаружение вторжений с открытым исходным кодом для контейнеров в Shopify — Шейн Лоуренс и Крис Нова , получено 9 февраля 2024 г.
- ^ Роджерс, Патрик (15 августа 2023 г.). «BPFAgent: eBPF для мониторинга в DoorDash — инженерный блог DoorDash» . Инженерный блог DoorDash . Проверено 9 февраля 2024 г.
- ^ «Как заставить eBPF работать в Windows» . Cloudblogs.microsoft.com . Май 2021 года . Проверено 16 августа 2022 г.
- ^ «Запуск программ eBPF на базе Linux с eBPF для Windows» . Cloudblogs.microsoft.com . февраль 2022 года . Проверено 16 августа 2022 г.
- ^ «Прогресс в обеспечении работы eBPF в Windows» . Cloudblogs.microsoft.com . Ноябрь 2019 года . Проверено 16 августа 2022 г.
- ^ «Автономный балансировщик нагрузки Cilium уровня 4 XDP» . cilium.io . июль 2022 года . Проверено 16 августа 2022 г.
- ^ Ограничение скорости доступа к внутренним сервисам в виртуальной сети — Ник Булиан, DigitalOcean , получено 4 февраля 2024 г.
- ^ «Создание безопасного и удобного в обслуживании PaaS — Брэдли Уитфилд, Capital One» . youtube.com . Ноябрь 2020 года . Проверено 16 августа 2022 г.
- ^ Почему eBPF меняет сетевое пространство телекоммуникационных компаний - Дэниел Бернье, Bell Canada , получено 9 февраля 2024 г.
- ^ Elastic Universal Profiling , получено 26 февраля 2024 г.
- ^ «Подумайте о eBPF для мониторинга безопасности ядра — Falco из Apple — Эрик Сейдж и Мелисса Килби, Apple» . youtube.com . Октябрь 2021 года . Проверено 16 августа 2022 г.
- ^ «eBPF и Cilium at Sky – Себастьян Дафф, Энтони Комтуа, Жозеф [так в оригинале] Сэмюэл, Sky» . youtube.com . Август 2021 года . Проверено 16 августа 2022 г.
- ^ «Запуск и организация нескольких программ XDP и TC – Брайан Меррелл, Walmart» . youtube.com . Август 2021 года . Проверено 16 августа 2022 г.
- ^ «Высокопроизводительная балансировка нагрузки @Walmart – Канти Павулури и Каран Далал, Walmart» . youtube.com . Август 2021 года . Проверено 16 августа 2022 г.
- ^ «DIGLIM eBPF: безопасная загрузка на уровне приложения с минимальными изменениями в дистрибутивах — Роберто Сассу» . youtube.com . Август 2022 года . Проверено 16 августа 2022 г.
- ^ «Частное облако IKEA, сеть на основе eBPF, балансировка нагрузки и наблюдаемость с... Карстеном Нильсеном» . youtube.com . Май 2022 года . Проверено 16 августа 2022 г.
- ^ Панельная дискуссия: Действительно ли за всей этой шумихой стоит какой-то байт? eBPF в производстве! , получено 9 февраля 2024 г.
- ^ Использование трассировки пользовательского пространства для решения проблем DNS — Андрюс Грабаускас, Palantir , получено 9 февраля 2024 г.
- ^ «Чтение привилегированной памяти по побочному каналу» . googleprojectzero.blogspot.com . 3 января 2018 года . Проверено 16 августа 2022 г.
- ^ «BPF и Spectre: смягчение атак временного выполнения» . popl22.sigplan.org . Проверено 16 августа 2022 г.
- ^ «bpf: по умолчанию запретить непривилегированный bpf» . ядро.org . Проверено 16 августа 2022 г.
Дальнейшее чтение
[ редактировать ]- Грегг, Брендан (декабрь 2019 г.). Инструменты производительности BPF . Аддисон-Уэсли. ISBN 978-0136554820 .
- Дэвид Калавера, Лоренцо Фонтана (декабрь 2019 г.). Наблюдение за Linux с помощью BPF . О'Рейли Медиа, Инкорпорейтед. ISBN 978-1492050209 .
- Грегг, Брендан (декабрь 2020 г.). Производительность систем, второе издание . ISBN 978-0136820154 .
- Райс, Лиз (апрель 2022 г.). Что такое eBPF? . ISBN 978-1492097259 .
- Райс, Лиз (апрель 2023 г.). Изучение eBPF: программирование ядра Linux для улучшения наблюдения, работы в сети и безопасности . О'Рейли Медиа. ISBN 978-1098135126 .