フレームリレーはパケット交換網サービスのWANテクノロジです。現在では同様のサービスとしてVPNサービスが主流になりつつありますが,安価で複数拠点をつなぐサービスとしてフレームリレーは有効です。今回はフレームリレーの概要と設定を学びましょう。
フレームリレーの概要
フレームリレーはITU-TとANSIの標準であるパケット交換型のコネクション型WANサービスで,レイヤ2のデータリンク層で動作します。使用されるプロトコルはLAPF(Link Access Procedure for Frame Relay)と呼ばれるHDLCの拡張の1つです。フレームリレーではFRAD(Frame Relay Access Device)の機能を持つ機器(Ciscoではルータがこの役割を果たします)であるDTEと,フレームリレー網上のDCEであるフレームリレー交換機間でフレームの転送が行われます(図1)。

各拠点のDTE間でVC(Virtual Circuit)と呼ばれる仮想的な通信路を設定します。VCは1つの物理回線上に複数設定することができます。データを送る際にあて先を決めるVCはSVC(Switched VC),設定された相手と接続するVCはPVC(Permanent VC)と呼ばれ,フレームリレーではPVCが一般的です。つまり,フレームリレーではプロバイダのフレームリレー網に1つの物理回線で接続し,VCを各拠点に設定することによりフレームのやりとりを行います。
VCを識別する番号をDLCI(Data Link Channel Identifier:データリンクチャネル識別子)と呼びます。DLCIは「あて先のアドレス」ではなく,「VCの識別番号」であることがポイントです。あくまで,そのDTEにとって「VCを識別する」ための番号なので,全体で一意である必要はなく,ローカルで一意であればいいという番号になります。
プロバイダが提供するフレームリレー網は専用線のように占有できる網ではなく,複数のユーザが共有する網になっています。そのため安価で使用できるのですが,複数のユーザが同時に使用するため,網が混雑してフレームの転送が滞ったり,フレームロスする場合があります。これを輻輳(ふくそう)と呼びます。フレームリレー網のプロバイダと契約する際は,それぞれのVCである程度保障される(占有できる)速度を決定します。これをCIR(Committed Information Rate:認定情報レート)と呼び,これにより価格が決定します。ただし,CIRを超えて送信することも可能であり,また重度の輻輳が発生した場合はCIRは保証されません。
フレームリレーのフレームには,輻輳を制御するため,次のような値が設定されています。
- DE(Discard Eligible) ・・・ 廃棄適正ビット。CIRを超えて送信されるフレームは輻輳が発生した場合優先的に破棄されることになるため,このビットがONになる
- FECN(Forward Explicit Congestion Notification)・・・ 順方向輻輳通知ビット。輻輳が発生した場合,それを通知するためにつけられるビット。FECNは受信側へ通知される
- BECN(Backward Explicit Congestion Notification)・・・ 逆方向輻輳通知ビット。BECNは送信側へ通知される
CIRをゼロに設定することも可能です。また,FECN,BECNのビットがONになっているフレームを受け取ったDTEは輻輳をなくそうとするようにフレームの送信を控えるなどの動作を行います。
LMIとInverseARP
フレームリレーでは,DTEとフレームリレー交換機間でフレームリレー網の状態や,VCの状態を確認するために拡張機能をもっています。これをLMI(Local Management Interface)と呼びます。LMIでは主に次のような機能を提供します。- キープアライブ ・・・ VCが接続状態であることを確認できます
- マルチキャスト ・・・ フレームリレー網でマルチキャストを可能にします
- グローバルDLCI ・・・ DLCIをネットワーク全体で一意に使用します
- VCステータス ・・・ VCのステータスを確認できます
LMIには複数のタイプがあり,それぞれ互換性がありません。Ciscoルータでは次の3つのLMIタイプを使用可能です。
- Cisco ・・・ CiscoによるLMI
- Ansi ・・・ ANSI標準
- q933a ・・・ ITU-T標準
DTEであるルータはルーティングを行い,次ホップを決定します。次ホップとフレームリレー網で接続されている場合,次ホップに接続されているVCのDLCIを知る必要があります。そのため,次ホップのIPアドレスと,DLCIを一致させる必要があります。この方法として,手動で静的に決定するか,動的に決定するかどちらかになります。動的に決定する場合はInverseARPを使用します。
フレームリレーの設定と確認
Ciscoルータでフレームリレーを設定するための基本コマンドは次のコマンドになります。
- (config)# interface serial [ポート番号]
- (config-if)# ip address [IPアドレス] [サブネットマスク]
- (config-if)# encapsulation frame-relay {cisco | ietf} ・・・ カプセル化をフレームリレーにする
encapsulation frame-relayコマンドでカプセル化を設定します。Ciscoルータ同士ならcisco,非Ciscoルータがあるならばietfを設定します。省略した場合はciscoになります。また,もし古いIOS(11.2以前)を使用しているならば,LMIのタイプを設定するため,frame-relay lmi-typeコマンドが必要です。デフォルトのカプセル化はciscoになります。IOSが11.2以降ならば自動認識するためframe-relay lmi-typeコマンドは必要ありません(図2)。
- (config-if)# frame-relay lmi-type [cisco | ansi | q933a} ・・・ LMIタイプを決定する

InverseARPを使用せず,手動で静的にIPアドレスとDLCIを設定したい場合は,frame-relay mapコマンドを使用します(図3)。
- (config-if)# frame-relay map ip [IPアドレス] [DLCI] {broadcast}
- {broadcast}
- オプション。VCでブロード/マルチキャストを使用可能にする
- {broadcast}

フレームリレーで1つの物理回線(インタフェース)で複数のVCを使用している場合,ルーティングプロトコルの運用で問題が発生する場合があります(図4)。

これを防ぐため,物理インタフェースをVCごとにサブインタフェースに分割します。サブインタフェースは1つの物理インタフェースを論理的に複数にわけるインタフェースになります。スイッチング編の第6回のVLAN間ルーティングでも登場しています。フレームリレーのサブインタフェースの場合,フレームリレーの設定に合わせて2つのモードが存在します。
- point-to-point ・・・ 1つのサブインタフェースで1つのVC。VCごとに別サブネットとして運用される
- multipoint ・・・ 1つのサブインタフェースで複数のVC。すべてのVCが一つのサブネットとして運用される。スプリットホライズンの問題は解決されない。
サブインタフェースの設定には次のコマンドを使用します。
- (config)# interface serial [ポート].[サブインタフェース] {point-to-point | multipoint}
さらにpoint-to-pointに設定した場合,それぞれのインタフェースとDLCIを結びつける必要があります。
- (config-subif)# frame-relay interface-dlci [DLCI] ・・・ そのサブインタフェースで使用するVCのDLCIを設定する
それぞれpoint-to-pointの場合とmultipointの場合の設定は次のようになります(図5・図6)。


フレームリレーの状態を確認したい場合,主に使用されるコマンドは次になります。
- # show interfaces ・・・ インタフェースの状態の確認
- # show frame-relay map ・・・ IPアドレスとDLCIの対応の確認(静的・動的双方表示される)
- # show frame-relay lmi ・・・ LMIのタイプや状態の確認
- # show frame-relay pvc {interface インタフェース番号 | DLCI} ・・・ PVCの状態確認。FECN/BECNなどの確認も
- # debug frame-relay lmi ・・・ LMIを正しく送受信しているか確認する