フレームリレーを介してIP通信をする際,ルーターはあて先IPアドレスに対応したDLCI番号を知っている必要があります。
IPアドレスとDLCIを手動で対応付ける「フレームリレー・マップ」を試してみましょう。
●インバースARPとは?
フレームリレーを使う際,Ciscoルーターでは,「インバースARP」が自動的にオンになります。
インバースARPは,PVCが確立しているルーター同士で,DLCIをIPアドレスを対応付ける機能です。
自身につながる全部のDLCIに「このPVCにはどんなIPアドレスがつながってますか?」というメッセージを送って,対向ルーターのIPアドレスを調べます。
イーサネットの「ARP」は,IPアドレスに対応しているMACアドレス(レイヤー2アドレス)を調べる機能でした。
一方,フレームリレーの「インバースARP」は,DLCI(レイヤー3アドレス)からIPアドレスを調べます。
「インバース」とあるのはそのためです。
ただ実際は,インバースARPは使わずに,通信したいすべての対向ルーターのIPアドレスに対して,手動で対応付けを設定するケースが一般的です。
この「DLCIとIPアドレスの手動の対応付け」で使うのが,frame-relay mapコマンドです。
frame-relay mapコマンドを使うと自動的にインバースARPは無効になります。
今回は明示的に,「no frame-relay inverse-arp」コマンドを入れて,インバースARPを無効にしています。
ここからは,両ルーターにframe-relay mapコマンドを入れていない状態から見てみます。
●動作の確認
最初に,フレームリレー・スイッチ(FRSW)の状態を見て,PVCを確認しましょう。
FRSW#show frame-relay pvc
PVC Statistics for interface Serial0 (Frame Relay DCE)
Active Inactive Deleted Static
Local 0 0 0 0
Switched 1 0 0 0
Unused 0 0 0 0
DLCI = 100, DLCI USAGE = SWITCHED, PVC STATUS = ACTIVE, INTERFACE = Serial0
input pkts 52 output pkts 47 in bytes 5268
out bytes 4748 dropped pkts 0 in pkts dropped 0
out pkts dropped 0 out bytes dropped 0
in FECN pkts 0 in BECN pkts 0 out FECN pkts 0
out BECN pkts 0 in DE pkts 0 out DE pkts 0
out bcast pkts 0 out bcast bytes 0
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 0 bits/sec, 0 packets/sec
switched pkts 52
Detailed packet drop counters:
no out intf 0 out intf down 0 no out PVC 0
in PVC down 0 out PVC down 0 pkt too big 0
shaping Q full 0 pkt above DE 0 policing drop 0
pvc create time 2w6d, last time pvc status changed 2w0d
PVC Statistics for interface Serial1 (Frame Relay DCE)
Active Inactive Deleted Static
Local 0 0 0 0
Switched 1 0 0 0
Unused 0 0 0 0
DLCI = 200, DLCI USAGE = SWITCHED, PVC STATUS = ACTIVE, INTERFACE = Serial1
input pkts 47 output pkts 52 in bytes 4748
out bytes 5268 dropped pkts 0 in pkts dropped 0
out pkts dropped 0 out bytes dropped 0
in FECN pkts 0 in BECN pkts 0 out FECN pkts 0
out BECN pkts 0 in DE pkts 0 out DE pkts 0
out bcast pkts 0 out bcast bytes 0
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 0 bits/sec, 0 packets/sec
switched pkts 47
Detailed packet drop counters:
no out intf 0 out intf down 0 no out PVC 0
in PVC down 0 out PVC down 0 pkt too big 0
shaping Q full 0 pkt above DE 0 policing drop 0
pvc create time 2w6d, last time pvc status changed 2w0d
Serial0にDLCI100が設定されており,アクティブになっているのがわかります。
同様に, Serial1にDLCI200が設定されており,こちらもアクティブになっています。
以上のことは,show frame-relay routeコマンドを見てもわかります。
FRSW#show frame-relay route
Input Intf Input Dlci Output Intf Output Dlci Status
Serial0 100 Serial1 200 active
Serial1 200 Serial0 100 active
PVCはともにアクティブで,ちゃんとPVCが確立していることがわかります。
●動作の確認(フレームリレー・マップを設定していない場合)
フレームリレー・マップを設定していない状態で,フレームリレー・パケットのデバッグをオンにして,RouterB(192.168.1.2)あてにpingを打ってみます。
RouterA#debug frame-relay packet
Frame Relay packet debugging is on
RouterA#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
5d17h: Serial0/0:Encaps failed--no map entry link 7(IP).
5d17h: Serial0/0:Encaps failed--no map entry link 7(IP).
5d17h: Serial0/0:Encaps failed--no map entry link 7(IP).
5d17h: Serial0/0:Encaps failed--no map entry link 7(IP).
5d17h: Serial0/0:Encaps failed--no map entry link 7(IP).
Success rate is 0 percent (0/5)
pingパケットを5回送出して,5回とも「Encaps failed--no map entry link」というエラーが表示されました。
これは,「カプセル化失敗--フレームリレー・マップのエントリ(設定)がない」という意味です。
つまり,192.168.1.2あてのIPパケットをどのDLCIに出していいのかわからないので,フレームリレー形式のパケットでカプセル化できなかったということです。
●フレームリレー・マップを設定して動作を確認
では,フレームリレー・マップを使って,IPアドレスとDLCIを対応付けてみましょう。
RouterAのSerial0/0で「192.168.1.2あてのパケットはDLCI100へ送出」と設定してやります。
RouterA(config)#interface serial 0/0
RouterA(config-if)#frame-relay map ip 192.168.1.2 100
IPアドレスとDLCIの対応付けを確認するのは,show frame-relay mapコマンドです。
RouterA#show frame-relay map
Serial0/0 (up): ip 192.168.1.2 dlci 100(0x64,0x1840), static,
CISCO, status defined, active
「static」と表示されており,フレームリレー・マップを使って手動で対応付けされたことがわかります。
これでRouterAは,192.168.1.2あてにパケットを送れるようになりました。
続いて,RouterBを設定します。
RouterBのSerial0/0で「192.168.1.1あてのパケットはDLCI200へ送出」と設定してやります。
RouterB(config)#interface serial 0/0
RouterB(config-if)#frame-relay map ip 192.168.1.1 200
これで,RouterBも192.168.1.1あてにパケットが送れるようになりました。
実際にRouterAからRouterB(192.168.1.2)にpingを打って確かめてみましょう。
RouterA#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 ms
今度は,5回すべて応答が返ってきました。
ルーターにフレームリレー・マップを設定したことで,あて先IPアドレスに対応したDLCIにパケットを送れるようなったことが確認できましだ。 |