ネットワークに割り当てられたIPアドレスは基本的に一意なもので変わらないものであるが、IPv4アドレスの枯渇問題により、IPアドレス節約のためにアドレスを変換することが一般的になった。

インターネットなど外部と通信する際に使われるグローバルIPアドレスと、社内LANなど内部でしか使用できないプライベートIPアドレスがアドレス変換の代表的な例である。

プライベートIPをグローバルIPに(またはグローバルIPをプライベートIPに)変換するための技術として、次のものが挙げられる。

NAT(Network Address Translation)

主にルーターに搭載されている機能だが、プライベートIPが割り当てられたコンピューターがインターネット上のWebサーバーにアクセスしようとした時に、ルーターが保持するグローバルIPに変換してリクエストを送信する。

また、Webサーバーはルーターが持つグローバルIPにレスポンスを返し、ルーターが受け取ったレスポンスデータを、プライベートIPに変換したコンピューターを宛先として送信する。

この仕組みをNATといい、LAN内のコンピューターとインターネット間の通信を実現させている。

ただしNATは、プライベートIPとグローバルIPの変換が1対1で行われるので、複数のコンピューターで同時にNATを利用することができない。

NAPT(Network Address Port Translation)

NAPTはIPアドレスだけでなく、ポート番号も合わせて変換する仕組みだ。

一つのIPアドレスに対して、異なるポート番号を用いることで、1対多の通信を実現させている。

NAPTはIPマスカレードと呼ばれることもある。

プロキシサーバー・リバースプロキシサーバー

プロキシサーバーは、クライアントコンピューターとサーバー間の通信を中継するサーバーで、過去にやり取りしたデータのキャッシュ保持機能、コンテンツのフィルタリング、アクセスの記録など、様々な機能を持っていることが多い。

プロキシサーバーはクライアント側に設置されるのに対し、Webサーバー側に設置されるリバースプロキシサーバーというものがある。

クライアントからアクセスする際は1台のサーバーに見えるが、リバースプロキシの機能によりサーバー側で複数のサーバーに分散して処理を行なっている。
これがリバースプロキシの仕組みだ。