例:VPLS設定(BGPシグナリング)
図 1 では、ルーター PE1 と PE2 の間でシンプルな VPLS トポロジーが有効になっています。CEルーターCE1およびCE2は、イーサネットベースのインターフェイスを使用してVLAN 600をローカルPEルーターに接続します。PEルーターPE1とPE2は、MPLS、BGP、RSVP、OSPFを実行するサービスプロバイダバックボーンを介して有効にされるLSPによって相互に接続されています。
greenという名前のVPLSルーティングインスタンスでは、PE1はローカルインターフェイスge-0/1/0 とvt-0/3/0.32770の仮想ポートを持っています(仮想ポートは、VPLSが設定されている場合、トンネルサービスPIC上で動的に作成されます)。PE2は、同じgreenインスタンスにローカルインターフェイスge-0/1/0とvt-0/3/0.32771の仮想ポートを持っています。その結果、ルーターCE1とCE2は、あたかもLAN上で物理的に接続されているかのように、イーサネットトラフィックを相互に送信します。
ルーターCE1では、設定する必要があるのはPE1に接続するインターフェイスだけです。後でCE2で照合できるように、VLAN識別子とIPアドレスを必ず書き留めておいてください。
ルーターCE1
[edit]
interfaces {
ge-0/1/0 {
vlan-tagging; # Configure VLAN tagging for VLAN VPLS or extended VLAN VPLS.
unit 0 {
vlan-id 600; # The Ethernet interface on CE2 must use the same VLAN ID.
family inet {
address 10.11.3.1/24; # The interface on CE2 must use the same prefix.
}
}
}
}
ルーターPE1がMXシリーズデバイスの場合、トンネルサービスインターフェイスを設定する必要があります。
MXシリーズルーターにトンネルインターフェイスを作成するには、[edit chassis fpc slot-number pic number]階層レベルでtunnel-servicesステートメントを含めます。トンネルインターフェイスの帯域幅を設定するには、[edit chassis fpc slot-number pic number tunnel services]階層レベルでbandwidthステートメントを含めます。
以下の例は、MXシリーズルーターのスロット0にインストールされたDPCのPFE 3に設定された1Gbpsの帯域幅のトンネルインターフェイスを示しています。
[edit chassis]
fpc 0 {
pic 3 {
tunnel services {
bandwidth 1g;
}
}
}
ルーターPE1で、BGP、MPLS、OSPF、RSVPを設定して、VPLS用ルーターを準備します。(これらのプロトコルは、VPLSを含むほとんどのレイヤー2 VPN関連アプリケーションの基礎となっています。)VPLSはレイヤー2 VPNと同じインフラストラクチャを内部BGPに使用するため、[edit protocols bgp group group-name family l2vpn]階層レベルにsignaling ステートメントを含めます。
signalingステートメントは、[edit protocols bgp group group-name family l2vpn]階層レベルでunicastステートメントに置き換わります。VPLSドメインとレイヤー2VPNを同時に設定する場合は、signalingステートメントを使用する必要があります。
次に、ルーターCE1に接続されたインターフェイスでVLANタグを設定します。物理インターフェイスレベルと論理インターフェイスレベルの両方にVLAN VPLSカプセル化を含めます。単一のVPLSインスタンスの一部であるすべてのイーサネットインターフェイスに、必ず同じVLAN IDを使用してください。最後に、VPLSルーティングインスタンスにインターフェイスを追加し、サイト範囲、サイトID番号、サイト名を指定します。
ルーターPE1
[edit]
interfaces {
ge-0/1/0 {
vlan-tagging;# Configure VLAN tagging for VLAN VPLS or extended VLAN VPLS.
encapsulation vlan-vpls; # Configure VPLS encapsulation on both the
unit 0 { # physical interface and the logical interface.
encapsulation vlan-vpls;
vlan-id 600;# The VLAN ID is the same one used by the CE routers.
}
}
so-1/1/0 {
unit 0 {
family inet {
address 10.11.1.5/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.245.14.218/32;
}
}
}
}
routing-options {
autonomous-system 69;
forwarding-table {
export exp-to-fwd; # Apply a policy that selects an LSP for the VPLS instance.
}
}
protocols {
rsvp {
interface all {
aggregate;
}
}
mpls {
label-switched-path pe1-to-pe2 { # Configure an LSP to reach other VPLS PEs.
to 10.245.14.219;
}
interface all;
}
bgp {
group vpls-pe {
type internal;
local-address 10.245.14.218;
family l2vpn { # VPLS uses the same infrastructure as Layer 2 VPNs
signaling; # for internal BGP.
}
neighbor 10.245.14.217;
neighbor 10.245.14.219;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface so-1/1/0.0 {
metric 11;
}
interface lo0.0 {
passive;
}
}
}
}
policy-options {
policy-statement exp-to-fwd {
term a {
from community grn-com; # Matches the community in the VPLS instance.
then {
install-nexthop lsp pe1-to-pe2; # If there are multiple LSPs that exist
accept; # between VPLS PE routers, this statement sends VPLS traffic
} # over a specific LSP.
}
}
community grn-com members target:11111:1; # Adds the instance to a BGP
} # community.
routing-instances {
green {
instance-type vpls; # Configure a VPLS routing instance.
interface ge-0/1/0.0;
route-distinguisher 10.245.14.218:1;
vrf-target target:11111:1; # This value is important to the BGP community.
protocols {
vpls { # Configure a VPLS site range, site name, and site identifier.
site-range 10;
site greenPE1 {
site-identifier 1;
}
}
}
}
}
ルーターP0で、BGP、MPLS、OSPF、およびRSVPを設定して、PE1とPE2を相互接続します。
ルーターP0
[edit]
interfaces {
so-0/0/0 {
unit 0 {
family inet {
address 10.11.2.6/30;
}
family mpls;
}
}
so-1/1/0 {
unit 0 {
family inet {
address 10.11.1.6/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.245.14.217/32;
}
}
}
}
routing-options {
autonomous-system 69;
}
protocols {
rsvp {
interface all {
aggregate;
}
}
mpls {
interface all;
}
bgp {
group vpls-pe {
type internal;
local-address 10.245.14.217;
family l2vpn { # VPLS uses the same infrastructure as Layer 2 VPNs
signaling; # for internal BGP.
}
neighbor 10.245.14.218;
neighbor 10.245.14.219;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface so-1/1/0.0 {
metric 11;
}
interface so-0/0/0.0 {
metric 15;
}
interface lo0.0 {
passive;
}
}
}
}
ルーターPE2がMXシリーズデバイスの場合、トンネルサービスインターフェイスを設定する必要があります。
MXシリーズルーターにトンネルインターフェイスを作成するには、[edit chassis fpc slot-number pic number]階層レベルでtunnel-servicesステートメントを含めます。トンネルインターフェイスの帯域幅を設定するには、[edit chassis fpc slot-number pic number]階層レベルでbandwidthステートメントを含めます。
以下の例は、MXシリーズルーターのスロット0にインストールされたDPCのPFE 3に設定された1Gbpsの帯域幅のトンネルインターフェイスを示しています。
[edit chassis]
fpc 0 {
pic 3 {
tunnel services {
bandwidth 1g;
}
}
}
ルーターPE2では、BGP、MPLS、OSPF、およびRSVPを設定し、PE1の設定を補完します。次に、ルーターCE2に接続されたインターフェイスでVLANタグを設定します。物理インターフェイスレベルと論理インターフェイスレベルの両方にVLAN VPLSカプセル化を含めます。単一のVPLSインスタンスの一部であるすべてのイーサネットインターフェイスに、必ず同じVLAN IDを使用してください。最後に、VPLSルーティングインスタンスにインターフェイスを追加し、サイト範囲、サイトID番号、サイト名を指定します。
ルーターPE2
[edit]
interfaces {
ge-0/1/0 {
vlan-tagging; # Configure VLAN tagging for VLAN VPLS or extended VLAN VPLS.
encapsulation vlan-vpls; # Configure VPLS encapsulation on both the
unit 0 { # physical interface and logical interface.
encapsulation vlan-vpls;
vlan-id 600;# The VLAN ID is the same one used by the CE routers.
}
}
so-0/0/0 {
unit 0 {
family inet {
address 10.11.2.5/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.245.14.219/32;
}
}
}
}
routing-options {
autonomous-system 69;
forwarding-table {
export exp-to-fwd; # Apply a policy that selects an LSP for the VPLS instance.
}
}
protocols {
rsvp {
interface all {
aggregate;
}
}
mpls {
label-switched-path pe2-to-pe1 { # Configure an LSP to other VPLS PE routers.
to 10.245.14.218;
}
interface all;
}
bgp {
group vpls-pe {
type internal;
local-address 10.245.14.219;
family l2vpn { # VPLS uses the same infrastructure as Layer 2 VPNs
signaling; # for internal BGP.
}
neighbor 10.245.14.217;
neighbor 10.245.14.218;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface so-0/0/0.0 {
metric 15;
}
interface lo0.0 {
passive;
}
}
}
}
policy-options {
policy-statement exp-to-fwd {
term a {
from community grn-com; # Matches the community with the VPLS instance.
then {
install-nexthop lsp pe2-to-pe1; # If there are multiple LSPs that exist
accept; # between VPLS PE routers, this statement sends VPLS traffic
} # over a specific LSP.
}
}
community grn-com members target:11111:1; # This adds the instance into a BGP community.
}
routing-instances {
green {
instance-type vpls; # Configure a VPLS routing instance.
interface ge-0/1/0.0;
route-distinguisher 10.245.14.219:1;
vrf-target target:11111:1; # This value is important for the BGP community.
protocols {
vpls { # Configure a VPLS site range, site name, and site identifier.
site-range 10;
site greenPE2 {
site-identifier 2;
}
}
}
}
}
ルーターCE2で、PE2に接続するインターフェイスを設定してVPLSネットワークを完成させます。ルーターCE1で使用したものと同じVLAN識別子とIPアドレスプレフィックスを使用します。
ルーターCE2
[edit]
interfaces {
ge-0/1/0 {
vlan-tagging; # Configure VLAN tagging for VLAN VPLS or extended VLAN VPLS.
unit 0 {
vlan-id 600; # The Ethernet interface on CE1 must use the same VLAN ID.
family inet {
address 10.11.3.2/24; # The interface on CE1 must use the same prefix.
}
}
}
}
作業の検証
VPLSが正しく動作していることを確認するには、以下のコマンドを使用します。
clear vpls mac-address instance instance-nameshow interfaces terseshow route forwarding-table family mplsshow route forwarding-table family vpls (destination | extensive | matching | table)show route instance (detail)show system statistics vplsshow vpls connectionsshow vpls statistics
次のセクションは、設定例の結果として、ルーターPE1でのこれらのコマンドの出力を示しています。
user@PE1> show interfaces terse
Interface Admin Link Proto Local Remote
so-1/1/0 up up
so-1/1/0.0 up up inet 10.11.1.5/30
mpls
so-1/1/1 up up
so-1/1/2 up up
so-1/1/3 up up
ge-0/1/0 up up
ge-0/1/0.0 up up vpls # This is the local interface
# interface.
ge-0/1/1 up up
ge-0/1/2 up up
ge-0/1/3 up up
gr-0/3/0 up up
ip-0/3/0 up up
mt-0/3/0 up up
pd-0/3/0 up up
pe-0/3/0 up up
vt-0/3/0 up up
vt-0/3/0.32770 up up # This is the dynamically generated virtual port.
dsc up up
fxp0 up up
fxp0.0 up up inet 192.186.14.218/24
fxp1 up up
fxp1.0 up up tnp 4
gre up up
ipip up up
lo0 up up
lo0.0 up up inet 10.245.14.218 --> 0/0
127.0.0.1 --> 0/0
inet6 fe80::2a0:a5ff:fe28:13e0
feee::10:245:14:218
lsi up up
mtun up up
pimd up up
pime up up
tap up up
user@PE1> show system statistics vpls
vpls:
0 total packets received
0 with size smaller than minimum
0 with incorrect version number
0 packets for this host
0 packets with no logical interface
0 packets with no family
0 packets with no route table
0 packets with no auxiliary table
0 packets with no corefacing entry
0 packets with no CE-facing entry
6 mac route learning requests # This indicates that VPLS is working.
6 mac routes learnt
0 mac routes aged
0 mac routes moved
VPLSの送信元と宛先のMACアドレスアカウンティング情報を表示するには、show route forwarding-table family vplsコマンドでdestination、extensive、matching、またはtable オプションを使用します。ディスプレイ出力を解析するときは、以下の点に留意してください。
VPLS MACアドレスアカウンティングは、VPLSインスタンスごとにMACアドレス単位で処理されます。すべての情報は、MACアドレステーブルのMACアドレスエントリーから取得されます。VPLS MACアドレスアカウンティングは、ローカルCEルーターでのみ実行されます。
送信元および宛先MACアドレスのVPLSカウンターは、エントリがタイムアウトするか、VPLSインスタンスが再起動されたときに、最も古いMACアドレスエントリがメモリバッファから削除されるまで継続的に増加します。
user@PE1> show route forwarding-table family vpls extensive Routing table: green.vpls [Index 2] VPLS: Destination: default Route type: dynamic Route reference: 0 Flags: sent to PFE Next-hop type: flood Index: 353 Reference: 1 Destination: default Route type: permanent Route reference: 0 Flags: none Next-hop type: discard Index: 298 Reference: 1 Destination: ge-0/1/0.0 Route type: dynamic Route reference: 0 Flags: sent to PFE Next-hop type: flood Index: 355 Reference: 1 Destination: bb:bb:bb:bb:bb:bb/48 # This MAC address belongs to remote CE2. Route type: dynamic Route reference: 0 Flags: sent to PFE, prefix load balance Next-hop type: indirect Index: 351 Reference: 4 Next-hop type: Push 800000, Push 100002(top) Next-hop interface: so-1/1/0.0 Destination: aa:aa:aa:aa:aa:aa/48 # This MAC address belongs to local CE1. Route type: dynamic Route reference: 0 Flags: sent to PFE, prefix load balance Next-hop type: unicast Index: 354 Reference: 2 Next-hop interface: ge-0/1/0.0 user@PE1> show route forwarding-table family vpls Routing table: green.vpls VPLS: Destination Type RtRef Next hop Type Index NhRef Netif default dynm 0 flood 353 1 default perm 0 dscd 298 1 ge-0/1/0.0 dynm 0 flood 355 1 bb:bb:bb:bb:bb:bb/48 # This MAC address belongs to remote CE2. dynm 0 indr 351 4 Push 800000, Push 100002(top) so-1/1/0.0 aa:aa:aa:aa:aa:aa/48 # This MAC address belongs to local CE1. dynm 0 ucst 354 2 ge-0/1/0.0 user@PE1> show route forwarding-table family mpls Routing table: mpls MPLS: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 19 1 0 user 0 recv 18 3 1 user 0 recv 18 3 2 user 0 recv 18 3 100000 user 0 10.11.1.6 swap 100001 so-1/1/0.0 800002 user 0 Pop vt-0/3/0.32770 vt-0/3/0.32770 (VPLS) user 0 indr 351 4 Push 800000, Push 100002(top) so-1/1/0.0 user@PE1> show route instance green detail green: Router ID: 0.0.0.0 Type: vpls State: Active Interfaces: ge-0/1/0.0 # This is the local interface. vt-0/3/0.32770 # This is the dynamically generated VPLS virtual port. Route-distinguisher: 10.245.14.218:1 Vrf-import: [ __vrf-import-green-internal__ ] Vrf-export: [ __vrf-export-green-internal__ ] Vrf-import-target: [ target:11111:1 ] Vrf-export-target: [ target:11111:1 ] Tables: green.l2vpn.0 : 2 routes (2 active, 0 holddown, 0 hidden) user@PE1> show vpls connections L2VPN Connections: Legend for connection status (St) OR -- out of range WE -- intf encaps != instance encaps EI -- encapsulation invalid Dn -- down EM -- encapsulation mismatch VC-Dn -- Virtual circuit down CM -- control-word mismatch -> -- only outbound conn is up CN -- circuit not present <- -- only inbound conn is up OL -- no outgoing label Up -- operational NC -- intf encaps not CCC/TCC XX -- unknown NP -- interface not present Legend for interface status Up -- operational Dn -- down Instance: green Local site: greenPE1 (1) connection-site Type St Time last up # Up trans 2 rmt Up Jan 24 06:26:49 2003 1 Local interface: vt-0/3/0.32770, Status: Up, Encapsulation: VPLS Remote PE: 10.245.14.219, Negotiated control-word: No Incoming label: 800002, Outgoing label: 800000 user@PE1> show system statistics vpls vpls: 0 total packets received 0 with size smaller than minimum 0 with incorrect version number 0 packets for this host 0 packets with no logical interface 0 packets with no family 0 packets with no route table 0 packets with no auxiliary table 0 packets with no corefacing entry 0 packets with no CE-facing entry 7 mac route learning requests 7 mac routes learnt 0 mac routes aged 0 mac routes moved user@PE1> show route instance green detail green: Router ID: 0.0.0.0 Type: vpls State: Active Interfaces: ge-0/1/0.0 vt-0/3/0.32770 Route-distinguisher: 10.245.14.218:1 Vrf-import: [ __vrf-import-green-internal__ ] Vrf-export: [ __vrf-export-green-internal__ ] Vrf-import-target: [ target:11111:1 ] Vrf-export-target: [ target:11111:1 ] Tables: green.l2vpn.0 : 2 routes (2 active, 0 holddown, 0 hidden) user@PE1> show vpls statistics Layer-2 VPN Statistics: Instance: green Local interface: ge-0/1/0.0, Index: 351 Remote provider edge router: 10.245.14.219 Multicast packets: 363 Multicast bytes : 30956 Flood packets : 0 Flood bytes : 0 Local interface: vt-0/3/0.32770, Index: 354 Remote provider edge router: 10.245.14.219 Multicast packets: 135 Multicast bytes : 12014 Flood packets : 135 Flood bytes : 12014
VPLSテーブルからVPLSインスタンスのすべてのMACアドレスエントリをクリアするには、 clear vpls mac-address instance instance-name コマンドを発行します。 logical-system logical-system-name オプションを追加して、論理システム内のVPLSインスタンスのエントリーをクリアします。 mac-address オプションを使用して、個々のMACアドレスを削除します。