Skip to content

Cilium eBPF クイズ

対応バージョン: Cilium 1.17, Linux Kernel 4.19+ 最終更新: February 22, 2026

eBPF の基本概念

  1. eBPF は何の略ですか?

    • A) Extended Berkeley Packet Filter
    • B) Enhanced Berkeley Process Filter
    • C) Extended Binary Processing Framework
    • D) Enhanced Backend Processing Function
    回答を表示

    回答: A) Extended Berkeley Packet Filter

    解説: eBPF は Extended Berkeley Packet Filter の略であり、元の BPF 技術を拡張したものです。

  2. eBPF プログラムはどこで実行されますか?

    • A) User Space
    • B) Kernel Space
    • C) Hypervisor
    • D) Container Runtime
    回答を表示

    回答: B) Kernel Space

    解説: eBPF プログラムは Linux kernel 内で安全に実行されます。

  3. eBPF プログラムの安全性を確保するメカニズムは何ですか?

    • A) Sandbox
    • B) Virtual Machine
    • C) Static Verifier
    • D) Containerization
    回答を表示

    回答: C) Static Verifier

    解説: eBPF verifier は、無限ループや kernel crash を防ぐために、ロード前にプログラムの安全性を検証します。

  4. eBPF プログラムがアタッチできる kernel event は何と呼ばれますか?

    • A) Triggers
    • B) Hooks
    • C) Event Listeners
    • D) Callbacks
    回答を表示

    回答: B) Hooks

    解説: eBPF プログラムは kernel 内のさまざまな hook point にアタッチされ、event が発生すると実行されます。

  5. eBPF プログラムと user space application 間でデータを共有するために使用されるものは何ですか?

    • A) Shared Memory
    • B) Pipes
    • C) BPF Maps
    • D) Sockets
    回答を表示

    回答: C) BPF Maps

    解説: BPF Maps は、eBPF プログラムと user space application 間でデータを共有するために使用される key-value store です。

eBPF と Cilium

  1. Cilium が eBPF を使用する主な理由は何ですか?

    • A) kernel module なしで networking feature を実装すること
    • B) より優れた user interface を提供すること
    • C) より少ない memory を使用すること
    • D) より簡単な installation process
    回答を表示

    回答: A) kernel module なしで networking feature を実装すること

    解説: Cilium は eBPF を使用して、kernel module なしで高性能な networking、load balancing、security policy、その他の機能を実装します。

  2. Cilium で eBPF を使用して実装されていない機能はどれですか?

    • A) Network policy enforcement
    • B) Service load balancing
    • C) Network packet encryption
    • D) User authentication
    回答を表示

    回答: D) User authentication

    解説: Cilium は eBPF を使用して Network policy enforcement、Service load balancing、network packet processing を実装しますが、User authentication は通常、他の system で処理されます。

  3. Cilium は kube-proxy を置き換えるためにどの eBPF 機能を使用しますか?

    • A) XDP (eXpress Data Path)
    • B) TC (Traffic Control) BPF
    • C) Socket BPF
    • D) Tracing BPF
    回答を表示

    回答: B) TC (Traffic Control) BPF

    解説: Cilium は主に TC (Traffic Control) BPF プログラムを使用して、kube-proxy の Service load balancing 機能を置き換えます。

  4. Cilium の eBPF ベースの load balancing が kube-proxy より優れている理由は何ですか?

    • A) より多くの Service type をサポートする
    • B) より優れた user interface
    • C) より低い latency とより高い throughput
    • D) より簡単な configuration
    回答を表示

    回答: C) より低い latency とより高い throughput

    解説: Cilium の eBPF ベースの load balancing は Kernel Space で packet を直接処理するため、より低い latency とより高い throughput を実現します。

  5. Cilium で eBPF を使用して収集されない metric はどれですか?

    • A) Network connection status
    • B) Packet drop reasons
    • C) Service response time
    • D) User login time
    回答を表示

    回答: D) User login time

    解説: Cilium は eBPF を使用して Network connection status、packet drop reason、Service response time などの network 関連の metric を収集しますが、User login time のような application-level metric は収集しません。

eBPF プログラミング

  1. eBPF プログラムの作成に主に使用される言語は何ですか?

    • A) Python
    • B) Go
    • C) C
    • D) Rust
    回答を表示

    回答: C) C

    解説: eBPF プログラムは主に C で記述され、LLVM compiler を使用して eBPF bytecode にコンパイルされます。

  2. eBPF プログラムを開発するための framework ではないものはどれですか?

    • A) BCC (BPF Compiler Collection)
    • B) libbpf
    • C) bpftrace
    • D) libpcap
    回答を表示

    回答: D) libpcap

    解説: libpcap は packet capture library であり、eBPF program development の framework ではありません。BCC、libbpf、bpftrace はすべて eBPF プログラムを開発するための framework です。

  3. eBPF map の type ではないものはどれですか?

    • A) Hash Map
    • B) Array Map
    • C) LRU Map
    • D) Graph Map
    回答を表示

    回答: D) Graph Map

    解説: eBPF は hash map、array map、LRU map を含むさまざまな type の map をサポートしていますが、graph map はサポートしていません。

  4. eBPF プログラム内の instruction の最大数はいくつですか?

    • A) 1,000
    • B) 4,096
    • C) 10,000
    • D) Unlimited
    回答を表示

    回答: B) 4,096

    解説: eBPF プログラムは最大 4,096 個の instruction に制限されています。これは安全性を確保するための制限です。

  5. eBPF プログラムを kernel にロードするために使用される system call は何ですか?

    • A) bpf()
    • B) ebpf()
    • C) sysfs()
    • D) ioctl()
    回答を表示

    回答: A) bpf()

    解説: bpf() system call は、eBPF プログラムを kernel にロードし、eBPF map を作成およびアクセスするために使用されます。

eBPF のパフォーマンスとモニタリング

  1. XDP (eXpress Data Path) が提供する主な利点は何ですか?

    • A) より優れた security
    • B) より簡単な programming
    • C) より低い latency
    • D) より高い compatibility
    回答を表示

    回答: C) より低い latency

    解説: XDP は network driver level で packet を処理し、kernel networking stack をバイパスして非常に低い latency を実現します。

  2. Cilium で eBPF プログラムの performance をモニタリングするために使用される tool は何ですか?

    • A) top
    • B) bpftool
    • C) htop
    • D) iotop
    回答を表示

    回答: B) bpftool

    解説: bpftool は eBPF プログラムと map の検査および管理に使用される tool であり、performance monitoring にも使用されます。

  3. Cilium の eBPF ベースの network monitoring tool は何ですか?

    • A) Prometheus
    • B) Hubble
    • C) Grafana
    • D) Jaeger
    回答を表示

    回答: B) Hubble

    解説: Hubble は、network flow を real-time で観測および分析できる Cilium の eBPF ベースの network monitoring tool です。

  4. eBPF プログラムの performance bottleneck を見つけるために使用される tool は何ですか?

    • A) strace
    • B) ltrace
    • C) perf
    • D) gdb
    回答を表示

    回答: C) perf

    解説: perf は、eBPF プログラムの performance bottleneck を見つけるために使用される Linux performance analysis tool です。

  5. Cilium で eBPF プログラムを debugging するために使用される command は何ですか?

    • A) cilium bpf
    • B) cilium debug
    • C) cilium monitor
    • D) cilium trace
    回答を表示

    回答: A) `cilium bpf`

    解説: `cilium bpf` command は、Cilium の eBPF プログラムと map を検査および debugging するために使用されます。