MPLS

Multiprotocol Label Protocol (MPLS)

2005年9月16日更新

IOS12.3 MPLS Overview

MPLS

  • 昔はtag-switchingといっていた。tag-switchingとのコンフィグ下位互換性のため、mpls ...と設定してもrunning(startup)-config上tag-switchingと表示されるところもあり。びっくりしないこと。
  •  

Label Distribution Protocol (LDP)

IOS12.3 LDP Configuration Guide

  • LDPはTDP(Tag Distribution Protocol : シスコ独自のプロトコル)にかわる標準のラベル配布プロトコル
  • UDP/TCP 646を使用。(TDPはport 711)

設定

まずMPLSを動作させるため、CEF(Cisco Express Forwarding)を動作させる必要がある。(必須)

Router(config)# ip cef

インターフェースでLDP/TDPを動かし、MPLSを動作させる。(必須)

Router(config-if)# mpls ip

上記では、デフォルトではTDPが動作するため、LDPを使用するように設定必要。

すべてのインターフェースでLDPを使用する(または使用するプロトコルを選択する)ときには、Global Configuration Modeで設定。

Router(config)# mpls label protocol { tdp | ldp | both }

インターフェース毎で使用するプロトコルを選ぶときは、Interface Configuration Modeで設定。

Router(config-if)# mpls label protocol { tdp | ldp | both }

LDP Router ID

LDP Router IDは、

  1. ldp router-id で指定したインターフェースアドレス
  2. Loopbackアドレスで一番大きいもの
  3. UPしているインターフェースで一番大きなアドレス

の順で選択される。LDPはこのLDP Router IDをつかってTCPセッションをはるので、このアドレスは到達可能でなければならない。

Router(config)# mpls ldp router-id interface [ force ]

forceオプションをつけると、設定した時にすぐLDP router-idがかわる。このときLDPセッションは一度落ちる。ラベルもすべて割り当て直し。

注)ここで指定するLoopbackアドレスは/32であり、かつ/32でIGPでアドバタイズされねばならぬとあるが、本当?

Label Pool

使用するラベルの範囲の設定

Router(config)# mpls label range min max

デフォルトでは、min=16, max=1048575

MTUの調整

MPLSラベルは複数スタックできることができるので、特にLAN環境ではMTUサイズを超えてしまい問題となるケースがある。そのMTUの調整。

Router(config-if)# mpls mtu mtu-size

1ラベルあたり4byte(32bit)。2枚スタックしたら8byte大きくなる。LAN switchでjumbo frame設定しないといけないかも。

IP TTL Propagation

デフォルトでIPパケットのTTLをMPLSタグのTTLへ(または逆も)コピーする。たとえばtracerouteするとMPLS網のトポロジがわかるため、このTTLをコピーしないようにしたい。

Router(config)# no mpls ip propagate-ttl [ forwarded | local ]

オプションなしでは、すべてのパケットに対しコピーを行わない、つまりどこからトレースしてもMPLS網内では返さない。forwardedオプションつけると、転送するパケットのみコピーを行わない、つまり外部からのトレースには返さないが、自ルータからのトレースには返ってくる。localオプションではその逆。

Conditional Label Distribution

デフォルトでは、すべてのネットワークに対しラベルわりあて、すべてのネイバに対しアドバタイズされる。どのネットワークに対し、またどのネイバに対しラベルをアドバタイズするか、をコントロール。

Router(config)# mpls ldp advertise-labels  [ interface interface | for prefix-access-list [ to peer-access-list ] ] 

for prefix-access-list オプションで指定したネットワークに対しラベルを割り当てる。また、to peer-access-listオプションで指定したネイバに対しアドバタイズを行う。

show mpls ip binding detail で確認できる。

Cell Mode MPLS

ATMセルヘッダのVPI/VCIにラベル情報をわりつける方式をCell Modeという。ちなみに、L2とL3ヘッダの間にMPLSラベル(shimヘッダ)を挿入する方法はフレームモード。

Router(config)# interface ATMx/x.x mpls
 Router(config-if)# ip unnumbered interface
 Router(config-if)# mpls ip
 Router(config-if)# mpls label protocol [ ldp | tdp | both ]

ATMインターフェースに、MPLSサブインターフェースを作成。ip unnumbered推奨。あとはフレームモードと同じ。

VC merge

デフォルトでVC mergeは有効になっている。VC mergeとは、あるパケットがATM cellに分断されて、その間に他のパケットのcellが割り込まないようにすること。別のネットワークに対し、同じラベルを割り当ててしまうと、cellモードの場合はVPI/VCIにラベルいれるので区別できなくなってしまう。従って、cell間に他のパケットのcellが入り込むのを防ぐ。これを無効にする。

Router(config)# no mpls ldp atm vc-merge 

この場合、他のパケットのcellを区別するために別のラベルを割り当てる必要あり。

LC-ATMパラメータ

LC-ATM (cell modeのこと)のいろいろなパラメータ設定。

Router(config-if)# mpls atm control-vc vpi vci 

コントロールVCの設定。デフォルトは3/32。

Router(config-if)# mpls atm vpi vpi [ - vpi ] [ vci-range low - high ] 

ラベルに使用するVPI/VCIの範囲。

 

確認

MPLSの動作しているインターフェースを確認

Router# show mpls interfaces

LDPの隣接関係の確認

Router# show mpls ldp neighbor [ detail ]

LFIBの確認

Router# show mpls forwarding-table

 

TIPS

 

トラックバック(0)

トラックバックURL: http://blog.kslabs.net/mt/mt-tb.cgi/249

コメント(1)

コントロールVCの設定。デフォルトは0/32。

コメントする

KsLabs ?

ネットワークの技術的なことを中心に、日頃考えていることなどつらつらと記していきたいと思います。

ご意見・ご感想など
ks.networks@gmail.com

最近のコメント

Twitter Updates

Powered by Movable Type 4.261

From TestKing

メルマガ

シスコ認定、どうせとるなら「めざせ! CCIE」ということでメールマガジンを発行しています。

登録はこちらから
メールアドレス:
解除はこちらで
メールアドレス:
Powered by まぐまぐ

BlogPeople

BLOG PET

From Google