● フォワーディング検証環境
 今回は,このIPフォワーディングを行う環境として,FreeBSD 3.4-RELEASEで実験を行いました.NetBSDやLinuxを使っても同様に実験ができると思います.


(表1) 今回の実験ネットワーク
WindowsとFreeBSDにおけるインターフェースとルーティングの設定方法.WindowsのGUIでは個別のIPアドレスに対するルーティングを設定できずコマンドプロンプト経由で設定を行う必要がある.



ipconfigコマンドの例(Windows98のDOSプロンプト)
 Windows系OSでも,表1のようにUNIX系OSと同様にコマンドプロンプト(いわゆるDOS窓)から操作することができます.
 しかし,UNIX系OSの環境が準備できない場合,SLIPを使った実験を行うことは非常に面倒です.ですから,既存のイーサネット環境やダイヤルアップ環境があるようなら,routeコマンドを使って,ルーティングテーブルを覗いてみたり,pingコマンドやtracertコマンドを使って,ネットワークの接続のようすを調べてみましょう.
 今回は,図1に示すようにコンピュータA,B,Cに,IPアドレスを割り振りました.図2では,コンピュータAのコンソール画面のようすを示します.まず,ifconfigコマンドでカーネルに組み込まれているインターフェースの一覧を表示しました.lo0という特殊なインターフェースと,SLIPのsl0というインターフェースがあることがわかります.
 設定が終わった状態を示していますので,sl0にはIPアドレスがすでに設定されています.SLIPのこちら側(コンピュータA)側のIPアドレスが10.0.0.1,向こう側(コンピュータB)側のIPアドレスが10.0.0.2であることがわかります.
 次に,netstatコマンドを使って,ルーティングテーブルを表示してみます.

10.0.0.2という送り先(Destination)に対しては,10.0.0.1に送りなさい
というルーティングがすでに設定されています.たいていのOSでは直接通信可能なコンピュータに関するルーティングは,自動的に設定されます.
 図3に,コンピュータBのコンソール画面のようすを示します.コンピュータBでは,sl0とsl1の2つのSLIPデバイスが登録されていることがわかります.コンピュータAとコンピュータCへは直接通信が可能なため,ルーティングはすべて自動的に設定されています.
 もし自動的に設定されないOSの場合は,このあとに使い方を紹介するrouteコマンドを使って,ルーティングを手動で設定しなければなりません.
<コラム> こだま(エコー)を返しているのはだれ?

 山登りに出かけて,山頂から「ヤッホー」と叫んだことがありますか.周りに同じくらいの高さの山がなければ,こだまは返ってきません(本当に数kmも先の山に声が反射して,戻ってくるのか?という疑問はありますが).
 同様に,TCP/IPの世界でエコー要求を送っても,エコーを返してくれるソフトウェアがなければ応答はありません.
 実は,このエコーの要求と応答は,ICMP(Internet Control Message Protocol)というプロトコルに従っていて,TCP/IPソフトウェアには必ず実装しなくてはならないものなのです.
 ICMPは,TCP/IPソフトウェアがきちんと動いているかどうかを確認したり,受信したパケットに何らかの問題があったときに,送り元のコンピュータにそのことを伝えるためのプロトコルです.
 そして,TCP/IPソフトウェアの中には,ICMPを実装した部分が必ずあります.
 ここがほかのコンピュータからのエコー要求に答えたり,アプリケーション(この場合はping)からのエコー要求を受け付けて,実際にエコー要求を送信する処理を行っています.
 ICMPはTCP/IPソフトウェアの中の機能ですから,コンピュータどうしがTCP/IPを介して通信できていることを確認することができます.
 ただし,あるコンピュータのWebサーバと通信できないときに,pingを使うことでWebサーバの動いているコンピュータのTCP/IPソフトウェアと通信できるかどうかを確認することができるのであって,Webサーバソフトウェアと通信できているかどうかは確認できないことに注意してください.


 CQ出版 TOP OPENDESIGN TOPOPENDESIGN Online目次に戻る
  
Copyright CQ Publishing Co.,Ltd. 1997-2001