「ルーティング」とは、ローカル ルーティング テーブルを調べて発信パケットの送信先を決定するプロセスを意味すると思います。これは、最初にどのルーターを使用するかによって決定され、次にそのルーターに到達するためにどのインターフェイスを使用するかによって決定されます。
スタティック ルートを確立した場合でも、システムがそのルートを認識するために「ルーティング」が発生する必要があります。これは、わずか数ダースのマシン命令を使用するテーブル ルックアップで構成されます。パケットをコピーするコストと比較すると、まったく無視できます。
ソケットをネットワーク インターフェイスにバインドすることは、静的ルールをルーティング テーブルに入力することと同じではなく、ネットワーク インターフェイスはネットワーク インターフェイス コントローラー (NIC) と同じではないことに注意してください。特定のネットワーク インターフェイスへのバインドまたはルーティングの影響により、パケットが余分な回数コピーされ、かなりのオーバーヘッドが生じる可能性があるため、これはオーバーヘッドを考慮するときに重要です。
パケットが LAN 上で送信され、それを送信したのと同じコンピューターによって再読み取りされ、別の NIC を介して正しいルーターに再度送信されるというシナリオを考え出すことができます。ほとんどの場合、INADDR_ANY
(address 0.0.0.0
) にバインドし、ルーティング テーブルに最適化を処理させることで、最高のパフォーマンスが得られます。
特定のネットワーク インターフェイスへのバインドは、特定の IP アドレスが送受信に使用されるようにする必要がある場合にのみ行う必要があります。特定の NIC への静的ルーティングは、ローカル ルーティングが何らかの形で壊れていない限り、有用な結果をもたらす可能性は低いようです。そうしないと、通常のルーティング プロセスに干渉すると、オーバーヘッドが増えるリスクがあります。