今回はViptelaのオーバレイネットワークでの通信の仕様の理解度を深めるために、Labelについて説明します。
概要
Labelについて
vEdgeで複数のVPNを設定している場合、オーバレイトンネル経由で複数のVPNのパケットを受信します。
この際、どのようなメカニズムで、vEdgeは受信したパケットを、適切なVPNに渡しているか疑問に思わないでしょうか。
実は、各vEdgeにおいて、VPNにはLabelと呼ばれる一意の値が割り当てられます。
オーバレイ経由でパケットを転送する際、vEdgeはパケットに対してMPLS等で使用されるShimヘッダを挿入します。
このShimヘッダに、パケットの転送先のvEdgeのVPNに対応するLabelが格納されます。
オーバレイ経由でパケットを受信したvEdgeは、パケットに付加されたShimヘッダのLabelを基に、パケットを適切なVPNに渡します。
検証環境、内容
検証内容
パケットに付加されたLabelを確認するために、vEdge1とvEdge2間でGREを使用してオーバレイトンネルを構築します。
vEdge1とvEdge2において、VPN 10とVPN 20を作成します。
Site 2からSite 1にPingを実施し、パケットに付加されたLabelを確認します。
物理/論理構成
オーバレイネットワーク構成
初期設定
system
system-ip 10.1.10.11
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface eth0
ip address 172.16.10.11/24
tunnel-interface
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vBond
system-ip 10.1.10.21
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21 local vbond-only
!
vpn 0
interface ge0/0
ip address 172.16.10.21/24
tunnel-interface
encapsulation ipsec
!
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vSmart
system-ip 10.1.10.31
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface eth0
ip address 172.16.10.31/24
tunnel-interface
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vEdge1
system-ip 1.1.1.1
site-id 1
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface ge0/0
ip address 172.16.1.1/24
tunnel-interface
encapsulation gre
color biz-internet restrict
!
no shutdown
!
ip route 0.0.0.0/0 172.16.1.254
!
vpn 10
interface ge0/1
ip address 10.1.1.1/24
no shutdown
!
vpn 20
interface ge0/2
ip address 10.2.2.1/24
no shutdown
system
host-name vEdge2
system-ip 2.2.2.2
site-id 2
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface ge0/0
ip address 172.16.2.2/24
tunnel-interface
encapsulation gre
color biz-internet restrict
!
no shutdown
!
ip route 0.0.0.0/0 172.16.2.254
!
vpn 10
interface ge0/1
ip address 20.1.1.2/24
no shutdown
!
vpn 20
interface ge0/2
ip address 20.2.2.2/24
no shutdown
interface GigabitEthernet2
ip address 10.1.1.11 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.1
interface GigabitEthernet2
ip address 10.2.2.12 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.2.2.1
interface GigabitEthernet2
ip address 20.1.1.13 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.1.1.2
interface GigabitEthernet2
ip address 20.2.2.14 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.2.2.2
interface GigabitEthernet2
ip address 172.16.1.254 255.255.255.0
!
interface GigabitEthernet3
ip address 172.16.2.254 255.255.255.0
!
interface GigabitEthernet4
ip address 172.16.10.254 255.255.255.0
設定、動作確認
vEdgeの設定確認
今回、オーバレイトンネル上でパケットに付加されたLabelを確認するために、encapsulation greコマンドを設定し、オーバレイトンネルのカプセル化方式をGREに変更します。
また、VPN 10とVPN 20を作成します。Labelは自動的に割り当てられるため、特別なコマンドは不要です。
vpn 0
interface ge0/0
tunnel-interface
encapsulation gre
!
!
!
vpn 10
interface ge0/1
ip address 10.1.1.1/24
no shutdown
!
vpn 20
interface ge0/2
ip address 10.2.2.1/24
no shutdown
VPNのLabelの確認
VPNに割り当てられたLabelはshow omp servicesコマンドで確認可能です。
vEdge1のVPN 10にはLabel 1003、VPN 20にはLabel 1004が割り当てられていることが確認できます。
vEdge1# show omp services
C -> chosen
I -> installed
Red -> redistributed
Rej -> rejected
L -> looped
R -> resolved
S -> stale
Ext -> extranet
Stg -> staged
Inv -> invalid
ADDRESS PATH
FAMILY VPN SERVICE ORIGINATOR FROM PEER ID LABEL STATUS
--------------------------------------------------------------------------------
ipv4 10 VPN 1.1.1.1 0.0.0.0 36 1003 C,Red,R
20 VPN 1.1.1.1 0.0.0.0 36 1004 C,Red,R
OMPのルート情報の確認
vEdge2でshow omp routeコマンドを実行すると、vEdge2はSite 1のルート情報と一緒に、ルート情報が所属するVPNのLabelも学習していることが確認できます。
vEdge2# show omp routes
Code:
C -> chosen
I -> installed
Red -> redistributed
Rej -> rejected
L -> looped
R -> resolved
S -> stale
Ext -> extranet
Inv -> invalid
Stg -> staged
U -> TLOC unresolved
PATH ATTRIBUTE
VPN PREFIX FROM PEER ID LABEL STATUS TYPE TLOC IP COLOR ENCAP PREFERENCE
-------------------------------------------------------------------------------------------------------
10 10.1.1.0/24 10.1.10.31 223 1003 C,I,R installed 1.1.1.1 biz-internet gre -
10 20.1.1.0/24 0.0.0.0 36 1003 C,Red,R installed 2.2.2.2 biz-internet gre -
20 10.2.2.0/24 10.1.10.31 224 1004 C,I,R installed 1.1.1.1 biz-internet gre -
20 20.2.2.0/24 0.0.0.0 36 1004 C,Red,R installed 2.2.2.2 biz-internet gre -
オーバレイトンネル上でのパケットに付加されたLabelの確認
VPN 10において、R3からR1に対してPingを実施します。
オーバレイトンネル経由でvEdge2からvEdge1に転送されたICMP EchoにShimヘッダが挿入されていることが確認できます。また、Labelが1003であることが確認できます。
次に、VPN 20において、R4からR2に対してPingを実施します。
ShimヘッダのLabelが1004であることが確認できます。
このように、Labelを使用することで、vEdgeはオーバレイ経由で受信したパケットを適切なVPNに渡すことができます。
コメント