DEビットの設定
・RouterAでDE(廃棄適正)ビットをオンにしたフレームを送信する
・RouterBでDEビットが付加されたフレームを受信していることを確認する
ネットワーク構成(画像を別ウインドウで表示)
FRSWのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname FRSW
!
frame-relay switching
!
interface Serial0
 no ip address
 encapsulation frame-relay
 clockrate 64000
 no fair-queue
 frame-relay intf-type dce
 frame-relay route 100 interface Serial1 200
!
interface Serial1
 no ip address
 encapsulation frame-relay
 clockrate 64000
 frame-relay intf-type dce
 frame-relay route 200 interface Serial0 100
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 login
!
end
RouterAのコンフィグ
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
frame-relay de-list 10 protocol ip list 1 ←AACL1をDEリスト10とする
!
interface Loopback0
 ip address 192.168.0.1 255.255.255.0
 ip ospf network point-to-point ←指定したサブネット・マスクで経路情報を通知する
!
interface Serial0/0
 ip address 192.168.1.1 255.255.255.0
 encapsulation frame-relay
 frame-relay de-group 10 100 ←BDEリスト10をDLCI100に対して適用する
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
 neighbor 192.168.1.2 priority 1 ←NBMA上でOSPFを動かすためにネイバーを手動で指定
!
access-list 1 permit 192.168.0.0 0.0.0.255 ←@対象トラフィックをACL1として定義
!
line con 0
line aux 0
line vty 0 4
 login
!
end
RouterBのコンフィグ
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
 ip address 192.168.2.1 255.255.255.0
 ip ospf network point-to-point ←指定したサブネット・マスクで経路情報を通知する
!
interface Serial0/0
 ip address 192.168.1.2 255.255.255.0
 encapsulation frame-relay
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
 neighbor 192.168.1.1 priority 1 ←NBMA上でOSPFを動かすためにネイバーを手動で指定
!         
line con 0
line aux 0
line vty 0 4
 login
!
end
確認
フレームリレー特有のしくみに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ネットワーク(ノンブロードキャスト)」にも詳しい解説がありますので,ご参照ください。

フレームリレー・ラボ
Ciscoルーターをフレームリレー・スイッチにする
フレームリレー・マップ
ハブ・アンド・スポーク
サブインタフェース(point-to-point)
サブインタフェース(multipoint)
DEビットの設定
フレームリレー・トラフィックシェーピング
(ツール)トラフィック配信ツールでQoSの検証