今回はLISPのProxy Replyと呼ばれる機能について説明します。
概要
Proxy Replyについて
xTRがEIDに対応するRLOCを解決する場合、xTRはMR/MSにMap Requestメッセージを送信します。
MR/MSはEIDに対応するRLOCを保持するxTRに対して、Map Requestメッセージを転送します。
そして、EIDに対応するRLOCを保持するxTRがMap Replyメッセージを返信します。
ここで、MR/MSがMap Requestメッセージを転送せずに、MR/MS自身がMap Replyメッセージを返信すれば良いのでは、と疑問に思う方もいると思います。
MR/MS自身がMap Replyメッセージを返信することも可能で、この動作をProxy Replyと呼びます。
Proxy Replyでは、xTRはMap Replyメッセージを受信後、Map Replyメッセージ経由で学習したRLOCに対してProbeを送信して、RLOCに到達可能かどうかを確認します。
LISP-MNについて
現在、LISPのxTRの処理を実施可能な無線端末が存在しており、この端末をLISP-MN(LISP Mobile Node)と呼びます。
LISP-MNはEIDとRLOCの2種類のIPアドレスを保持し、生成したパケットを自身でLISPでカプセル化して転送します。
他のホストがLISP-MNに対してパケットを送信する際、LISP-MNのEIDに対応するRLOCを解決するために、xTRはMR/MSにMap Requestメッセージを送信します。
MR/MSはLISP-MNにMap Requestメッセージを転送し、LISP-MNはxTRに対して自身のRLOCを格納したMap Replyメッセージを返信します。
LISP-MNは無線端末なため、この処理が頻繁に発生した場合、LISP-MNのバッテリーが激しく消費してしまいます。
ここで、Proxy Replyを使用することで、LISP-MNの処理はProbeへの応答のみになります。その結果、LISP-MNの処理負荷が減り、LISP-MNのバッテリーの消費を軽減できます。
検証の基本設定
基本設定の内容
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に登録します。
EIDに対応するRLOCを解決する際、Proxy Replyを使用します。
基本設定
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
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 map-server 172.16.1.1 proxy-reply
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
!
ip route 0.0.0.0 0.0.0.0 172.16.1.3
interface GigabitEthernet2
ip address 172.16.1.3 255.255.255.0
!
interface GigabitEthernet3
ip address 10.2.2.3 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 map-server 172.16.1.1 proxy-reply
etr
exit-service-ipv4
!
instance-id 0
service ipv4
eid-table default
database-mapping 10.2.2.0/24 172.16.1.3 priority 1 weight 50
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
interface GigabitEthernet2
ip address 10.1.1.4 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.5 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.2.2.3
設定内容と状態の確認
LISPの設定確認
MR/MSであるR1側では特別な設定は不要です。
xTRとして動作させるR2、R3ではetr map-server <MRのアドレス> proxy-replyコマンドを設定することで、自身が登録したEID-Prefixに関するMap RequestメッセージをMR/MSが受信した際に、MR/MSがProxy Replyで処理できるようになります。
router lisp
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr map-server 172.16.1.1 proxy-reply
etr
exit-service-ipv4
EID-PrefixとRLOCのマッピング情報登録時の様子
Proxy Replyが有効なxTRはMap Registerメッセージを送信する際、P(Proxy-Map-Reply)ビットをセットします。
これにより、MR/MSはPビットがセットされたEID-Prefixに対するMap Requestメッセージを受信した際、Proxy Replyで処理することができます。
以下はR1がMap Registerメッセージを受信した際のデバックになります。Pビットがセットされていることが確認できます。
R1#debug lisp control-plane all
*May 20 22:13:46.527: [MS] LISP-0: Processing received Map-Register(3) message on GigabitEthernet2 from 172.16.1.2:4342 to 172.16.1.1:4342.
*May 20 22:13:46.528: [MS] LISP: Received Map-Register proxy, map-notify, no merge, no security, no mobile-node, not to-RTR, no fast-map-register, no EID-notify, ID-included, 1 record, nonce 0xC3706C40-0xB28079B9, key-id 1, auth-data-len 20, hash-function sha1, xTR-ID 0xF180E005-0x7DEB7B41-0x6FFC3231-0xCD92F0F5, site-ID unspecified, domain-id none, multihoming-id none
*May 20 22:13:46.528: [MS] LISP-0: Received Map-Register mapping record for IID 0 SVC_IP_IAF_IPv4 10.1.1.0/24 LCAF 254, ttl 1440, action none, authoritative, 1 locator.
*May 20 22:13:46.528: [MS] LISP-0: 172.16.1.2 pri/wei/dID/mID=1/50/0/0 LpR.
以下はR2がR1に送信したMap Registerメッセージになります。Pビットがセットされていることが確認できます。
R1のMapping Databaseを確認すると、マッピング情報においてProxy Replyが有効になっていることが確認できます。
R1#show lisp site detail
LISP Site Registration Information
Site name: Site_1
Allowed configured locators: any
Allowed EID-prefixes:
EID-prefix: 10.1.1.0/24
First registered: 00:02:30
Last registered: 00:02:26
Routing table tag: 0
Origin: Configuration
Merge active: No
Proxy reply: Yes
Skip Publication: No
Force Withdraw: No
TTL: 1d00h
State: complete
Registration errors:
Authentication failures: 0
Allowed locators mismatch: 0
ETR 172.16.1.2:39497, last registered 00:02:26, proxy-reply, map-notify
TTL 1d00h, no merge, hash-function sha1, nonce 0xC3706C40-0xB28079B9
state complete, no security-capability
xTR-ID 0xF180E005-0x7DEB7B41-0x6FFC3231-0xCD92F0F5
site-ID unspecified
Domain-ID unspecified
Multihoming-ID unspecified
sourced by reliable transport
Locator Local State Pri/Wgt Scope
172.16.1.2 yes up 1/50 IPv4 none
EID-prefix: 10.2.2.0/24
First registered: 01:15:35
Last registered: 00:00:49
Routing table tag: 0
Origin: Configuration
Merge active: No
Proxy reply: Yes
Skip Publication: No
Force Withdraw: No
TTL: 1d00h
State: complete
Registration errors:
Authentication failures: 0
Allowed locators mismatch: 0
ETR 172.16.1.3:49595, last registered 00:00:49, proxy-reply, map-notify
TTL 1d00h, no merge, hash-function sha1, nonce 0xD00194B4-0x33546274
state complete, no security-capability
xTR-ID 0x3B292838-0x0D7337B7-0x09A588D6-0xEA0ABEB2
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
宛先のEIDに対応するRLOC解決時の様子
R2が10.2.2.5のRLOCを解決する際の様子を確認します。
以下はR1がMap Requestメッセージを受信した際のデバッグになります。R1がR2に対してMap Replyメッセージを直接返信していることが確認できます。
R1#debug lisp control-plane all
*May 20 22:20:26.394: [MS] LISP-0: Processing received Encap-Control(8) message on GigabitEthernet2 from 172.16.1.2:4342 to 172.16.1.1:4342.
*May 20 22:20:26.395: [MS] LISP-0: Processing received Map-Request(1) message on GigabitEthernet2 from 10.2.2.5:4342 to 10.2.2.5:4342.
*May 20 22:20:26.397: [MS] LISP-0: Received map request for IID 0 10.2.2.5/32, source_eid IID 0 10.1.1.4, ITR-RLOCs: 172.16.1.2, records 1, nonce 0xAC7AE03D-0x9E485CD3.
*May 20 22:20:26.399: [MS] LISP-0: MS EID IID 0 prefix 10.2.2.0/24 SVC_IP_IAF_IPv4 site Site_1, Sending proxy reply to 172.16.1.2.
以下は、R2が10.2.2.5のRLOCを解決する際に発生したMap Replyメッセージになります。Map Replyメッセージの送信元アドレスが172.16.1.1なので、R1がMap Replyメッセージを返信していることが確認できます。
R2はMap Replyメッセージ受信後、RLOCに到達可能か確認するために、R3の172.16.1.3に対してProbeを送信します。
以下はProbe送信時のR2のデバックになります。R2が172.16.1.3に対してProbeを送信していることが確認できます。
R2#debug lisp control-plane all
*May 20 22:20:26.209: [XTR] LISP: Send map request type remote EID RLOC
*May 20 22:20:26.210: [XTR] LISP: Send map request for EID prefix IID 0 10.2.2.0/24
*May 20 22:20:26.210: [XTR] LISP-0: Remote EID IID 0 prefix 10.2.2.0/24 [RRLOCset 0x7FC0DCCA4EC0 1/1] 172.16.1.3 pri/wei/dID/mID=1/50/0/0, Send RLOC probe (sources: , state: complete, rlocs: 1).
*May 20 22:20:26.210: LISP-0: EID-AF IPv4, Sending probe map-request from 172.16.1.2 to 172.16.1.3 for EID 10.2.2.0/24, ITR-RLOCs 1, nonce 0x81343BC6-0x7678BB90.
*May 20 22:20:26.211: [XTR] LISP-0: Remote shrRLOC 172.16.1.3, Reachability notification, up* allow* remote.
*May 20 22:20:26.212: [XTR] LISP-0: Remote EID IID 0 prefix 10.2.2.0/24, No more RLOCs pending rwatch update, schedule deferred fwd update (sources: , state: complete, rlocs: 1).
以下はR2が172.16.1.3に対して送信したProbeになります。ProbeはP(Proxy)ビットがセットされたMap Requestメッセージであることが確認できます。
R3はProbeを受信後、R2に対して到達可能であることを通知するメッセージを返信します。
以下はR3がProbeを受信した際のデバックになります。R3がR2に対してメッセージを返信していることが確認できます。
R3#debug lisp control-plane all
*May 20 22:20:26.401: [MS] LISP-0: Processing received Map-Request(1) message on GigabitEthernet2 from 172.16.1.2:4342 to 172.16.1.3:4342.
*May 20 22:20:26.402: [MS] LISP-0: Received map request for IID 0 10.2.2.0/24, source_eid UNSPEC, ITR-RLOCs: 172.16.1.2, records 1, nonce 0x81343BC6-0x7678BB90, probe.
*May 20 22:20:26.402: LISP: Processing map request record for EID prefix IID 0 10.2.2.0/24
*May 20 22:20:26.403: LISP-0: Sending map-reply from 172.16.1.3 to 172.16.1.2.
*May 20 22:20:35.517: [XTR] LISP-0: Remote EID IID 0 prefix 0.0.0.0/0, [mapping close to expire] Scheduling map requests delay 00:00:00 min_elapsed 00:00:01 (sources: , state: send-map-request, rlocs: 0).
*May 20 22:20:35.518: LISP-0: IID 0 Request processing of remote EID prefix map requests to IPv4.
以下はR3がR2に返信したメッセージになります。Probeに対する応答メッセージはP(Proxy)ビットがセットされたMap Replyメッセージであることが確認できます。
コメント