†ルーターはIPアドレスによってパケットを判断して中継する機器である。第1層〜第3層について、IPアドレスを見てデータの中継経路の設定(ルーティング)を行う。ルーターには様々な形のものがあるが、多くは前面にインジケータランプ(LED)が付いていて、背面にポートがある。†ルーターがサブネット分割の道具だった頃、ルーターの設計思想は「基本はパケットの遮断で、通す必要のある最小限のパケットだけをルーティングする」というものであった。10年前の企業ネットワーク内で完結し、トラフィックの8割は特定サブネット内で完結し、ルーターを通って外部に出ていくパケットは2割程度だったからである。そのため、ルーティングの処理速度が遅くてもそれほど問題にならなかった。近年、インターネット利用の増大やサーバー統合などにより、企業ネットワークの状況が激変した。サブネット内に留まらずバックボーンネットワークへ向かうトラフィックの方が多くなり、ルーターを通過するパケットが激増するようになった。高速なLANが普及し、ルーターの役割が「いかにせき止めるか」から「どれだけ通せるか」に変わった。†1:ルーターはパケットを受信すると、何らかの理由でデータが破損していないかどうかをチェックする。エラーがあればそのパケットは破棄され、エラーがなければ次の処理に進む。2:IPパケットの先頭にあるIPヘッダを検査する。このパラメータに誤りがないかどうかチェックする。誤りがなければ、次に進む。3:次はパケットの中継先の選択を行う。このとき中継先を決定するために、ルーター内部にある経路表(ルーティングテーブルとも呼ばれる)を参考にする。経路表には宛先のIPアドレス、ゲートウェイのIPアドレス、ネットマスク、メトリック、インターフェース名の対応が記録されている。ここでちょっと複雑な処理をする。複雑な仕組みを知る必要はない方はとりあえず、「ルーターはルーティングテーブルに書かれている対応で宛先アドレス(IPアドレスのネットワークアドレス)と次に到達すべきルーターやインターフェース(ネクストホップという)を決定して、データをリレーする」と覚えておいて欲しい。経路表の行にあるサブネットマスクの値をチェックして、ネットワーク番号のビット数を計算して、そのビット数分だけ経路表の宛先のIPアドレスを比較する。両者が一致すれば、それを候補とする。このような作業で経路表を検索すると、候補がいくつか現れる。その候補の中から、サブネットマスク値のビット数が最も長いものを選ぶ。選び出したものがひとつしかなければ、その行の宛先のIPアドレスが中継先となる。選び出したものが複数合った場合、メトリック値をチェックして最も小さいものを選び、その行の宛先のIPアドレスが中継先になる。メトリック値は宛先までの距離を意味する数字で値が大きいほど遠回り、値が小さいほど近回りとなる。このようなちょっと複雑な処理を行うことによって、ネットワーク番号が可変長であっても、正しい中継先を判別できるわけだ。4:判断後はパケットをポートから出力する。出力先のネットワークは様々なものがある。LANであってり、電話回線であったりと通信回線は状況によって異なる。そこで出力するとき、パケットのMACヘッダを作り直す必要がある。出力先がEthernetであれば、中継先のIPアドレスをARPキャッシュで探して、そこに登録されているMACアドレスをMACヘッダの宛先MACアドレス欄に代入する。ARPキャッシュに登録されていなければ、ARPの問い合わせを行い、MACアドレスを調べる。調べたMACアドレスをMACヘッダの宛先MACアドレス欄に代入する。MACヘッダの送信元MACアドレス欄には自分の出力ポートのMACアドレスを代入する。この2つの作業でMACヘッダを作り直し、完了して初めてパケットを送り出す。出力先が電話回線やISDNならば、PPP用のヘッダを作ってパケットを送り出す。その際、回線は1対1で接続されるので、MACアドレスは不要であり、ヘッダの内容は変化せず、同じ値のまま伝送される。†ルーティング処理キャッシュやルーティングテーブルを見て、次のホップ先を決定する。TTLの減算、MACアドレスやCRCの再計算などのパケットの操作を行う。フィルタリングパケットの内容とフィルタリングテーブルに照らし合わせ、破棄や転送などを決定する。キューイング受信パケットの優先度情報に基づき、送出タイミングを変更する。優先的に起こり出したり、遅らせて送出したりといった調整を行う。アカウンティング受信パケットの数やエラーパケットなどの統計を行う。[補講]パケットの流量が増えるとこれらの処理もソフトウェアベースのルーターにとっては大きな不可になった。そのため、これらの処理の一部をASICで実装されたのがL3スイッチである。†ルーターの設定はTelnetクライアントで接続するタイプとブラウザで設定するタイプのものがある。安価なブロードバンドルーター(xDSL用のルーター)では、ブラウザで設定するタイプが主流である。その設定において、80番をポートフォワーディング設定にしておかないと、外部からルーターの設定画面にいくための認証ウィンドウが表示されてしまう可能性がある*1。最悪の場合、アタッカーにルーターの認証を突破され、ルーターに侵入されてしまい、設定を変更されてしまうことも考えられる。†どのような設定が行われたのかを記録するログ。†LAN側とWAN側の双方からどのようなアクセスがあったかのかを記録するログ。不正アクセスや接続エラーなどを突き止めるために利用する。ルーティング(4865d)。