ページの先頭です。
このページの本文へ移動します。
 平日9:00-17:30  03-5210-5021

NAT/FW トラバーサル
2. NAT/FW トラバーサルの仕組み “FWとは”

MCU入門 第9回

MCU入門 第9回

NAT/FW トラバーサル
- 2. NAT/FW トラバーサルの仕組み “FWとは”

2011年9月掲載
MCU入門 第9回 NAT/FW トラバーサル 目次
 

FW(ファイアウォール:Firewall)とは

FWと略されることが多いですが、もともとはFirewall、日本語では「防火壁」といいます。 火事が起きたときに、他所からの延焼を防ぐための壁のことです。 転じてICTの世界では、許可されてない人からの不法侵入を防ぐもの、という意味でFWを使います。

FWの外から内へ

基本的には、情報が出入りする方向で考えます。 外側から内側に入ることは、基本的に許可していません。FWが関知していない人々は、他人=敵として、用心するためです。

これによって、秘匿情報などを外部からアクセスできないようにします。 ただしサーバーのように、外部からアクセスしてもらうことが前提である設備もあります。 その中でも、たとえばWebサービスは外部には公開したいが、Telnetサービスは外部には公開したくない、という場合があります。 このとき、ポートという概念が役立ちます。

ポートは、クライアントPCがサーバーPCに接続するときに、サーバーの「何の」プログラムサービスを利用したいのかを指定するための数字です。 サーバーは複数のサービスを実行しているのが普通です。そのサービスのうち、どれをクライアントに提供すればよいのか、ということをサーバーに伝えないと必要な情報をもらえません。 接続依頼をするときにどのサービスの情報が欲しいかを予め指定すれば、すばやく必要な情報をもらうことができます。

ポートは、クライアント側からサーバー側に、何のサービスの情報がほしいかを伝えるための数字です。数字だと人間には分かりにくいですが、コンピュータには分かりやすいのです。手順をなるべく省略できるようにするため、広く利用されているサービスは、数字が指定されています。 これを “Well-Known port numbers” と呼び、Internet Assigned Numbers Authority(IANA,アイアナ)が管理をしています。

たとえば「TCPポート80番」に接続すればWebサービスが、TCPポート23番に接続すればTelnetサービスが提供されます。 Firewallでは、この機能を利用してセキュリティを高めます。

とあるサーバーで、Webサービスは提供したいがTelnetサービスは提供したくない、という場合があったとします。 このときFirewallでは、外部からの接続依頼に対しTCP80番ポートは接続を許可し、TCP23番ポートは拒否するという設定にします。

firewallを経由してサーバーにアクセスすると

FWの内から外へ

内側から外側に出ることは、基本的に許可しています。 FWが守っているところの人々は、身元がしっかりしているので通信を妨害しない、というポリシーです。 このため、内側からWebやメールなどを読みにいくなど、情報を取得することができます。

クライアントがfirewallの外に出るとき

FWの内から外に出て再び「内へ」

情報を受け取るときは、どうしても外部から内部への流れになります。これだと、外から入れないから情報を取得できないのではないでしょうか? いえいえ、一度外に出るときに「このポート番号の門から出て行きました」という手形を持って出ますので、同じポート番号の門に戻れば入れてくれます。
どうやっているかというと、サーバーにクライアントがサービスを依頼するときは、宛先である「サーバーのIPアドレスと、ポート番号」そして返信宛先である「クライアントのIPアドレスと、ポート番号」を、必ず添えます。 これを、接続先IPアドレス(デスティネーションIP )、接続先ポート番号(デスティネーションポート)、発信元IPアドレス(ソースIP)、発信元ポート番号(ソースポート)と言います。

クライアントが戻ってくるとき