NAT の実装を書いています。私のアルゴリズムは次のとおりです。
- パケットが入る
- 外部の場合はルックアップ テーブルに対してチェックし、内部の場合はルックアップ テーブルに追加します
- 送信元アドレスを交換し、途中でパケットを送信します
私は Twisted について読んでいます。Twisted がマルチコア CPU を利用しているかどうかに興味がありましたか? システムに何千ものユーザーがいて、1 つのパケットが次々と来るとします。ツイストを使用すると、ルックアップ テーブル操作を各コアで同時に実行できます。いずれにせよ、スレッドでは GIL がこれを許可しないと聞いています。おそらく、マルチプロセッシングの恩恵を受けることができます>
Nginix は非同期であり、同時に何千ものユーザーに喜んでサービスを提供します。