前回は、大規模NATとユーザへの影響を紹介しました。今回は、大規模NATを利用するユーザが増えたときのサーバ運用者への影響例としてアクセスログの扱いの変化を紹介します。
なぜ、アクセスログの扱いが変わるのか?
大規模NATが非常に多くのISPで運用されるようになると、Webサーバ運用者もそれを前提とした運用が望まれるようになります。
まず、アクセスログの扱い方が変わると言われています。
ISPでIPv4大規模NATが運用され、Web閲覧を行うユーザのIPv4アドレスバリエーションが劇的に減ってしまいます。これは、ISPが運用する大規模NATによって、多くのユーザーが「同じIPv4アドレス」にまとめられてしまうためです。
アクセスログに記載される項目が変化する可能性があります
大規模NATが普及すると、多くの家庭が同じグローバルIPv4アドレスを利用して通信を行うようになるため、グローバルIPv4アドレスだけでは通信相手を識別できなくなるので、アクセスログにTCPなどのポート番号を記録しなければならなくなります。
何かが発生し、通信相手を特定するときにIPv4アドレスだけではなく、ポート番号も同時に提出してはじめて通信を行った契約回線を特定できるという環境へと変化します。
このように、Webサービスを提供する側では、ユーザの把握に関して細かいところで変化がありそうです。
大規模NATで使われるIPv4アドレスが一つというわけではない点に注意が必要
ただ、このとき注意が必要なのは、ISPによる大規模NATの結果としてISPからの通信が全て同じIPv4アドレスに見えるわけではない点です。NATはプライベートIPv4アドレスをグローバルIPv4アドレスへと変換する運用が行われることがほとんどですが、大規模NATの場合、グローバルIPv4アドレス側としては複数のIPv4アドレスが使われます。
これは、TCPやUDPの送信元ポートと宛先ポートのためのフィールドがそれぞれ16ビットしかなく、1つのIPv4アドレスで変換できる通信の数に限界があるためです。もちろん、通信相手が違えば同じポート番号であっても別の通信として識別可能ですが、たとえばWebであれば宛先ポート番号は80番が多くなるので、可能な組み合わせが限定されてしまう場合もあります。
さらに、1つのグローバルIPv4アドレスを使うわけではないという点から、同じユーザによる通信が同じグローバルIPv4アドレスとして行われるわけではない可能性がある点にも注意が必要です。
もちろん、同一のTCPセッションでは同一のグローバルIPv4アドレスからの通信になりますが、HTTPのように複数のTCPセッションを確立する通信の場合、大規模NATを通過したときに同じユーザからの通信全てが同じグローバルIPv4アドレスから行われるという保証がない可能性があります。そうなると、「全く同じユーザに見えるけど各通信のグローバルIPv4アドレスが微妙に違う」ということが発生します。
ユーザの導線を解析しているような場合、このような大規模NATの挙動との相性は恐らく悪い物と推測されます。
いまのところ大規模NATで良く出る話は、P2Pやアクセスログなどに関してですが、実際に普及してみるまでは、どのような運用が行われ、ユーザやサーバ管理者にどこまで影響があるのかは正確にはわからなそうです。
最後に
次回は、IANA在庫に続いて枯渇したAPNIC在庫に関する話題を書く予定です。