フレームリレー特有のしくみにDE(廃棄適正)ビットがあります。
フレームにDEビットをセットしてやりとりできることを確認してみましょう。
●DE(廃棄適正)ビットとは?
フレームリレーのフレームには,ヘッダー部分に「DEビット」があります。
CIRを超える速度でフレームを送信した場合,フレームリレー網内のフレームリレー交換機がDEビットに「1」をセットします。
そして,このDEビットに「1」がセットされたフレームは,混雑時に優先的に廃棄されます。
通常,DEビットをセットするのはフレームリレー網内の交換機ですが,ルーターに設定することもできます。
「HTTPは優先的に廃棄されもOK」などという設定ができるわけです。
●設定の確認
ルーターにDEビットをセットしてやりとりしてみましょう。
今回はRouterAに,「192.168.0.0/24から送出されたパケットにDEビットをセット」という設定をしてみます。
設定は以下です。
三つのステップがあります。
RouterA(config)#access-list 1 permit 192.168.0.0 0.0.0.255 ←@
RouterA(config)#frame-relay de-list 10 protocol ip list 1 ←A
RouterA(config)#interface serial 0/0
RouterA(config-if)#frame-relay de-group 10 100 ←B
@DEビットをセットする対象のパケットをアクセスリストを使って定義します。
拡張アクセスリストを使えば,「Webアクセス(HTTP)のパケットはDEをセット」という条件なども定義できます。
ADEセット用の「DEリスト」に@で作ったアクセスリストを対応付けます。
ここでは,DEリスト番号を10番に設定しています。
BインタフェースのDLCIと,Aで作ったDEリストを対応付けます。
ここでは,DEリスト10番と,DLCI100番を対応付けています。
これで,アクセスリストに合致したパケットを持つフレームは,DEビットに「1」がセットされた状態でDLCI100に送り出されます。
●動作の確認
では,動作を確認してみましょう。
最初に,何もパケットをやりとりしていない状態のRouterBのPVCの状態を見てみます。
DEパケットが「1」になっているパケットは0個であることがわかります(下の赤字)。
RouterB#show frame-relay pvc
PVC Statistics for interface Serial0/0 (Frame Relay DTE)
Active Inactive Deleted Static
Local 1 0 0 0
Switched 0 0 0 0
Unused 0 0 0 0
DLCI = 200, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0
input pkts 543 output pkts 526 in bytes 44928
out bytes 41442 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 24 out bcast bytes 1778
pvc create time 03:58:36, last time pvc status changed 03:57:03
では,RouterAからRouterB(192.168.2.1)にpingを打ってみます。
拡張pingを使って,送信元アドレスを192.168.0.1にします。
送信元アドレスが192.168.0.0/24の範囲にあるので,DEビットが「1」にセットされるはずです。
RouterA#ping
Protocol [ip]:
Target IP address: 192.168.2.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 192.168.0.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 ms
「!!!!!」と表示されて,5回のpingが成功したことがわかります。
pingを打った後のRouterBのPVCの状態を見てみましょう。
RouterB#show frame-relay pvc
PVC Statistics for interface Serial0/0 (Frame Relay DTE)
Active Inactive Deleted Static
Local 1 0 0 0
Switched 0 0 0 0
Unused 0 0 0 0
DLCI = 200, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0
input pkts 549 output pkts 533 in bytes 45520
out bytes 42106 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 5 out DE pkts 0
out bcast pkts 24 out bcast bytes 1778
pvc create time 03:59:26, last time pvc status changed 03:57:53
「in DE pkts 5」とあり,DEビットがオンになったパケットを5個受信したことがわかります(下の赤字)。
DEビットが付加されたフレームをやりとりされたことが確認できました。
●(おまけ)フレームリレーでOSPFを動かすには?
このラボ・シナリオでは,経路情報のやりとりにOSPFを使っています。
フレームリレーでOSPFを使うときには,ちょっとした注意が必要です。
OSPFでは,インタフェースで動作するレイヤー2プロトコルによって「ネットワーク・タイプ」というものが決まります。
タイプは以下の5種類で,フレームリレーの場合は自動的にNON_BROADCASTというタイプになります。
・BROADCAST…………… イーサネット,ファストイーサネット,ギガビットイーサネットなど
・NON_BROADCAST………フレームリレー,ATM,マルチポイント・サブインタフェースなど
・POINT_TO_POINT…………PPP,HDLC,ポイントツーポイント・サブインタフェースなど
・POINT_TO_MULTIPOINT…デフォルトではなし
・POINT_TO_MULTIPOINT NON_BROADCAST…デフォルトではなし
RouterAのSerial0/0インタフェースで動作しているOSPFの様子を見てみると,ネットワーク・タイプが「NON_BROADCAST」になっているのがわかります(下の赤字)。
RouterA#show ip ospf interface serial 0/0
Serial0/0 is up, line protocol is up
Internet Address 192.168.1.1/24, Area 0
Process ID 1, Router ID 192.168.0.1, Network Type NON_BROADCAST, Cost: 64
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 192.168.2.1, Interface address 192.168.1.2
Backup Designated router (ID) 192.168.0.1, Interface address 192.168.1.1
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
Hello due in 00:00:04
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 192.168.2.1 (Designated Router)
Suppress hello for 0 neighbor(s)
ここからが注意点です。
OSPFでは,「NON_BROADCAST」のインタフェースにブロードキャストやマルチキャストを転送しません。
通常は,フレームリレーでブロードキャストやマルチキャストのパケットを転送するには,フレームリレー・マップの設定でbroadcastオプションを付ければいいのですが,OSPFではこれが通用しません。
そこでフレームリレーでOSPFを使う場合,neighborコマンドを使って経路情報をやりとりする相手を指定します。
すると,マルチキャストやブロードキャストのパケットをユニキャストのパケットとしてやりとりするようになります。
今回の場合,RouterAでRouterB(192.168.1.2)をネイバーに指定してやります。
RouterA(config)#router ospf 1
RouterA(config-router)#network 0.0.0.0 255.255.255.255 area 0
RouterA(config-router)#neighbor 192.168.1.2
同様に,RouterBでRouterA(192.168.1.1)をネイバーに指定してやります。
RouterB(config)#router ospf 1
RouterB(config-router)#network 0.0.0.0 255.255.255.255 area 0
RouterB(config-router)#neighbor 192.168.1.1
両ルーターともにneighborコマンドを設定すると,OSPFのネイバーが確立するはずです。
OSPFラボの「NBNAネットワーク(ノンブロードキャスト)」にも詳しい解説がありますので,ご参照ください。 |