Viptela Labelについて

今回は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は自動的に割り当てられるため、特別なコマンドは不要です。

vEdge1

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

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

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に渡すことができます。

コメント

タイトルとURLをコピーしました