HackerNews

Linuxネットワーキングスタックから脱出する方法

How to escape the Linux networking stack

https://blog.cloudflare.com/so-long-and-thanks-for-all-the-fish-how-to-escape-the-linux-networking-stack/


この記事では、Linuxネットワーキングスタックの限界を超えて、特にCloudflareにおけるソフトユニキャスト技術の活用方法について解説しています。ソフトユニキャストは、IPアドレスを複数のマシン間で共有する手法であり、これを実現するには複雑なIPパケットの処理が必要です。著者は、iptablesやネットワークデバイスの数が膨大になることを避けるために、専用のサービス「SLATFATF」(通称「fish」)を開発しました。このサービスは、ソフトユニキャストアドレススペースを使用してIPパケットをプロキシし、そのアドレスのリースを管理します。記事では、サービスの展開中に発生したLinuxのソケットサブシステムとNetfilterの相互作用や、同じポートにバインドしようとした際の衝突の問題についても触れています。最終的に、これらの工夫により、効率的に接続を管理する方法を見出していく過程が紹介されています。