Powered by SmartDoc

情報通信ネットワーク論(2003/10/03)
Ver. 1.1

2003年10月3日
栗野 俊一
kurino@math.cst.nihon-u.ac.jp
http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino//home/kurino/sdoc/2003/ccna-ex/ccna-ex.html
情報通信ネットワーク論2003/10/03 の資料

目次

目的

この演習の目的は通りです。

Host ( Windows, Linux, CISCO )のNetwork設定方法の復習
一回目二回目三回目の実習の復習(特に、設定方法)。
Router (Linux, CISCO)の設定方法の復習
四回目五回目の実習の復習(特に、設定方法)。
static routingの考え方の復習
四回目五回目の実習の復習(特に、Network構成とStatic Routingの考え方)。
Interoperability (相互接続性)の考え方(新規)

Internetという巨大で複雑な複合体では、単一のvendor製の装置だけで接続する(1)わけには行きません。たくさんのvenderがそれぞれ異なる方法を用いて作成した装置を互いに持ち寄って、接続する必要があります。

そして、(同じvender間だけでなく(2)..)このような異なる装置間でも、同じ機能が働き、相互(3)に通信可能なことを、Interoperabilityと呼んでいます。

dynamic routingの考え方(新規)

今回の実験の新しい内容として、dynamic routingの設定方法( CISCO, Linux )を学びます。

どんなに複雑なNetworkであっても、dynamic routingを行うことによって、簡単にRoutingが可能であることを学びます。

  1. それでも、やはり、「同じ装置間なら安心」という神話があることは事実です。

    このために、既に、市場を支配しているvendor ( i.e. CISCO, Microsoft, Intel, etc.. )が更に、市場の独占度を増す結果になっています。

    これは、必ずしも望ましいことではない(市場原理に反する)のですが、技術屋としては、「異なる機種間でだめだったら、同一機種間でも試してみる」は、常に、「成果が期待できる手段」であることを理解して置く必要があります。

  2. たまに、同じvenderの同じ機種でも、うまく行かないことがあり、大変、腹が立ちます。
  3. 通信は常に相互作用であることに注意!!

Dynamic Routing

今回の実習では、CISCO Routerおよび、Linux RouterによるDynamic Routingを学びます。

実験1: CISCO とLinux による複合 Network

実験1 のNetwork

CISCOとLinuxを用いて、次のような複雑なNetworkを構成します。

Networkの構成要素
Network
Networkは次の五つです。LANの部分は、Ethernet, WANの部分は、Serial接続で行います。
実験1 のNetwork の情報
Network Name Network Address Subnet Mask
Network 1 [LAN] 192.168.1.0 255.255.255.0 (/24)
Network 2 [LAN] 192.168.2.0 255.255.255.0 (/24)
Network 3 [LAN] 192.168.3.0 255.255.255.0 (/24)
Network 4 [WAN] 192.168.4.0 255.255.255.0 (/24)
Network 5 [LAN] 192.168.5.0 255.255.255.0 (/24)
Host/Router
Hostは、四台、Router (CISCO)は二台です。Linuxは、三台です。なお、次の点に注意してください。
  1. このNetworkでは、Name Serverが存在しないので、Name Serverは、設定しません(4)
  2. Routerには、Default Gatewayは、設定しません(図中ではN/Aで表現している。)。
実験 1 の Host の情報
Host Name Interface IP Address Subnet Mask Default Gateway
Windows-A N/A 192.168.1.1 255.255.255.0 (/24) 192.168.1.3
Windows-B N/A 192.168.2.2 255.255.255.0 (/24) 192.168.2.4
Windows-C N/A 192.168.3.5 255.255.255.0 (/24) 192.168.3.6
Windows-D N/A 192.168.5.9 255.255.255.0 (/24) 192.168.5.7
Linux-L eth0 192.168.1.3 255.255.255.0 (/24) N/A
eth1 192.168.3.3 255.255.255.0 (/24) N/A
Linux-M eth0 192.168.2.4 255.255.255.0 (/24) N/A
eth1 192.168.3.4 255.255.255.0 (/24) N/A
Linux-N eth0 192.168.3.7 255.255.255.0 (/24) N/A
eth1 192.168.5.7 255.255.255.0 (/24) N/A
CISCO-U ethernet 0 192.168.3.6 255.255.255.0 (/24) N/A
s1 : Serial 1 (DCE) 192.168.4.6 255.255.255.0 (/24) N/A
CISCO-V ethernet 0 192.168.5.8 255.255.255.0 (/24) N/A
s0 : Serial 0 (DTE) 192.168.4.8 255.255.255.0 (/24) N/A
論理図

           Windows-A                        Windows-B
         [192.168.1.1]                    [192.168.2.2]
               |                                |
               |      Netwrok 1                 |        Netwrok 2
        >------+------<                  >------+------<
               |      192.168.1.0/24 [LAN]      |        192.168.2.0/24 [LAN]
               |                                |
      eth0:[192.168.1.3]                eth0:[192.168.2.4]
            Linux-L                          Linux-M
      eth1:[192.168.3.3]                eth1:[192.168.3.4]
               |                                |
               |                                |     Netwrok 3
        >------+----------------+---------------+------<
               |                |               |     192.168.3.0/24 [LAN]
               |                |               |
      e0:[192.168.3.6]    [192.168.3.5] eth0:[192.168.3.7]
             CISCO-U        Windows-C           |
      s1:[192.168.4.6] (DCE)                    |
               |                                |
               |     Netwrok 4                  |
        >------+-----------<                 Linux-N
               |     192.168.4.0/24 [WAN]       |
               |                                |
      s0:[192.168.4.8] (DTE)                    |
            CISCO-V                             |
      e0:[192.168.5.8]                  eth1:[192.168.5.7]
               |                                |
               |                                |     Netwrok 5
        >------+---------------+----------------+---------<
                               |                      192.168.5.0/24 [LAN]
                               |
                         [192.168.5.9]
                           Windows-D
