西山 健二 NTTデータ関西テクシス ソリューションマーケティンググループ テクニカルサポート担当
写真3●自分のマシンのルーティング・テーブルを確認してみる |
ルーティング・テーブルを見る
それでは実際にルーティング・テーブルを見てみよう。実はルーターでなくても,各ホストもルーティング・テーブルを持っている。MS-DOSプロンプトで「route print」と入力すると,現在のルーティング情報の一覧が表示される(写真3[拡大表示])。「Network Address」と「Netmask」で転送を行うIPアドレスが分かり,「Gateway Address」が転送先,「Interface」が転送を行うNIC,「Metric」が転送を行うネットワークまでに越えるルーターの数*17である。
写真3のホストでは特にルーティングの設定を行っていないので,通常のホストのデフォルトの値が表示されている。1行目にはデフォルト・ゲートウエイが示されている*18。なお,先頭に書かれているが,実はデフォルト・ゲートウエイの確認は一番最後になされる。つまり,ホストが他のネットワークにパケットを送る場合,ルーティング・テーブル内のデフォルト・ゲートウエイ以外の情報をみても転送すべき情報がない場合に,デフォルト・ゲートウエイとして設定したルーターに転送を行う仕組みなのである*19。
信頼性を確保するTCP,速度重視のUDP
図1●プロトコルやNIC(Network Interface Card)は階層構造で動いている |
ここからは,IPより上位の層のプロトコルを解説する。アプリケーションごとに異なるプロトコルを使うため,アプリケーション開発者にとっては必要不可欠な知識だ。また,セキュリティ強化のためにファイアウオールを設置した場合などにも,この辺の知識が必要になってくる。
まずはIPのすぐ上位のTCPとUDPである。今まで説明してきたIPは中継経路の制御はやってくれるが,途中でパケットがなくなったときの再送や,データの受信側でデータ量を制御するフロー・コントロール(Flow Control)を行う仕組みなどは備えていない。そのため,信頼性が低い。そこで,これらの問題点を解決するためにTCPというプロトコルがある。
図6●コネクション型(TCP)とコネクションレス型(UDP)の違い |