今回はLISPのIP Mobilityにおいて、ホストが異なるサブネットに移動した際の動作を見ていきたいと思います。
概要
異なるサブネットへのIP Mobility
LISPのASMのIP Mobilityでは、異なるサブネットへのIP Mobilityをサポートしています。
同一サブネット上でのASMのIP Mobilityと動作の原理は同じですので、動作の詳細を知りたい方は、こちらの記事を参照の程よろしくお願いします。
異なるサブネットに移動した場合、以下のネットワークアドレスが一致しない問題が発生します。
- IP Mobilityで移動したホストのアドレス
- ホストの移動先の拠点のxTRのLAN側のアドレス
この問題は、IP Mobilityが発生する拠点のxTRでHSRPやVRRPを設定し、同じMACアドレスを保持させるだけで解消できます。
ホストのアドレスとxTRのLAN側のアドレスのネットワークアドレスは異なりますが、移動前後のxTRは同じMACアドレスを保持しているため、ホストは通信を継続できます。
IP Mobility発生後、もしホストがデフォルトゲートウェイに対応するMACアドレスの解決を試みた場合、xTRはProxy ARPによって、自身のMACアドレスを返信します。
検証環境、内容
検証内容
R1をMR/MS、R2とR3をxTRとして動作させます。
R2はEID-Prefixが10.1.1.0/24、RLOCが172.16.1.2のマッピング情報をR1に登録します。
R3はEID-Prefixが10.2.2.0/24、RLOCが172.16.1.3のマッピング情報をR1に登録します。
R4はEID-Prefixが10.3.3.0/24、RLOCが172.16.1.4のマッピング情報をR1に登録します。
R3とR4で10.2.2.0/25に含まれるホストを検出した際、動的にIPアドレスをR1に登録します。
10.2.2.0/24から10.3.3.0/24にR6を移動させた際の動作を確認します。
設定
interface GigabitEthernet2
ip address 172.16.1.1 255.255.255.0
!
router lisp
service ipv4
map-server
map-resolver
exit-service-ipv4
!
site Site_1
authentication-key Zaq12wsx!@
eid-record 10.1.1.0/24
eid-record 10.2.2.0/24 accept-more-specifics
eid-record 10.3.3.0/24
exit-site
!
exit-router-lisp
interface GigabitEthernet2
ip address 172.16.1.2 255.255.255.0
!
interface GigabitEthernet3
ip address 10.1.1.2 255.255.255.0
!
router lisp
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr
exit-service-ipv4
!
instance-id 0
service ipv4
eid-table default
database-mapping 10.1.1.0/24 172.16.1.2 priority 1 weight 50
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
interface GigabitEthernet2
ip address 172.16.1.3 255.255.255.0
!
interface GigabitEthernet3
ip address 10.2.2.3 255.255.255.0
standby 1 ip 10.2.2.254
lisp mobility DYNAMIC_EID
!
router lisp
locator-set RLOC
172.16.1.3 priority 1 weight 50
exit-locator-set
!
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr
exit-service-ipv4
!
instance-id 0
dynamic-eid DYNAMIC_EID
database-mapping 10.2.2.0/25 locator-set RLOC
exit-dynamic-eid
!
service ipv4
eid-table default
database-mapping 10.2.2.0/24 locator-set RLOC
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
interface GigabitEthernet2
ip address 172.16.1.4 255.255.255.0
!
interface GigabitEthernet3
ip address 10.3.3.4 255.255.255.0
standby 1 ip 10.3.3.254
lisp mobility DYNAMIC_EID
!
router lisp
locator-set RLOC
172.16.1.4 priority 1 weight 50
exit-locator-set
!
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr
exit-service-ipv4
!
instance-id 0
dynamic-eid DYNAMIC_EID
database-mapping 10.2.2.0/25 locator-set RLOC
exit-dynamic-eid
!
service ipv4
eid-table default
database-mapping 10.3.3.0/24 locator-set RLOC
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
interface GigabitEthernet2
ip address 10.1.1.5 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.2
interface GigabitEthernet2
ip address 10.2.2.6 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.2.2.254
設定内容の確認
MR/MSの設定確認
MR/MSとして動作させるR1では、IP Mobilityが発生するEID-Prefixにおいて、accept-more-specificsオプションを指定するのみです。
router lisp
site Site_1
eid-record 10.2.2.0/24 accept-more-specifics
xTRの設定の確認
R3は前回の記事と設定は同様です。
R4でも同様にIP Mobilityが発生するセグメントとして10.2.2.0/25を定義し、インタフェースに適用します。
また、R3とR4に同じMACアドレスを保持させるために、HSRPを設定します。
interface GigabitEthernet3
standby 1 ip 10.3.3.254
lisp mobility DYNAMIC_EID
!
router lisp
locator-set RLOC
172.16.1.4 priority 1 weight 50
exit-locator-set
!
instance-id 0
dynamic-eid DYNAMIC_EID
database-mapping 10.2.2.0/25 locator-set RLOC
exit-dynamic-eid
!
service ipv4
eid-table default
database-mapping 10.3.3.0/24 locator-set RLOC
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
IP Mobility発生前の状態確認
構成
IP Mobility発生前の状態を確認します。
Dynamic EID検出前の状態確認
R4は10.2.2.0/24のセグメントを保持してないため、R1のMapping Databaseでは、10.2.2.0/24のRLOCとしてR3の172.16.1.3のみが存在していることが確認できます。
R1#show lisp site 10.2.2.0/24
LISP Site Registration Information
Site name: Site_1
Allowed configured locators: any
Requested EID-prefix:
EID-prefix: 10.2.2.0/24
First registered: 00:01:30
Last registered: 00:01:25
Routing table tag: 0
Origin: Configuration, accepting more specifics
Merge active: No
Proxy reply: No
Skip Publication: No
Force Withdraw: No
TTL: 1d00h
State: complete
Registration errors:
Authentication failures: 0
Allowed locators mismatch: 0
ETR 172.16.1.3:30825, last registered 00:01:25, no proxy-reply, map-notify
TTL 1d00h, no merge, hash-function sha1, nonce 0xE769CF0B-0x94942CFD
state complete, no security-capability
xTR-ID 0xDF60874D-0x650058BC-0x95BF9609-0xA9E73690
site-ID unspecified
Domain-ID unspecified
Multihoming-ID unspecified
sourced by reliable transport
Locator Local State Pri/Wgt Scope
172.16.1.3 yes up 1/50 IPv4 none
また、現在はDynamic EIDの検出前なので、R3の検出したDynamic EIDの数が0であることが確認できます。
R3#show lisp dynamic-eid
% Command accepted but obsolete, unreleased or unsupported; see documentation.
LISP Dynamic EID Information for router 0, IID 0, EID-table VRF "default"
Dynamic-EID name: DYNAMIC_EID
Database-mapping EID-prefix: 10.2.2.0/25, locator-set RLOC
Registering more-specific dynamic-EIDs
Map-Server(s): none configured, use global Map-Server
Site-based multicast Map-Notify group: none configured
Number of roaming dynamic-EIDs discovered: 0
Dynamic EID検出後の状態確認
R6からARPフレームを送信します。
R3がDynamic EIDとして10.2.2.6を検出していることが確認できます。
R3#show lisp dynamic-eid
% Command accepted but obsolete, unreleased or unsupported; see documentation.
LISP Dynamic EID Information for router 0, IID 0, EID-table VRF "default"
Dynamic-EID name: DYNAMIC_EID
Database-mapping EID-prefix: 10.2.2.0/25, locator-set RLOC
Registering more-specific dynamic-EIDs
Map-Server(s): none configured, use global Map-Server
Site-based multicast Map-Notify group: none configured
Number of roaming dynamic-EIDs discovered: 1
Last dynamic-EID discovered: 10.2.2.6, 00:00:15 ago
R3のルーティングテーブルに、Dynamic EIDとして検出した10.2.2.6が投入されていることが確認できます。
R3#show ip route
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C 10.2.2.0/24 is directly connected, GigabitEthernet3
L 10.2.2.3/32 is directly connected, GigabitEthernet3
l 10.2.2.6/32 [10/1] via 10.2.2.6, 00:01:30, GigabitEthernet3
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet2
L 172.16.1.3/32 is directly connected, GigabitEthernet2
R3はDynamic EIDを検出後、R1にMap Registerメッセージを送信し、10.2.2.6を登録します。
この際、R4は10.2.2.0/24を登録してないため、R1はR4に対して10.2.2.6の存在を通知するためのMap Notifyメッセージは送信しません。
以下は、Map Registerメッセージ受信後のR1の状態になります。
Dynamic IDとして検出した10.2.2.6とRLOCのマッピング情報が存在することが確認できます。
R1#show lisp site 10.2.2.6/32
LISP Site Registration Information
Site name: Site_1
Allowed configured locators: any
Allowed EID-prefixes:
EID-prefix: 10.2.2.6/32
First registered: 00:01:51
Last registered: 00:01:51
Routing table tag: 0
Origin: Dynamic, more specific of 10.2.2.0/24
Merge active: No
Proxy reply: No
Skip Publication: No
Force Withdraw: No
TTL: 1d00h
State: complete
Registration errors:
Authentication failures: 0
Allowed locators mismatch: 0
ETR 172.16.1.3:30825, last registered 00:01:51, no proxy-reply, map-notify
TTL 1d00h, no merge, hash-function sha1, nonce 0xE769CF0B-0x94942CFD
state complete, no security-capability
xTR-ID 0xDF60874D-0x650058BC-0x95BF9609-0xA9E73690
site-ID unspecified
Domain-ID unspecified
Multihoming-ID unspecified
sourced by reliable transport
Locator Local State Pri/Wgt Scope
172.16.1.3 yes up 1/50 IPv4 none
R1はR4に対して10.2.2.6の存在を通知するためのMap Notifyメッセージを送信していないため、R4は10.2.2.6/32を認識していないことが確認できます。
R4#show ip lisp map-cache
LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries
0.0.0.0/0, uptime: 00:00:46, expires: 00:00:13, via static-send-map-request
Negative cache entry, action: send-map-request
10.2.2.0/25, uptime: 00:03:56, expires: never, via dynamic-EID, send-map-request
Negative cache entry, action: send-map-request
通信発生時の状態確認
R5の10.1.1.5からR6の10.2.2.6にトラフィックを送信します。
R2は10.2.2.6宛のパケットを受信した際、R1にMap Requestメッセージを送信し、RLOCとして172.16.1.3を学習します。
R2でshow ip lisp map-cacheコマンドを実行すると、10.2.2.6/32のRLOCとして172.16.1.3を学習していることが確認できます。
R2#show ip lisp map-cache
LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries
0.0.0.0/0, uptime: 00:00:30, expires: 00:00:29, via static-send-map-request
Negative cache entry, action: send-map-request
10.2.2.6/32, uptime: 00:00:36, expires: 23:59:23, via map-reply, complete
Locator Uptime State Pri/Wgt Encap-IID
172.16.1.3 00:00:36 up 1/50 -
R2はMap Cacheの情報を基に、10.2.2.6宛のパケットを172.16.1.3に転送します。
IP Mobility発生後の状態確認
構成
IP Mobiltiyが発生し、10.2.2.0/24から10.3.3.0/24にR6が移動した後の状態を確認します。
Dynamic EID検出後の状態確認
R6からARPフレームを送信します。
R4がDynamic EIDとして10.2.2.6を検出していることが確認できます。
R4#show lisp dynamic-eid
% Command accepted but obsolete, unreleased or unsupported; see documentation.
LISP Dynamic EID Information for router 0, IID 0, EID-table VRF "default"
Dynamic-EID name: DYNAMIC_EID
Database-mapping EID-prefix: 10.2.2.0/25, locator-set RLOC
Registering more-specific dynamic-EIDs
Map-Server(s): none configured, use global Map-Server
Site-based multicast Map-Notify group: none configured
Number of roaming dynamic-EIDs discovered: 1
Last dynamic-EID discovered: 10.2.2.6, 00:00:02 ago
R4のルーティングテーブルを見てみると、Dynamic EIDとして検出した10.2.2.6がルーティングテーブルに投入されていることが確認できます。
R4#show ip route
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
l 10.2.2.6/32 [10/1] via 10.2.2.6, 00:00:50, GigabitEthernet3
C 10.3.3.0/24 is directly connected, GigabitEthernet3
L 10.3.3.4/32 is directly connected, GigabitEthernet3
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet2
L 172.16.1.4/32 is directly connected, GigabitEthernet2
R4はDynamic EIDを検出後、R1にMap Registerメッセージを送信し、10.2.2.6のRLOCを更新します。
以下は、Map Registerメッセージ受信後のR1の状態になります。
10.2.2.6のRLOCが172.16.1.3から172.16.1.4に更新されたことが確認できます。
R1#show lisp site 10.2.2.6/32
LISP Site Registration Information
Site name: Site_1
Allowed configured locators: any
Allowed EID-prefixes:
EID-prefix: 10.2.2.6/32
First registered: 00:01:30
Last registered: 00:01:30
Routing table tag: 0
Origin: Dynamic, more specific of 10.2.2.0/24
Merge active: No
Proxy reply: No
Skip Publication: No
Force Withdraw: No
TTL: 1d00h
State: complete
Registration errors:
Authentication failures: 0
Allowed locators mismatch: 0
ETR 172.16.1.4:26222, last registered 00:01:30, no proxy-reply, map-notify
TTL 1d00h, no merge, hash-function sha1, nonce 0xAE38D63D-0xB897B24D
state complete, no security-capability
xTR-ID 0x71B85D01-0xECCD3586-0x54EDCE65-0xEC9A6875
site-ID unspecified
Domain-ID unspecified
Multihoming-ID unspecified
sourced by reliable transport
Locator Local State Pri/Wgt Scope
172.16.1.4 yes up 1/50 IPv4 none
R1は10.2.2.6のRLOCを更新後、10.2.2.0/24を登録しているR3にMap Notifyメッセージを送信し、10.2.2.6のR6が別拠点に移動したことを通知します。
R3が検出したDynamic EIDの数が0に変化したことが確認できます。
R3#show lisp dynamic-eid
% Command accepted but obsolete, unreleased or unsupported; see documentation.
LISP Dynamic EID Information for router 0, IID 0, EID-table VRF "default"
Dynamic-EID name: DYNAMIC_EID
Database-mapping EID-prefix: 10.2.2.0/25, locator-set RLOC
Registering more-specific dynamic-EIDs
Map-Server(s): none configured, use global Map-Server
Site-based multicast Map-Notify group: none configured
Number of roaming dynamic-EIDs discovered: 0
Last dynamic-EID discovered: 10.2.2.6, 00:05:29 ago
R3のルーティングテーブルから10.2.2.6/32が削除されたことが確認できます。
R3#show ip route
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.2.2.0/24 is directly connected, GigabitEthernet3
L 10.2.2.3/32 is directly connected, GigabitEthernet3
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, GigabitEthernet2
L 172.16.1.3/32 is directly connected, GigabitEthernet2
R3のMap Cacheに10.2.2.6/32が追加され、RLOCが172.16.1.4であることが確認できます。
R3#show ip lisp map-cache
LISP IPv4 Mapping Cache for EID-table default (IID 0), 4 entries
0.0.0.0/0, uptime: 00:00:53, expires: 00:00:06, via static-send-map-request
Negative cache entry, action: send-map-request
10.1.1.0/24, uptime: 00:03:03, expires: 23:56:56, via map-reply, complete
Locator Uptime State Pri/Wgt Encap-IID
172.16.1.2 00:03:03 up 1/50 -
10.2.2.0/25, uptime: 00:09:04, expires: never, via dynamic-EID, self, send-map-request
Negative cache entry, action: send-map-request
10.2.2.6/32, uptime: 00:00:31, expires: 00:00:29, via map-reply, self, forward-native
Locator Uptime State Pri/Wgt Encap-IID
172.16.1.4 00:00:31 up 1/50 -
通信発生時の状態確認
R5の10.1.1.5からR6の10.2.2.6にトラフィックを送信します。
R2のMap Cacheは更新されてないため、R2は10.2.2.6宛のパケットをR3に転送します。そして、R3は受信したパケットをR4に転送します。
R3は別拠点に移動した10.2.2.6宛のパケットを受信後、R2に対してSMRを送信して、10.2.2.6のRLOCの再解決を依頼します。
R2はSMRを受信後、R1にMap Requestメッセージを送信し、10.2.2.6のRLOCを172.16.1.3から172.16.1.4に更新します。
R2の10.2.2.6/32のRLOCが172.16.1.3から172.16.1.4に変更されたことが確認できます。
R2#show ip lisp map-cache
LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries
0.0.0.0/0, uptime: 00:00:45, expires: 00:00:15, via static-send-map-request
Negative cache entry, action: send-map-request
10.2.2.6/32, uptime: 00:04:52, expires: 23:59:45, via map-reply, complete
Locator Uptime State Pri/Wgt Encap-IID
172.16.1.4 00:00:14 up 1/50 -
これ以降、R2は10.2.2.6宛のパケットを受信した際、直接R4にパケットを転送します。
以下はR5の10.1.1.5からR6の10.2.2.6へのPingの実行結果になります。
10.3.3.0/24に移動したR6と疎通可能なことが確認できます。
R5#ping 10.2.2.6 source 10.1.1.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.2.6, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
コメント