物理図
設定

Host ( Windows, Linux, CISCO )の設定は、それぞれ、一回目(Windows)二回目(Linux)三回目(CISCO)手動設定の所を参考にしてください。

また、IP Address, Subnet Maskは、表2.1.1.2[実験 1 の Host の情報]を参照してください。

なお、Default Gateway, Name Serverの設定は、今回は行いません。

  1. いや、むしろ、積極的に、設定を取り消すようにすることが望ましい。そうでないと、存在しないName Serverに問い合わせに行き、それが原因で、動作が遅くなったり、あるいは、あまりにも遅すぎて、まるで、ハングアップしたかのように見えてしまい、異常が生じていると勘違いする可能性がある。

    name serverの設定を無効にするには、Linux, CISCOそれぞれ、次のコマンドを実行したり、設定すればよい。

    Linux
    echo > /etc/resolv.conf
    CISCO
    no ip domain-lookup

実験1 の内容

この状態では、Routingの設定がなされていませんので、原則として、メディアを共有しているHost間のみでの通信が可能です。

なお、実験3, 4の準備として、この時点でのRouting Tableの内容を記録しておいてください。

CISCO Routerでは、Show ip routeの結果、並びにshow running-configを実行し、その中でip route XXXXと書いてある行を抜き出しておきます。

またLinuxでは、netstat -nrの出力を記録しておきましょう。

実験1 のまとめ

この実験1は、単に、以前の実験の復習ということだけです。

ただし、既に、学んだように、Windows, Linux, CISCOといった三つの異なるVender間で、共通のIP Connection ( Pingできる)が可能であるというInteroperabilityを確認しておきましょう。

実験2:Static Routing の復習

実験2 のNetwork

実験2は、実験1のNetworkで、Static Routingの設定を行います。

これも、原則として、四回目(Linux での Routing)五回目(CISCO での Routing)の実習の復習です。

実験2 の内容

この状態では、全てのHost間で、pingが通るはずです。試してみてください。

また、実験1と同様にして、この時点でのRouting Tableの内容を記録しておいてください。

実験2 のまとめ

この実験2も、以前の実験の復習ということだけです。

ただし、実験1と同様Interoperabilityが確認できるでしょう。

実験3:Static Routing の取り消し

実験3 のNetwork

実験3のNetworkも、実験1, 2と同じですが、実験2で設定したstatic routingの内容を取り消し、実験1と同じ状況にします。

もちろん、全てのHostの電源を切り、最初から、設定をしなおせば、実験1と同じ状況になるわけですが、ここでは、その方法をとらず、実験2で行った設定の取り消し方法を学びます。

LinuxでのStatic Routingの取り消し方法

Linuxでは、route add ...で、static routingを追加していました。

逆に、削除する場合は、これと対称的にroute delete ...を使います。このコマンドを利用することによって、自由に、routing tableにrouting情報を、追加したり削除したりできることを確認してみてください。

CISCOでのStatic Routingの取り消し方法

CISCOでは、設定Mode (Config Mode)で、ip route ...で、static routingを追加していました。

逆に、削除する場合は、これと対称的にno ip route ...を使います。このコマンドを利用することによって、自由に、routing tableにrouting情報を、追加したり削除したりできることを確認してみてください。

実験3 の内容

この状態では、実験1と同じ状況のはずです。

また、実験1と同様にして、この時点でのRouting Tableの内容を確認し、これが、実験1と同じ結果になることを確認してください。

実験3 のまとめ

ここでは、主にstatic routingの取り消し方法を学んだわけですが、それと同時に、show ip route(CISCO), netstat -nr(Linux)のように「現時点でのRouting Tableの内容の参照方法とその読み方も、きっちりと、把握しておくことが大事です。

実験4:Dynamic Routing の設定 (RIP)

さて、いよいよ、Dynamic Routingの設定方法です。

Routing Protocol の選択

Dynamic Routingを行うためには、Routing Protocolをまず、最初に決定する必要があります(5)

