はじめに
ネットワーク設計の時に対称性を気にしてますか?
対称ルーティングは必ずしも満たさなければならないというものではありませんがさまざまなトラブルの原因になり得ます。自分はあまり理解しておらず、作成した構成図を上司に見せて指摘されるまであまりデメリットに気づけませんでした。
本記事では対称ルーティングはなぜ良いのかについてまとめていこうと思います。
対称にしないと何が問題なの
対称ルーティングと非対称ルーティングの違い
対称ルーティングと非対称ルーティングの違いをざっくり説明するとこうなります。
- 対称ルーティング:往路と復路で同じパスを通る
- 非対称ルーティング:往路と復路で異なるパスを通る
具体的には以下のような構成が当てはまります。
- 対称ルーティング側
- 行きの通信: インターネット → Internet Gateway → NAT Gateway → EC2
- 帰りの通信: EC2 → NAT Gateway → Internet Gateway → インターネット
- 非対称ルーティング側
- 行きの通信: インターネット → Internet Gateway → EC2
- 帰りの通信: EC2 → NAT Gateway → Internet Gateway → インターネット
非対称の方では行きと帰りのルートが異なりますよね?これがルーティングの対称性の違いです。
非対称ルーティングがもたらす問題
- ステートフルインスペクション
- ファイアウォールでのセッション管理の問題
- パフォーマンスへの影響
- レイテンシーの一貫性が保たれない
- 帯域幅の非効率な使用
- トラブルシューティングの複雑化
- モニタリングポイントの増加
ここでもしかしたらステートフルインスペクションという単語が見慣れないかもしれません。
ステートフルインスペクションとは、通信のセッション管理によって、戻りの通信を動的に許可する仕組みのことです。
ファイアウォールは、LAN側から送信したデータをセッションログとして一時的に保存しておき、WAN側から受け取ったパケットがセッションログと整合性が合うか確認し、整合性が合う場合だけ通信を許可します。
そのため、行きと帰りの通信の経路が異なると、セッションログの整合性が合わず、通信ができなくなります。
終わりに
以上より非対称ルーティングは運用面で弊害を起こしやすい設計であることがわかります。
皆さんもネットワーク構成を行う際に参考にしてみてください。