os:10gbps_のパケット転送
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| os:10gbps_のパケット転送 [2023/11/02 19:12] – [FIB algorithm] seirios | os:10gbps_のパケット転送 [2023/11/02 19:22] (現在) – [FIB algorithm] seirios | ||
|---|---|---|---|
| 行 22: | 行 22: | ||
| このあたりは、経路数、経路の更新頻度や通信量(経路表参照回数)に依存する部分なので、どれが良いとは一概に言えませんが、経路数が多いならば、bsearchよりRadix系を選択する方が良いことが多いと言えます。 | このあたりは、経路数、経路の更新頻度や通信量(経路表参照回数)に依存する部分なので、どれが良いとは一概に言えませんが、経路数が多いならば、bsearchよりRadix系を選択する方が良いことが多いと言えます。 | ||
| - | * Lockless: bsearch4, radix[46]_lockless, dpdk_lpm[46] | + | * Lockless: bsearch4, radix[46]_lockless |
| * Lockあり: radix[46] | * Lockあり: radix[46] | ||
| なお、FreeBSD-13.2-RELEASE 及び、FreeBSD-14.0-RELEASEでは '' | なお、FreeBSD-13.2-RELEASE 及び、FreeBSD-14.0-RELEASEでは '' | ||
| + | |||
| + | また、手元で確認した限りでは、FreeBSD-13.2以降は、IPv4 が bsearch4、IPv6ではradix6_locklessが標準となっています。 | ||
| ==== RSS (Receive Side Scaling) ==== | ==== RSS (Receive Side Scaling) ==== | ||
| 行 42: | 行 44: | ||
| 10Gbps の NIC にはほとんどの場合、TSO (TCP Segment Offload) や LRO (Large Receive Offload) の機能がついています。 | 10Gbps の NIC にはほとんどの場合、TSO (TCP Segment Offload) や LRO (Large Receive Offload) の機能がついています。 | ||
| これらは大きなデータを転送する際にパケットの分割、統合を NIC 側で行ってくれるものです。 | これらは大きなデータを転送する際にパケットの分割、統合を NIC 側で行ってくれるものです。 | ||
| - | ルータの場合は必要ないため、これらを | + | ルータとして構築する場合、TSO/LROはoffにするべきです。中継段でのパケットの再構成、分割を行うことは望ましくありません。 |
| ifconfig のオプションに '' | ifconfig のオプションに '' | ||
os/10gbps_のパケット転送.1698919953.txt.gz · 最終更新: 2023/11/02 19:12 by seirios