今回の実験では、単純であり、どこでも利用可能だという理由(6)から、RIPを利用します。

  1. 一つのNetworkで、複数のRouting Protocolを運用することは可能です(これは、後期に予定していますので、是非、お楽しみに.. )。

    しかし、一般的に、同一の組織内のLAN間では、単一のRouting Protocolを選択し、その組織内のLANの全てのRouterで、これが動くように設定します。

  2. RIPが利用される理由は、これ以外にありません。この理由がなければ誰がRIPなんていう使えないRouting Protocolを利用するものですか...

実験4 のNetwork

実験4も、特にNetwork構成の変更はありません。単に、RIPの設定を追加するだけです。

LinuxのRIPの開始

LinuxでのRIPの起動(7)

は、/etc/rc.d/init.d/routed startで行います(8)

Linux-L の RIP の設定
Linux-L# /etc/rc.d/init.d/routed start
Starting routed (RIP) services: [ OK ]
Linux-L# 

逆に、RIPの停止は、/etc/rc.d/init.d/routed stopです。

CISCOのRIPの開始

CISCOのRIPは、二つの設定コマンドを必要としています。

routing設定コマンド

routing設定コマンドで、どのRouting Protocolを選択するかを指定します。

今回の場合は、router ripとします。

networkサブ設定コマンド

networkサブ設定コマンドは、必ず、router設定コマンドに続けて記述し、「どのNetworkから来るRouting情報を有効にするか?」を指定します。

形式は、network ネットワークアドレスという形で、一つのnetworkサブ設定コマンドでは、一つのネットワークしか有効にできません。

したがって、CISCO Routerの場合、RIPを有効にするには、「Interface (以下、単にI/F)で直接に接続している、全てのNetwork(9)に対応して、Network設定コマンドを行う」必要があります。

今回のCISCO Routerは、共に、二つのI/Fがありますので、それぞれ、二つのNetworkサブ設定コマンドが必要になります。

CISCO-U のRIP の設定
CISCO-U#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
CISCO-U(config)# router rip
CISCO-U(config-router)# network 192.168.3.0
CISCO-U(config-router)# network 192.168.4.0
CISCO-U(config-router)# ^Z
CISCO-U#

CISCO-Uの場合は、eth0が、Class CのNetwork 192.168.3.0/24にs0が、Class CのNetwork 192.168.4.0/24にそれぞれ所属しており、しかも、それをRIP Routingしたいので、両方をNetworkで指定しています。

同様にして、CISCO-Vの場合は、192.168.4.0/24と、192.168.5.0/24をそれぞれnetworkコマンドで指定する必要があります。

なお、ripを停止するには、no router ripだけで、特にno network ...としなくても、自動的に、networkサブ設定側の内容は取り消されます。これは、networkサブ設定コマンドが、router設定コマンドの一部として指定されている(10)からです。

  1. 本来は、「RIPそのもの起動」という考え方はありません。実際は、「RIPを実装したプログラム( Linuxではroutedになる)の起動」を意味しています。

    routedの様に恒常的に働き続けるような特別なプログラムを、Linuxでは、デーモンプログラム(daemon program)と呼んでいます。

    今回の例では、routedというコマンドが、この「RIP用のデーモン」なわけで、これを起動するためのコマンドが、/etc/rc.d/init.d/routed startなわけです。

    Linuxでは、このような様々な機能(今回は、RIP Routing )を実現した、デーモンプログラムがたくさん用意されており、それらを選択的に利用することによって、様々なサービス(例えば、Web Server, Mail Server等々)を提供できるようになります。

    これらに関しても、後期に予定しています。

  2. 実を言えば、Linuxにも色々な流儀(ディストリビューション)があります。

    この方法は、特に、RedHat 系と呼ばれているディストリビューションだけで有効な方法であり、他のディストリビューション(例えば、debianなど)では、有効ではない可能性があります。

    ましてや、同じPC-Unixでも、Free BSDなども、異なる可能性があることに注意してください。

  3. 実は、RIPは、Classfullなので、同じClassの意味での自然なNetwork MaskでのNetwork Addrssだけを指定すれば良いことになっています。

    このために、一般にsubnet maskを運用している場合には、Networkコマンドの数は、I/Fの数以下になります。

    ただし、今回は、自然なNetwork Maskをsubnet maskとして採用しているため、I/Fの数と、直接Network接続しているNetworkの数は同じになります。

  4. 「親亀こければ、孫亀こける」わけです。

実験3 の内容

次の二つの点を確認してください。

  1. 各RouterのRouting Tableの状態はどうなっていますか?これは、実験2でのRouting Tableと比較してどうなっているでしょうか?
  2. 全てのHost (I/F)間で、ping/tracerouteが可能ですか?

実験4 のまとめ

実験4では、初めてdynamic routingを経験したわけですが、どうでしょう?感想は如何ですか? static routingの設定で四苦八苦した後は、まるで魔法のような気がすると思います。

今日のハイライトは、もちろん、このdynamic routingの設定であり、それは同時にCCNAでの、Router Configurationの最も重要な点でもあります。

前期で行った、一連の実験も実は、このゴールを目指してきたということがお分かりいただけると思います。是非、しっかりと復習しておいてください。