ファイアーウォールって何だろう?

03.03.11 / ファイアーウォールって何?, 未分類 / Author: / Comments: (6)

ファイアーウォールは外からの不正なアクセスを防ぐ役割をしています。

このブログでは前にtcp wrapperによるアクセス制限について紹介しましたが、

ファイアーウォールを使うとtcp wrapperよりも強いアクセス制限を行うことができます。

例えばこんなかんじ。

では実際にどのように行っているかというと、

外からやってくるパケットのヘッダに含まれる送信元アドレスやポート番号などの情報から、通過を許可したり拒否したりします。

このような方法をパケットフィルタリングといいます。

インターネットは通信をする際にデータをパケットという小さな単位に分割して届けるんでしたよね。

実はパケットにはいくつか種類があります。

データの中身の構造やパケットにつける宛先などを書いた制御データの内容を決めるのはプロトコルです。

プロトコルのひとつ、IPではパケットに、どこに送るのかを書いたヘッダをつけます。

パケットさんはデータを送信する前にプロトコルによって次々と必要なヘッダを付けてられてから目的地に送られます。

しかし、IPではどうやって目的地まで送るかしか決めていません。

このままではパケットが無事に届いたかはわからなくなっちゃいますよね。

なので、その部分をどうするか決めるのがTCPやUDPといったプロトコルです。

TCPでは、無事に届いたか確認したり、届いてないパケットさんの再送をすることを決めています。

TCPで特徴的なのはスリーウェイハンドシェイクという通信許可要求です。

データを送る前にまずお互いに通信が出来る状態なのかを確認するのです。

通信許可要求はSYN、通信許可はACKと呼ばれています。

これは、TCPヘッダの中のフラグのSYNとACKが、それぞれ通信許可要求と通信許可の際に1bitずつセットされるからです。

このようにTCPでは確実な通信をするための決まり事をたくさんつくるので、やりとりに時間がかかってしまいます。

そこで登場するのがUDPです。

UDPのヘッダには送信元と宛先のポート番号しか入っていません。

そのためより速くデータを送ることができるので、UDPはリアルタイムでの動画配信をしたい時などに使われます。

しかし、TCPで行われていた確認応答をしないため、データが無事に相手に届いたかどうかは送信側はわからないし、届かなかったセグメントの再送も行われません。

他にも、ICMPというものもあります。ICMPは主にエラーの報告や原因調査の為に使われています。